1 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
3 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4 (gst_base_transform_getcaps), (gst_base_transform_find_transform),
5 (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
6 Add beginnings of a more optimized acceptcaps function than the default
9 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
11 * gst/gstpad.c: (gst_pad_accept_caps):
12 Avoid getting the acceptcaps function too early.
14 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
16 * tools/gst-launch.c: (event_loop):
17 Make gst-launch handle LATENCY messages and make it recalculate the
20 2008-11-20 Michael Smith <msmith@songbirdnest.com>
22 * plugins/elements/gstfilesrc.c:
23 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
24 out own slightly incorrect version. Fixes use of some paths on
27 2008-11-20 Michael Smith <msmith@songbirdnest.com>
29 * gst/gstregistrybinary.c:
30 In win32 codepath, if we fail to write the registry, create the
31 directory for it and try again, matching the behaviour in non-win32
34 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
36 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
37 Changing the render delay changes the latency and so we must post a
40 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
44 Add GstQueryType for custom queries instead of having to use the
45 not-so-very-convenient registration infrastructure to register new
48 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
50 Patch by: Andrew Feren <acferen at yahoo dot com>
52 * gst/gstobject.c: (gst_object_default_deep_notify):
53 Unref the GEnumClass after usage again. Fixes bug #561501.
55 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
57 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
58 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
59 (gst_bin_change_state_func):
61 Add do-latency signal with the old default fallback implementation. This
62 allows for custom latency calculations for when the default is not
64 API: GstBin::do-latency signal.
66 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
68 * win32/common/libgstreamer.def:
69 Add new symbols to .def file.
71 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
73 * docs/gst/gstreamer-sections.txt:
74 * gst/gstbin.c: (gst_bin_recalculate_latency),
75 (gst_bin_change_state_func):
77 Add method to recalculate and redistribute the latency on a bin.
78 API: gst_bin_recalculate_latency().
80 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
83 Document the free_func.
85 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
87 * libs/gst/controller/gstinterpolation.c:
88 * libs/gst/controller/gstlfocontrolsource.c:
89 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
90 as it is mapped to a cast on non-win32 platforms.
92 2008-11-17 Stefan Kost <ensonic@users.sf.net>
94 * libs/gst/controller/gstcontroller.c:
95 * libs/gst/controller/gstcontrollerprivate.h:
96 Keep last-value and only call set_property if value has changed. This
97 supresses all the g_object_notifies we would trigger otherwise. It
98 also allows the user to chage the value while there is no controller
101 2008-11-17 Stefan Kost <ensonic@users.sf.net>
104 Don't crash if either of the string GValues is empty.
106 2008-11-17 Andy Wingo <wingo@pobox.com>
108 * tools/gst-inspect.c (print_all_uri_handlers): New function,
109 prints a summary of what URI schemes are supported by what
111 (main): Plumb in support for --uri-handlers or -u, and fix the
112 argc check for -a and -u.
114 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
117 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
118 conversion functions.
120 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
122 * gst/gstbuffer.c: (gst_buffer_finalize):
123 Avoid costly typechecking for trivially correct pointers.
125 * gst/gstpoll.c: (gst_poll_wait):
126 Add some G_LIKELY here and there.
128 * libs/gst/base/gstadapter.c: (gst_adapter_push):
131 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
133 * docs/random/wtay/poll-timeout:
136 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
138 * tests/old/testsuite/caps/intersection.c: (main):
139 * tests/old/testsuite/plugin/loading.c: (main):
140 Remove references to deprecated API g_mem_chunk*.
143 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
145 * tools/gst-inspect.c: (main):
146 Add --plugin option. Fixes #560301.
148 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
150 * docs/random/wtay/poll-timeout:
151 Quick braindump for a possible (not totally verified) atomic case.
153 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
155 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
156 (gst_registry_binary_initialize_magic),
157 (gst_registry_binary_write_cache),
158 (gst_registry_binary_check_magic):
159 * gst/gstregistrybinary.h:
160 Don't write and check a CRC for the binary registry file. It's
161 guaranteed that the registry is completely written (it's first written
162 to a temporary file and then moved) and if the registry was corrupted
163 by some hardware failure we would have bigger problems.
165 Bump binary registry version to 0.10.21.1 for this as it's an
166 incompatible change and to ensure that the registry gets rebuild
169 This saves some milliseconds for reading/writing the registry.
172 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
174 * docs/random/wtay/poll-timeout:
175 Some pseudo code for how we could implement clock timeouts with GstPoll.
177 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
179 * plugins/elements/gstfilesink.c:
180 Update Author string to match others.
182 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
184 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
185 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
186 being fixed and inline the trivial check.
188 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
190 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
191 (gst_caps_merge_structure), (gst_caps_get_structure),
192 (gst_caps_copy_nth), (gst_caps_set_simple),
193 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
194 (gst_caps_is_equal_fixed), (gst_caps_intersect),
195 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
196 (gst_caps_to_string):
197 Callgrind micro optimisations.
198 Avoid array bounds checks and force inline of trivial function.
200 * gst/gstobject.c: (gst_object_set_name_default):
201 -1 is equivalent to letting glib to the strlen but then there is more
202 room for optimisations and it's not our fault.
204 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
205 no need to clear the array, we're cool.
207 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
208 The most common _is_fixed() check is done on fundamental glib base
209 types so we check this first instead of doing a huge amount of
210 useless GST_TYPE_ARRAY calls.
212 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
215 Add a SKIP seek flag for use with advanced trickmodes.
216 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
218 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
220 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
221 No need to memset, we can clear the value ourselves.
223 * gst/gstvalue.c: (gst_type_is_fixed),
224 (gst_value_get_compare_func):
225 Some optimisations from a few callgrind sessions:
226 When checking if a type is fixed, check for trivial fundamental types
227 first before checking types for which we need to get the type followed
228 by the heavy duty type checks, this reduces the amount of
229 g_type_fundamental() calls a lot.
230 When getting the compare function, first check for our registered types.
231 If that fails, do the heavy duty g_type_is_a() checks, reduces the
232 amount of g_type_is_a() considerably.
234 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
236 * docs/design/part-TODO.txt:
237 Mumble something about removing GstXML.
239 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
241 * gst/gstbin.c: (gst_bin_handle_message_func):
242 Get the seqnum before we dispose the message.
244 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
246 * docs/design/part-TODO.txt:
247 Refer to the framestepping document.
249 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
251 * gst/gstbin.c: (bin_handle_async_start),
252 (gst_bin_handle_message_func), (gst_bin_query):
253 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
254 (gst_base_sink_event), (gst_base_sink_change_state):
255 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
256 (gst_base_src_loop), (gst_base_src_change_state):
257 Copy seqnums from events to messages so that they can all be related
260 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
262 * tools/gst-launch.c: (event_loop):
263 Print the message seqnums.
265 2008-11-04 Andy Wingo <wingo@pobox.com>
267 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
269 2008-11-04 Andy Wingo <wingo@pobox.com>
271 Add sequence numbers to events and messages. See #559250.
273 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
277 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
278 events with a new sequence number, and copy it when copying.
279 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
280 an event's sequence number.
283 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
284 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
287 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
289 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
291 * docs/manual/advanced-position.xml:
292 * docs/manual/basics-bins.xml:
293 * docs/manual/basics-bus.xml:
294 * docs/manual/basics-pads.xml:
295 * docs/manual/intro-gstreamer.xml:
296 * docs/manual/intro-preface.xml:
297 Some Application Development Manual fixes thanks to
298 Andrew Feren. Fixes #558459.
300 2008-11-03 Stefan Kost <ensonic@users.sf.net>
302 * gst/gstregistrybinary.c:
303 Don't bother with the GTimer if we don't output the results.
305 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
307 Patch by: David Schleef <ds@schleef.org>
309 * libs/gst/net/Makefile.am:
310 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
312 2008-10-31 Stefan Kost <ensonic@users.sf.net>
314 * gst/gstregistrybinary.c:
315 Oh my, studip, stupid me. Remove double stat() call.
317 2008-10-31 Stefan Kost <ensonic@users.sf.net>
320 Use g_unlink instead of unlink.
322 * gst/gststructure.c:
331 Formatting & whitespaces.
333 2008-10-31 Stefan Kost <ensonic@users.sf.net>
335 * plugins/elements/gstidentity.c:
336 Doc typo. Use return value of parent_class->event.
338 * plugins/elements/gsttypefindelement.c:
339 Chain up at the end for consistency.
341 2008-10-30 Stefan Kost <ensonic@users.sf.net>
344 * docs/gst/gstreamer-docs.sgml:
345 * docs/gst/gstreamer-sections.txt:
346 * docs/gst/running.xml:
347 * docs/libs/gstreamer-libs-docs.sgml:
348 Change to xinclude based build - its faster and easier to maintain.
350 2008-10-30 Stefan Kost <ensonic@users.sf.net>
352 * gst/gstregistrybinary.c:
353 * gst/gstregistryxml.c:
354 Use g_unlink() as none of these are directories.
356 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
358 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
361 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
363 * libs/gst/base/gstbasetransform.c:
364 (gst_base_transform_find_transform), (gst_base_transform_getrange):
365 If we have a fixate function, call it even if we already have fixed caps
366 because the subclass might add some caps. Makes audioconvert add a
367 default channel layout.
369 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
371 * libs/gst/base/gstbasetransform.c:
372 (gst_base_transform_prepare_output_buffer),
373 (gst_base_transform_getrange):
374 Clear the output buffer variable.
375 Cleanups to the error path in the getrange function.
378 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
380 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
381 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
382 Use gst_buffer_try_new_and_alloc() and handle errors instead of
383 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
386 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
388 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
389 Set the last_stop to a more meaningful position when configuring the
390 segment. ie. the start/stop of the segment or clipped against the
391 updated segment boundaries.
393 * tests/check/gst/gstsegment.c: (GST_START_TEST):
394 Add some unit tests for the last_stop.
396 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
398 * libs/gst/base/gstbytereader.c:
399 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
402 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
404 * docs/gst/gstreamer-sections.txt:
406 API: Move float endianness conversion macros from libgstfloatcast
407 to core as it's useful in general, even in core. Fixes bug #555196.
408 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
409 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
410 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
412 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
413 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
414 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
415 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
417 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
419 * docs/libs/gstreamer-libs-sections.txt:
420 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
421 (gst_byte_reader_peek_data):
422 * libs/gst/base/gstbytereader.h:
423 * win32/common/libgstbase.def:
424 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
425 to get a pointer to the data at the current position and have
428 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
431 Fix a bug in the output of the configure script summary
432 when --gst-disable-registry is supplied
434 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
436 * libs/gst/base/gstbitreader.c:
437 * libs/gst/base/gstbytereader.c:
438 Fix the names of 2 functions in the docs strings.
440 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
442 * libs/gst/base/gstbasetransform.c:
443 (gst_base_transform_prepare_output_buffer),
444 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
445 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
446 refcount problems as seen in banshee and maybe also in farsight2.
447 Remove atomic int now that we need to take the lock anyways.
449 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
451 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
452 (gst_base_sink_default_prepare_seek_segment),
453 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
454 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
455 (gst_base_sink_query):
456 Implement more seeking in pull mode.
457 Use pad convert functions to convert position to the requested format.
458 Fix position/duration reporting in pull mode.
459 Implement position and duration reporting in other formats than time.
461 * libs/gst/base/gstbasesink.h:
462 Add member to keep track of when the segment is playing.
464 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
466 * gst/gstpad.c: (gst_pad_configure_src):
467 When we use gst_pad_alloc_buffer() without wanting to set the caps we
468 also don't need to check if the caps are compatible because the caller
469 presumably is going to perform its own custom checks. Fixes some cases
470 where basetransform elements would error out when it was not needed.
472 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
474 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
477 * libs/gst/base/gstbasetransform.c:
478 (gst_base_transform_handle_buffer),
479 (gst_base_transform_reconfigure):
482 * win32/common/libgstbase.def:
485 2008-10-19 Stefan Kost <ensonic@users.sf.net>
487 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
488 Remove duplicated assignment and log a message in failure case.
490 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
492 Patch by: Dig Ge <dig.ge.cn at gmail com>
494 * tests/examples/helloworld/helloworld.c: (main):
495 Fix copy'n'paste bug in hello world example (#556900).
497 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
499 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
500 (gst_base_sink_query):
501 Query the total number of bytes when activating the pad in pull mode.
502 Implement duration query in pull mode by using the installed pad convert
503 function to convert from bytes to the requested format.
505 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
507 * docs/libs/gstreamer-libs-sections.txt:
508 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
509 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
510 (gst_base_sink_event), (gst_base_sink_perform_seek),
511 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
512 (gst_base_sink_send_event), (gst_base_sink_change_state):
513 * libs/gst/base/gstbasesink.h:
514 Add method to commit the state in subclasses.
515 Refactor the flush_start and flush_stop code because we need it for
516 flushing while seeking too.
517 Implement the beginnings of seeking in pull mode.
518 Use the segment last_stop field for the pulling offset.
519 Fix the pause method in pull mode.
520 Configure the segment to BYTES for pull mode.
521 API: GstBaseSink::gst_base_sink_do_preroll()
523 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
525 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
528 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
530 * gst/gstquark.c: (_priv_gst_quarks_initialize):
531 Fix printf format warning.
533 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
535 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
536 Fix flow aggregation of tee. Error out immediately for all flow returns
537 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
538 and return OK if at least one pad is linked.
540 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
541 and otherwise returned the flow return of the last pad, which is wrong.
543 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
544 (GST_START_TEST), (tee_suite):
545 Add unit tests for the flow aggregation.
547 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
549 * docs/design/part-TODO.txt:
550 Remove item from the todo list because it was fixed with the latency
551 state change rewrites.
553 * docs/design/part-seeking.txt:
554 * docs/design/part-segments.txt:
557 * gst/gstevent.c: (gst_event_new_new_segment_full),
558 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
559 (gst_event_parse_buffer_size), (gst_event_new_qos),
560 (gst_event_parse_qos), (gst_event_new_seek),
561 (gst_event_parse_seek), (gst_event_new_latency),
562 (gst_event_parse_latency):
563 Use quarks to construct and parse events.
565 * gst/gstquark.c: (_priv_gst_quarks_initialize):
567 Add some more quarks to the table.
568 Emit a warning when the quark tables are not in sync.
570 * tests/check/gst/gstbus.c: (GST_START_TEST):
573 2008-10-13 Stefan Kost <ensonic@users.sf.net>
575 * plugins/elements/Makefile.am:
576 * plugins/indexers/Makefile.am:
577 Don't install static libs for plugins. Fixes #550851 for core.
579 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
581 * gst/gstbus.c: (gst_bus_source_finalize),
582 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
583 (gst_bus_enable_sync_message_emission),
584 (gst_bus_disable_sync_message_emission),
585 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
586 Fix deadlock, g_source_get_id() cannot be called in finalize.
587 Keep track of the watch source by keeping a pointer to the source object
589 Use the bus lock to protect access to the pointer to the current
592 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
594 Base on Patch by: Olivier Crete <tester at tester dot ca>
596 * gst/gstbus.c: (gst_bus_source_finalize),
597 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
598 Only allow one bus watch to be set at a time. This is necessary
599 because the dispatcher pops the message from the bus and the second
600 watcher will then get NULL or the next message (and the first won't
601 get this next message then, etc). If more than one "watcher" is
602 required signal watches should be used. Fixes bug #526044.
604 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
606 * tools/gst-launch.c:
607 Change the printing of the 'buffering...' output to avoid putting
608 a \r in a translateable string (flagged by the TP).
610 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
613 Clarify that the save_thyself() and restore_thyself() virtual
614 functions of GstObject need to be overriden, not
615 gst_object_(save|restore)_thyself() which is impossible.
618 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
620 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
621 Revert a patch from 21 months ago that broke caps negotiation in pull
622 mode. Basically, having a buffer pass over a pad will trigger the
623 setcaps function when caps change, just like in push mode.
625 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
627 * docs/design/part-negotiation.txt:
628 Update the docs some more.
630 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
631 If we pull a buffer with non-trivial caps, suggest those caps with the
634 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
636 * docs/design/part-TODO.txt:
637 Add another limitation of pad-blocking with segment seeks not pushing
640 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
642 * win32/common/libgstbase.def:
643 * win32/common/libgstreamer.def:
644 Add new symbols to the win32 defs files
646 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
648 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
649 (gst_bin_handle_message_func):
650 The message src can be NULL, don't try to print the object names in that
653 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
654 Add some more debug info.
656 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
659 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
662 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
664 * docs/design/part-negotiation.txt:
667 * docs/libs/gstreamer-libs-sections.txt:
668 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
669 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
670 (gst_base_sink_init), (gst_base_sink_set_blocksize),
671 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
672 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
673 (gst_base_sink_loop), (gst_base_sink_pad_activate),
674 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
675 (gst_base_sink_change_state):
676 * libs/gst/base/gstbasesink.h:
677 Add blocksize property and methods to control the amount of data
679 Negotiate first before activating upstream in pull mode so that they can
680 negotiate themselves.
681 When we operate in pull mode, we only accept the caps that we
683 Make the sink go ASYNC to PAUSED, like all other sinks.
684 API: GstBaseSink::gst_base_sink_set_blocksize()
685 API: GstBaseSink::gst_base_sink_get_blocksize()
686 API: GstBaseSink::blocksize
688 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
689 (gst_base_src_set_live), (gst_base_src_is_live),
690 (gst_base_src_set_format), (gst_base_src_query_latency),
691 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
692 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
693 (gst_base_src_set_property), (gst_base_src_get_property):
694 * libs/gst/base/gstbasesrc.h:
695 Add typechecking in public API functions.
696 Add methods to control the blocksize in subclasses.
697 API: GstBaseSrc::gst_base_src_set_blocksize()
698 API: GstBaseSrc::gst_base_src_get_blocksize()
700 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
702 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
703 (buffer_probe), (event_probe), (GST_START_TEST):
704 We now see 3 events go through our pad, since basesink now sends
705 upstream latency events.
707 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
709 * gst/gstpipeline.c: (gst_pipeline_change_state):
710 Release the object lock before trying to flush the bus.
712 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
714 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
715 Forward LATENCY events upstreams so that elements know about the total
716 pipeline latency. Fixes #555307.
718 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
720 * plugins/elements/gstqueue.c:
721 Allow through queries when we don't know how
722 to adjust them (not TIME or BYTES), as otherwise it's
723 not possible to query the current position in order
724 to seek in other formats at all.
726 2008-10-08 Andy Wingo <wingo@pobox.com>
728 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
730 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
734 Unbreak -good build, private is a reserved c++ keyword.
736 2008-10-08 Andy Wingo <wingo@pobox.com>
738 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
739 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
740 removal: re-add GST_GHOST_PAD_CAST to the header.
742 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
743 (GstGhostPadClass): Publically expose these structures so as to
744 allow easy subclassing from C. Hide the member data behind a
745 private opaque data pointer.
747 * gst/gstghostpad.c: Adapt to store instance data in the type
748 instance's private data region, not in the public struct.
750 2008-10-08 Andy Wingo <wingo@pobox.com>
752 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
753 template via g_object_get(), be sure to unref it.
755 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
757 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
759 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
760 If we can't get a cache file don't try to save something to it.
761 Dereferencing NULL pointers usually isn't a good idea.
763 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
765 * tests/check/Makefile.am:
766 * tests/check/gst/gstabi.c:
767 * tests/check/gst/struct_sparc.h:
768 * tests/check/libs/libsabi.c:
769 * tests/check/libs/struct_sparc.h:
772 * tests/check/gst/gstvalue.c: (GST_START_TEST):
773 Cast signed integer to unsigned to avoid a compiler warning.
775 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
777 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
778 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
779 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
780 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
781 (gst_byte_reader_peek_int24_be):
782 Use new GST_READ_UINT24_(LE|BE) macros.
784 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
786 * docs/gst/gstreamer-sections.txt:
788 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
789 as it's too easy to break the ISO C strict aliasing rules with simple
790 casts to the corresponding type and this would introduce hard to debug
791 bugs. Fixes bug #545714.
793 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
795 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
797 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
798 * gst/gstghostpad.c: (gst_ghost_pad_construct):
799 Add 'Since' bits to gtk-doc chunks for new API.
801 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
803 * docs/gst/gstreamer-sections.txt:
806 2008-10-06 Andy Wingo <wingo@pobox.com>
808 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
809 that will be called on the malloc_data to free it. Basically a way
810 to avoid subclassing when all you need is a different free
811 function, i.e. free() instead of g_free().
813 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
814 calling the free function.
815 (gst_buffer_init): Initialize the free function to g_free.
817 2008-10-06 Andy Wingo <wingo@pobox.com>
820 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
821 finishes the initialization of ghost pad. Useful for language
822 bindings and subclassers of GstGhostPad. Fixes #539108.
823 (gst_ghost_pad_new_full): Use the new constructor.
825 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
827 Base on Patch by: Olivier Crete <tester at tester dot ca>
829 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
830 (gst_bin_remove_func), (update_degree),
831 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
832 Keep track of pads that are being linked/unlinked and resync the state
835 * gst/gstpad.c: (gst_pad_get_direction),
836 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
837 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
838 (gst_pad_link_prepare), (gst_pad_link),
839 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
840 (gst_pad_check_pull_range), (gst_pad_get_range),
841 (gst_pad_pull_range):
842 Some code cleanups, use macros to check pad direction.
843 Don't need to take the lock on the pad direction.
844 Post structure change when pads are linked/unlinked.
845 Change some checks into _return_if_fail().
847 * tests/check/gst/gstbin.c:
848 (test_link_structure_change_state_changed_sync_cb),
849 (GST_START_TEST), (gst_bin_suite):
850 Add testcase for pad link/unlinke resync during a state change.
853 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
855 * docs/gst/gstreamer-sections.txt:
856 * gst/gstmessage.c: (gst_message_new_structure_change),
857 (gst_message_parse_structure_change):
859 Implement STRUCTURE_CHANGED messages. These messages will be used to
860 signal the parent bin of link/unlink operations that could require a
861 resync when doing a state change. See ##510354.
862 API: gst_message_new_structure_change()
863 API: gst_message_parse_structure_change()
865 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
869 Add some more quarks for new message. See #510354.
871 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
873 * docs/libs/gstreamer-libs-docs.sgml:
874 * docs/libs/gstreamer-libs-sections.txt:
875 * libs/gst/base/Makefile.am:
876 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
877 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
878 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
879 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
880 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
881 (gst_bit_reader_skip_to_byte):
882 * libs/gst/base/gstbitreader.h:
883 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
884 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
885 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
886 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
887 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
888 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
889 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
890 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
891 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
892 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
893 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
894 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
895 * libs/gst/base/gstbytereader.h:
896 * tests/check/Makefile.am:
897 * tests/check/libs/bitreader.c: (GST_START_TEST),
898 (gst_bit_reader_suite):
899 * tests/check/libs/bytereader.c: (GST_START_TEST),
900 (gst_byte_reader_suite):
901 API: Add bit reader and byte reader classes, including documentation
902 and an extensive unit test suite. Fixes bug #553554.
904 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
906 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
907 (gst_base_sink_query):
908 Improve position reporting while flushing and other intermediate state
909 changes. Fixes #553874.
911 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
913 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
915 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
916 Original patch by : Simon Descaries
917 Fix small refount leak in caps compatibility check.
920 2008-10-06 Stefan Kost <ensonic@users.sf.net>
922 * docs/pwg/advanced-request.xml:
923 Fix 0.8 api usage in example. Fixes #554561
925 * docs/pwg/appendix-porting.xml:
926 Change 0.9 to 0.10 here.
928 2008-10-06 Stefan Kost <ensonic@users.sf.net>
930 * docs/manual/basics-data.xml:
931 Change "event-event interaction" to "element-element interaction".
932 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
935 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
938 Back to development -> 0.10.21.1
940 === release 0.10.21 ===
942 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
945 releasing 0.10.21, "Take These Things From Me"
947 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
950 0.10.20.4 pre-release
952 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
954 * libs/gst/base/gstbasetransform.c:
955 * plugins/elements/gstcapsfilter.c:
956 * tests/check/Makefile.am:
957 * tests/check/elements/.cvsignore:
958 * tests/check/elements/capsfilter.c:
959 Fix assertion in basetransform when the subclass chooses not to
960 allocate a buffer in prepare_buffer(), and make capsfilter error out
961 cleanly if requested to apply caps that don't completely specify the
962 buffer. Fixes #551509
964 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
966 * libs/gst/base/gstbasetransform.c:
967 (gst_base_transform_prepare_output_buffer):
968 Take new caps ref because our old one might have been gone when the
969 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
971 2008-09-15 Stefan Kost <ensonic@users.sf.net>
974 Do not probe availability of check unit test library when cross
975 compiling, as test would not work anyway. Also cleanup verbose output
976 of the check test. Fixes #551952.
978 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
980 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
982 * gst/gstelement.c: (gst_element_sync_state_with_parent):
983 Avoid leaking the parent ref when we fail changing the state of the
984 element using gst_element_sync_state_with_parent(). Fixes #551978.
986 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
988 * docs/manual/intro-motivation.xml::
989 Remove some bits that no longer apply, update others (#551642).
991 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
994 0.10.20.2 pre-release
1002 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1004 * win32/common/config.h.in:
1005 Add GST_DATADIR, hard-code cpu to x86.
1007 * win32/common/libgstreamer.def:
1010 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1013 Fix Since: markers for new geo tags.
1015 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1018 Fix actual tag name define after renaming from altitude to elevation.
1020 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1022 * gst/gstpad.c: (add_unref_pad_to_list),
1023 (gst_pad_get_internal_links_default):
1024 Add fallback when calling the deprecated function on an element that
1025 implements the new internal_link handler.
1027 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1029 * docs/gst/gstreamer-sections.txt:
1032 Add new tags for geo location and clarify purpose of existing location
1035 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1037 Patch by: Olivier Crete <tester at tester dot ca>
1039 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1040 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1041 Use thread-safe internal links iterator. Fixes #549504.
1043 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1045 Based on patch by: Olivier Crete <tester at tester dot ca>
1047 * docs/gst/gstreamer-sections.txt:
1048 * win32/common/libgstreamer.def:
1049 * gst/gstpad.c: (gst_pad_init),
1050 (gst_pad_set_iterate_internal_links_function),
1051 (int_link_iter_data_free), (iterate_pad),
1052 (gst_pad_iterate_internal_links_default),
1053 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1055 Add threadsafe replacement functions for getting internal links of an
1056 element. Deprecate the old internal links functions.
1057 API:GstPad::gst_pad_set_iterate_internal_links_function()
1058 API:GstPad::GstPadIterIntLinkFunction
1059 API:GstPad::gst_pad_iterate_internal_links()
1060 API:GstPad::gst_pad_iterate_internal_links_default()
1062 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1063 (gst_proxy_pad_init):
1064 Implement threadsafe internal links.
1066 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1067 Unit test for internal links on tee. See #549504.
1069 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1071 * tests/check/Makefile.am:
1072 libs/transform1 test requires libs/test_transform.c
1074 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1076 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1077 Die evil deadlock, die !
1079 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1081 * gst/gstutils.c: (gst_element_get_compatible_pad):
1082 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1083 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1084 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1085 not steal the refcount of the given caps as stated.
1087 REVERT THIS COMMIT ONCE FIXED !
1088 REVERT THIS COMMIT ONCE FIXED !
1089 REVERT THIS COMMIT ONCE FIXED !
1090 REVERT THIS COMMIT ONCE FIXED !
1091 REVERT THIS COMMIT ONCE FIXED !
1092 REVERT THIS COMMIT ONCE FIXED !
1094 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1096 * gst/gstiterator.c:
1097 * gst/gstiterator.h:
1098 After 3 years it's about time to revise the documentation of the
1101 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1103 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1104 Make the internal links function less thread-unsafe and add some
1105 comments, dunno why.
1107 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1109 * gst/gst_private.h:
1110 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1111 build with --disable-gst-debug.
1113 2008-08-28 David Schleef <ds@schleef.org>
1115 * gst/gstpadtemplate.c: Revert last change, since it breaks
1116 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1117 but shouldn't be enabled until we've released fixed versions
1118 of -good and -ffmpeg.
1120 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1123 Put the gst_object_get_name() back in.
1125 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1127 * gst/gstpadtemplate.c:
1128 The old behaviour was that gst_pad_template_new() takes ownership of
1129 the caps. As we now call g_object_new() which calls g_object_set() and
1130 which copies the caps, we have to unref them to not leak them. Fixes
1131 make valgrid for me.
1133 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1136 Don't segfault on input like "tel:+1-123-555-1234".
1138 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1141 Due to popular request also include ObjectType in
1142 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1144 2008-08-26 David Schleef <ds@schleef.org>
1146 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1147 src_val must be positive, because that's not a requirement.
1148 This causes problems with converting negative granulepos
1150 * gst/gstquery.c: Same, gst_query_new_convert().
1152 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1154 * gst/gstclock.c: (gst_clock_add_observation):
1155 Add some more debugging to the clock slaving code.
1157 * win32/common/libgstbase.def:
1158 Add new basetransform method.
1160 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1162 * gst/gstbin.c: (gst_bin_element_set_state):
1163 Take the (recursive) state lock between getting the locked state of an
1164 element and changing the element state. This allows the application to
1165 lock an element's state and then change its state without races.
1167 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1169 * gst/gstbin.c: (gst_bin_element_set_state):
1170 When an element is in the locked state we still want to update the
1171 base_time of the element.
1173 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1175 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1176 Use the result from gst_pad_set_caps() instead of assuming the element
1177 always accepted the caps computed by the default negotiate function.
1179 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1181 * docs/libs/gstreamer-libs-sections.txt:
1182 * libs/gst/base/gstbasetransform.c:
1183 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1184 (gst_base_transform_chain), (gst_base_transform_suggest),
1185 (gst_base_transform_reconfigure):
1186 * libs/gst/base/gstbasetransform.h:
1187 Implement method for reconfiguring basetransform.
1188 API: GstBaseTransform::gst_base_transform_reconfigure()
1190 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1192 patch by: Murray Cumming <murrayc@murrayc.com>
1195 Mention that this is just like gst_buffer_merge() but with extra
1196 unreffing for C coders. Advise language bindings not to wrap it.
1199 Also fix file comment.
1201 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1203 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1205 * plugins/elements/gstfakesink.c:
1206 * plugins/elements/gstfakesrc.c:
1207 Call super::event() when not handling it. Fixes #544855.
1209 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1211 Patch by: Alessandro Decina <alessandro@nnva.org>
1212 * plugins/elements/gstfilesrc.c:
1213 Use 64 bit variants of stat functions on win32, to enable support
1214 of large files there.
1217 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1219 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1220 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1221 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1222 (gst_base_sink_get_position), (gst_base_sink_change_state):
1223 Improve position reporting in the flushing state.
1224 Also report the position when we are not yet prerolled but we
1225 have a newsegment event. Fixes #543444.
1226 Improve the pull-based negotiation code.
1228 * tests/check/elements/fakesink.c: (GST_START_TEST),
1230 Add testcase for position reporting while flushing in PAUSED and
1233 * tests/check/generic/sinks.c: (GST_START_TEST):
1234 Update unit-test, we can now query the position as soon as we receive a
1237 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1239 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1241 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1242 When the subclass event handler releases the PREROLL_LOCK, we could be
1243 in the flushing state and we have to ignore the event. Fixes #548394.
1245 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1247 * tools/gst-launch.1.in:
1248 Document GST_REGISTRY_UPDATE environment variable.
1250 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1252 * libs/gst/base/gstbasetransform.c:
1253 (gst_base_transform_prepare_output_buffer):
1254 If the element is configured in passthrough mode but the
1255 prepare_output_buffer gave us a new output buffer, discard that buffer
1256 and reuse the input buffer.
1258 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1260 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1262 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1263 (gst_tee_request_new_pad), (gst_tee_release_pad),
1264 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1265 * plugins/elements/gsttee.h:
1266 Protect pad_alloc with a new lock so that we can be sure that nothing is
1267 performing a pad_alloc when removing the pad. Fixes #547835.
1269 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1270 (buffer_alloc_harness_teardown), (app_thread_func),
1271 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1272 Added testcase for shutdown race.
1274 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1279 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1281 * libs/gst/base/gstbasetransform.c:
1282 (gst_base_transform_prepare_output_buffer),
1283 (gst_base_transform_buffer_alloc):
1284 Go over the buffer_alloc function again and make sure we always end up
1285 allocating a buffer.
1287 Avoid doing pad alloc when we have a pending suggestion because we
1288 cannot yet deal with changing caps in that case. Fixes #547728
1290 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1292 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1294 * docs/manual/advanced-clocks.xml:
1295 * docs/manual/clocks.png:
1296 * docs/manual/diagrams-clocks.svg:
1297 Add one more image showing different times together with a describing
1298 paragraph. Fixes #547729.
1300 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1302 * win32/common/libgstbase.def:
1305 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1307 * libs/gst/base/gstbasetransform.c:
1308 (gst_base_transform_transform_caps),
1309 (gst_base_transform_prepare_output_buffer),
1310 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1311 Don't overwrite the outsize when calculating the expected size of a new
1312 buffer because we still need it in case we cannot process the new
1314 When converting the size of the new buffer to an upstream size, actually
1315 use the expected size of the buffer, not some other random value.
1316 Use an atomic int to signal that a new upstream caps suggestion is
1318 When we can convert the current buffer to a new format, check if the
1319 buffer size is of the expected size and allocate a new buffer of the
1320 expected size when this is not the case. Fixes #546883.
1322 * tests/check/libs/transform1.c: (GST_START_TEST):
1323 remove ifdeffed code from the unit test.
1325 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1327 * pkgconfig/gstreamer-uninstalled.pc.in:
1328 * pkgconfig/gstreamer.pc.in:
1329 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1330 called gstcontroller-0.10.
1332 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1334 * gst/gstchildproxy.h:
1336 Remove double interface from doc-string.
1338 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1340 * libs/gst/base/gstbasesrc.c:
1341 * libs/gst/base/gstbasetransform.c:
1342 Fix headings in docs and gtk-doc warnings.
1344 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1346 * gst/gstregistrybinary.c:
1347 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1351 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1353 * libs/gst/base/gstbasetransform.c:
1354 (gst_base_transform_buffer_alloc):
1355 Fix a "may be used unitialized" warning.
1357 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1359 * docs/gst/gstreamer-sections.txt:
1361 Document preset-iface vmethods.
1363 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1365 * docs/manual/advanced-interfaces.xml:
1366 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1367 only used to discover devices.
1369 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1371 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1373 * gst/gst.c: (init_pre):
1374 Make sure gettext returns translations in UTF-8 encoding rather
1375 than in the current locale encoding (#546822).
1377 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1379 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1382 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1383 Improve unit test subset tests and add a testcase for the subset failure
1386 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1387 Improve subtraction unit test.
1389 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1391 * plugins/elements/gsttee.c:
1392 Unlock, instead of locking again.
1394 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1397 Clarify the docs a bit more.
1399 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1401 * tests/examples/metadata/read-metadata.c:
1402 Don't leak old taglist.
1404 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1406 Patch by: Olivier Crete <tester at tester dot ca>
1408 * gst/gststructure.c:
1409 (gst_structure_fixate_field_nearest_fraction):
1410 Avoid overflows in fixation code when dealing with MAXINT values, which
1411 v4l2src seems to do.
1414 * tests/check/gst/gststructure.c: (GST_START_TEST):
1415 Make a unit test to check the fix.
1417 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1419 * plugins/elements/gstcapsfilter.c: (copy_func),
1420 (gst_capsfilter_set_property):
1421 Use new caps suggestion feature of basetransform to request a caps
1422 negotiation upstream.
1424 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1426 * docs/libs/gstreamer-libs-sections.txt:
1428 API: GstBaseTransform::gst_base_transform_suggest()
1430 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1431 (gst_base_transform_init), (gst_base_transform_transform_caps),
1432 (gst_base_transform_transform_size),
1433 (gst_base_transform_configure_caps),
1434 (gst_base_transform_can_transform),
1435 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1436 (gst_base_transform_prepare_output_buffer),
1437 (gst_base_transform_buffer_alloc),
1438 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1439 (gst_base_transform_chain), (gst_base_transform_activate),
1440 (gst_base_transform_set_passthrough),
1441 (gst_base_transform_is_passthrough),
1442 (gst_base_transform_set_in_place),
1443 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1444 (gst_base_transform_set_qos_enabled),
1445 (gst_base_transform_is_qos_enabled),
1446 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1447 (gst_base_transform_reconfigure):
1448 * libs/gst/base/gstbasetransform.h:
1449 Rewrite of basetransform to perform negotiation outside of the
1450 buffer_alloc functions. Fixes #545853.
1452 * tests/check/libs/transform1.c: (GST_START_TEST),
1456 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1458 * tests/check/gst/gstpreset.c:
1459 Only run preset tests when $HOME is writable. Preliminary fix for
1462 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1464 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1465 (gst_bin_change_state_func), (bin_handle_async_done),
1466 (gst_bin_handle_message_func):
1467 Fix race for bins that simulate ASYNC state changes by inserting
1468 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1469 pending ASYNC messages even when the bin does not have ASYNC children.
1470 We note detect this behaviour because we will receive an ASYNC message
1471 that is originating from the bin itself.
1472 Fixes races with decodebin2 state changes.
1474 * tests/check/gst/gstbin.c: (GST_START_TEST):
1475 Add some more debug.
1477 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1479 * gst/gsttaglist.c: (_gst_tag_initialize):
1482 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1485 Argh. actually save the text before committing. Now adds
1486 gst_tag_merge_strings_with_comma() to gst_tag_register().
1488 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1492 Do as tim pointed out and actually register the new tag. Also improve
1493 te docs and use gst_tag_merge_strings_with_comma() method to allow
1494 retriving all keywords merged in one list.
1496 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1499 * docs/gst/gstreamer.types:
1500 Revert 'accidential' change of the configure option removal. We still
1501 need to generate the types file in configure --disable-load-save.
1503 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1505 * docs/gst/gstreamer-sections.txt:
1507 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1509 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1511 * gst/gstpadtemplate.c:
1512 (gst_pad_template_class_init), (gst_static_pad_template_get),
1513 (gst_pad_template_new), (gst_pad_template_pad_created),
1514 (gst_pad_template_set_property), (gst_pad_template_get_property):
1515 Add "name-template", "direction", "presence" and "caps" properties,
1516 so that gst_pad_template_new() is just a thin wrapper around
1517 g_object_new(), which is better for bindings. (Fixes: #539772)
1519 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1522 Be more liberal in what URIs we accept.
1523 Do not unescape bits of the URI for no apparent reason before passing to
1524 the element. Fixes #545352.
1526 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1528 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1531 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1533 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1536 * docs/gst/gstreamer-sections.txt:
1537 * docs/gst/gstreamer.types:
1538 * docs/gst/gstreamer.types.in:
1541 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1542 * gst/gstconfig.h.in:
1543 * gst/gstelement.c: (gst_element_get_index):
1544 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1545 (gst_registry_binary_load_feature),
1546 (gst_registry_binary_read_cache):
1547 * gst/gstregistryxml.c: (load_feature),
1548 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1549 * plugins/Makefile.am:
1551 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1552 (print_plugin_features), (print_element_features):
1553 * tools/gst-xmlinspect.c: (print_event_masks),
1554 (print_element_info):
1555 * win32/common/gstconfig.h:
1556 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1558 Disabling the indexers and URI handler code will only reduce the
1559 required amount of memory by a very small amount but on the other hand
1560 requires much more maintaince work. Apart from that many places of
1561 code are broken when disabling them.
1563 Disabling the enum types doesn't reduce the required amount of memory
1564 by more than a few bytes and makes it hard to fix bugs like #539772,
1565 i.e. use the enums as GObject properties.
1567 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1569 * docs/design/part-TODO.txt:
1570 Add some thoughts and problems with upstream renegotiation.
1572 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1574 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1575 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1576 Remove silly redundant debug.
1577 Add some more debug info.
1578 Clarify the docs regarding new caps received from pad_alloc.
1580 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1582 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1583 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1584 Make setting the caps more threadsafe.
1586 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1588 * docs/design/part-element-transform.txt:
1591 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1593 * plugins/elements/gstqueue.c: (gst_queue_init),
1594 (gst_queue_acceptcaps):
1595 Add and use a custom acceptcaps function instead of falling back to the
1596 potentially less optimized default implementation.
1598 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1600 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1601 Only sanity-check the buffer size if requested_caps == buffer_caps
1602 (ie. don't take pad caps into account, they're not relevant here)
1604 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1606 * plugins/elements/gsttee.c:
1607 * plugins/elements/gsttee.h:
1608 Reverting as not everything is clear yet. Needs some general design
1611 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1614 ChangeLog surgery for tee commit.
1616 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1618 * docs/gst/gstreamer-sections.txt:
1619 Cleanup section-file.
1621 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1623 * plugins/elements/gsttee.c:
1624 * plugins/elements/gsttee.h:
1625 Relay tag events in tee. Fixes parts of #474016.
1626 Downgrades 3 reoccurring debugs to log.
1628 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1631 * libs/gst/Makefile.am:
1632 Build the net library if we have winsock2.
1634 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1636 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1638 * docs/manual/advanced-threads.xml:
1639 * docs/manual/diagrams-pipelines.svg:
1640 * docs/manual/hello-world.png:
1641 * docs/manual/linked-elements.png:
1642 * docs/manual/mime-world.png:
1643 * docs/manual/queue.png:
1644 * docs/manual/thread-buffering.png:
1645 * docs/manual/thread-synchronizing.png:
1646 Replace one diagram with two separate ones and updates others.
1649 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1652 Fix link in documentation.
1654 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1657 Fix confusing documentation.
1659 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1661 * libs/gst/base/gstbasesrc.h:
1662 revert the changes to the header file for the ABI.
1664 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1666 * libs/gst/base/gstbasesrc.c:
1667 * libs/gst/base/gstbasesrc.h:
1668 Don't cache the seekable status.
1671 2008-07-24 Rene Stadler <mail@renestadler.de>
1673 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1674 code to close the pipeline graph. This prevents the program from
1675 printing internal data flow errors.
1677 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1679 * docs/manual/basics-bus.xml:
1680 Correct typo. Fixes bug #544320.
1682 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1685 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1686 Add check (taken from -base) for winsock, adds WIN32_LIBS
1688 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1690 Define GST_EXPORTS when building libgstreamer (only used on win32)
1691 * gst/gst_private.h:
1693 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1694 for symbols that we need to export in both these files.
1696 Include gst_private.h higher up to avoid some compile problems on win32.
1698 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1703 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1706 Previous commit was wrong NULL caps does not exist
1707 and indicate an error, so also add a FIXME to
1708 gst_caps_is_equal where NULL caps are accepted.
1710 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1713 Allow passing of NULL to gst_caps_union
1715 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1717 * gst/gstghostpad.c:
1718 Add in doc that gst_ghost_pad_set_target can accept
1719 NULL to clear target
1721 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1724 * gst/gstregistry.c:
1725 GstRegistryPool doesn't exist; don't refer to it in docs.
1726 Don't refer to functions that don't exist in docs, it's
1729 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1732 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1734 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1736 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1738 * docs/pwg/building-testapp.xml:
1739 Don't use an undeclared variable in the example program.
1742 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1744 * gst/gstdebugutils.c:
1745 Squeeze ghost-pad links and remove <> from classname labels to save
1746 more horizontal space.
1748 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1750 * gst/gstdebugutils.c:
1751 Give request and sometimes pads a different shpe style. Condense the
1752 graphs a little more.
1754 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1757 Don't require flex and bison if the parser is disabled.
1759 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1761 * libs/gst/controller/gstinterpolationcontrolsource.c:
1762 (_list_find_sorted_custom):
1763 Don't use declarations after statements.
1765 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1767 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1768 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1769 of the the child-added / -removed signals as GstChildProxy
1770 only supports GstObjects.
1772 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1774 * gst/gstdebugutils.c:
1777 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1779 Patch by: Alessandro Decina <alessandro at nnva dot org>
1782 Fix "ignored return value" compiler warning with newer glibc.
1784 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1786 * gst/gstchildproxy.c:
1787 Fix copy&paste error in gst_child_proxy_removed() documentation.
1789 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1791 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1792 Print error debug message if plugin description fields that should
1795 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1796 Don't crash if the string to serialise is NULL (it really should
1797 not be, but apparently this used to work with the xml registry ...).
1799 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1801 * tools/gst-plot-timeline.py:
1802 Fix parsing of log messages
1804 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1806 * win32/common/libgstbase.def::
1807 Sort alphabetically so make check-exports doesn't barf.
1809 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1812 Use gst_format_get_name() to improve debug output.
1815 Remove #ifdef'ed code. Add TODO comment.
1818 Add debug output to ease spotting format != segment.format assertions.
1820 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1822 * tests/check/libs/gdp.c: (gst_dp_suite):
1823 Also enable the GDP unit test again on PPC now that the bug
1826 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1828 * libs/gst/dataprotocol/dataprotocol.c:
1829 Don't write to the same region of memory as a uint64 and uint16
1830 as this breaks strict aliasing rules and apparantly breaks on PPC
1831 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1833 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1835 * libs/gst/controller/gstinterpolationcontrolsource.c:
1836 Optimize list handling. Use own find function. Exploit that fact that
1837 the list is sorted. Also pass back the node before, so that we can
1838 insert quickly. Have a fast path for append.
1840 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1842 * docs/design/draft-framestep.txt:
1843 * docs/design/part-negotiation.txt:
1846 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1849 Show configuration sumary after configure run. Based on patch by
1850 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1852 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1854 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1856 * docs/manual/advanced-autoplugging.xml:
1857 * docs/manual/advanced-threads.xml:
1858 * docs/manual/basics-bins.xml:
1859 * docs/manual/basics-elements.xml:
1860 * docs/manual/basics-helloworld.xml:
1861 * docs/manual/basics-pads.xml:
1862 Add scale factor for pdf output.
1864 * docs/manual/intro-basics.xml:
1865 Switched sections "pads" and "bins" and added a pipeline diagram.
1867 * docs/manual/intro-gstreamer.xml:
1868 Added more info on gstreamer.
1870 * docs/manual/intro-motivation.xml:
1871 Commented out the whole section "current problem", which sounds
1872 historical and somehow osolete; it could be turned in a positive
1873 way and reused to improve the design principles.
1875 * docs/manual/intro-preface.xml:
1876 - Update URLs to library.gnome.org.
1877 - Do not mention GTK+ in preliminary reading (irrelevant).
1878 - Mention Plugin Writer's Manual and further reading only in the
1880 - Added a list of most relevant GObject/glib topics.
1882 * docs/manual/Makefile.am:
1883 * docs/manual/bin-element-ghost.fig:
1884 * docs/manual/bin-element-ghost.png:
1885 * docs/manual/bin-element-noghost.fig:
1886 * docs/manual/bin-element-noghost.png:
1887 * docs/manual/bin-element.fig:
1888 * docs/manual/bin-element.png:
1889 * docs/manual/filter-element-multi.fig:
1890 * docs/manual/filter-element-multi.png:
1891 * docs/manual/filter-element.fig:
1892 * docs/manual/filter-element.png:
1893 * docs/manual/gstreamer-overview.png:
1894 * docs/manual/hello-world.fig:
1895 * docs/manual/hello-world.png:
1896 * docs/manual/linked-elements.fig:
1897 * docs/manual/linked-elements.png:
1898 * docs/manual/mime-world.fig:
1899 * docs/manual/mime-world.png:
1900 * docs/manual/queue.fig:
1901 * docs/manual/queue.png:
1902 * docs/manual/simple-player.png:
1903 * docs/manual/sink-element.fig:
1904 * docs/manual/sink-element.png:
1905 * docs/manual/src-element.fig:
1906 * docs/manual/src-element.png:
1907 * docs/manual/diagrams-general.svg:
1908 * docs/manual/diagrams-pipelines.svg:
1909 Removed .fig, added .png counterpart.
1913 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1915 * plugins/elements/gstmultiqueue.c:
1916 * plugins/elements/gstmultiqueue.h:
1917 revert extra-size-buffers stuff, caused some race conditions
1918 and extra-size-buffers is not used anymore. Docs needs some updates
1920 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1922 * win32/common/config.h:
1923 * win32/common/gstenumtypes.c:
1924 * win32/common/gstenumtypes.h:
1925 * win32/common/gstversion.h:
1928 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1930 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1931 (GST_DEBUG_BIN_TO_DOT_FILE):
1932 Add missing Since' markers to gtk-doc blurbs.
1934 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1936 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1937 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1938 (set_caps_1), (set_caps_ct1), (transform_ct1),
1939 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1940 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1941 (transform_size_ct2), (buffer_alloc_ct2):
1942 Add some more tests with switching caps in buffer_alloc.
1944 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1946 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1947 (gst_test_trans_class_init), (result_sink_chain),
1948 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1949 (gst_test_trans_push), (gst_test_trans_pop):
1950 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1951 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1952 (set_caps_1), (set_caps_ct1), (transform_ct1),
1953 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1954 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1955 (transform_size_ct2), (buffer_alloc_ct2),
1956 (gst_basetransform_suite):
1957 More tests, prepare for tests with switching caps in buffer_alloc.
1959 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
1961 * plugins/elements/gstmultiqueue.c:
1962 * plugins/elements/gstmultiqueue.h:
1963 Fix dead-lock in underrun_cb
1965 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1967 * docs/design/part-states.txt:
1968 Fix device open/close docs.
1970 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1973 Mention bugnumber for last commit.
1975 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1977 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1979 * docs/manual/manual.xml:
1980 - Reorganised the previous "introduction" bundle into Foreword,
1981 Introduction, and About GStreamer. The two first are <preface>
1982 docbook elements. The later is the first part of the book.
1983 - added intro-gstreamer.xml (content partially from
1985 - moved appendix-win32.xml into appendix-integration.xml
1987 * docs/manual/intro-preface.xml: gstreamer section moved...
1988 * docs/manual/intro-gstreamer.xml: ...here. new file.
1990 * docs/manual/appendix-win32.xml: removed file. Content moved...
1991 * docs/manual/appendix-integration.xml: ...here.
1993 * docs/manual/highlevel-components.xml: section about GstEditor moved...
1994 * docs/manual/appendix-checklist.xml: ...here.
1998 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2000 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2002 * docs/manual/basics-helloworld.xml:
2003 * docs/manual/hello-world.fig:
2004 - Explicitely include glib.h.
2005 - Do not use global variables.
2006 - Use g_printerr() instead of g_print().
2007 - Minor formating/renaming to increase readibility.
2008 - Renamed new_pad() to on_pad_added()
2009 - Improved explenatory comments.
2010 - renamed ogg parser to ogg demuxer
2011 - Use "autoaudiosink" instead of "alsasink".
2014 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2017 Remove cvs conflict marker.
2019 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2022 Document that for plgin-docs we extraxt he short-desc from the element
2025 * docs/design/part-states.txt:
2026 Tell that devices should be closed in PAUSED -> READY.
2028 * docs/manual/README:
2029 Document how tests in the manual are handled.
2034 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2036 * gst/gstbin.c: (bin_query_latency_fold):
2037 Only care about latency min and max when the sink is actually a live
2040 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2042 * docs/design/part-block.txt:
2045 * docs/design/part-element-transform.txt:
2046 Add notes about why transform needs to know input/output sizes.
2047 Add some issues that need to be solved.
2048 Add some more use cases.
2050 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2051 (gst_test_trans_class_init), (result_sink_chain),
2052 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2053 (gst_test_trans_push), (gst_test_trans_pop):
2054 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2055 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2056 (set_caps_1), (set_caps_ct1), (transform_ct1),
2057 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2058 (gst_basetransform_suite):
2059 Add suport for different pad templates and buffer-alloc.
2060 Add more checks for caps and buffer-alloc.
2061 Add checks for proxy buffer alloc.
2062 Add unit test for copy transform.
2064 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2066 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2068 * docs/manual/appendix-integration.xml:
2069 * docs/manual/appendix-licensing.xml:
2070 * docs/manual/basics-elements.xml:
2071 * docs/manual/basics-helloworld.xml:
2072 * docs/manual/basics-pads.xml:
2073 * docs/manual/highlevel-components.xml:
2074 * docs/manual/highlevel-xml.xml:
2075 * docs/manual/intro-basics.xml:
2076 * docs/manual/intro-preface.xml:
2077 Typo and formatting fixes (#538594).
2079 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2081 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2082 Fix some memory leaks and uses of object instances that we don't
2085 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2087 * plugins/elements/gstmultiqueue.c:
2088 Add functionality to extra-size-buffers property.
2090 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2092 * plugins/elements/gstmultiqueue.c:
2093 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2094 activate the pads if they are added in STATE_NULL.
2096 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2098 * docs/libs/gstreamer-libs-sections.txt:
2100 * libs/gst/check/gstcheck.c:
2101 * libs/gst/check/gstcheck.h:
2102 API: gst_check_teardown_pad_by_name
2104 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2106 * libs/gst/check/gstcheck.c:
2107 * libs/gst/check/gstcheck.h:
2108 Also setup request pads and allow setup pads by name (#537812)
2109 API: gst_check_setup_src_pad_by_name
2110 API: gst_check_setup_sink_pad_by_name
2112 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2114 * tests/check/gst/gstbuffer.c:
2115 * tests/check/pipelines/parse-launch.c:
2116 Use HAVE_VALGRIND_H some more.
2118 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2120 * scripts/cvs-update.sh:
2121 Pass arguments to make.
2122 Run autoregen.sh if Makefile is not there.
2124 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2128 Don't assume that <valgrind/valgrind.h> exists just because
2129 the binary is there.
2131 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2133 * tests/check/Makefile.am:
2134 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2135 (gst_test_trans_class_init), (gst_test_trans_init),
2136 (gst_test_trans_set_data), (result_sink_chain),
2137 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2138 (gst_test_trans_pop):
2139 * tests/check/libs/transform1.c: (GST_START_TEST),
2140 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2141 Add some test basetransform element and the beginnings of various
2144 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2146 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2147 Increase code readability.
2148 Don't try to compare buffer offsets when ther are invalid.
2150 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2152 * docs/design/Makefile.am:
2153 Dist some more design docs.
2155 * docs/random/moving-plugins:
2156 Small addition: good plugins mustn't have functional code
2157 within assertion macros.
2159 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2161 * docs/design/draft-framestep.txt:
2162 Some ideas about a framestep API
2164 * docs/design/part-element-transform.txt:
2165 Start design and use cases for basetransform in order to get it
2168 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2171 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2172 be in UTF-8 encoding.
2174 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2177 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2179 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2181 * plugins/elements/gstcapsfilter.c:
2182 * plugins/elements/gstfakesink.c:
2183 * plugins/elements/gstfakesrc.c:
2184 * plugins/elements/gstfdsink.c:
2185 * plugins/elements/gstfdsrc.c:
2186 * plugins/elements/gstfilesink.c:
2187 * plugins/elements/gstfilesrc.c:
2188 * plugins/elements/gstidentity.c:
2189 * plugins/elements/gstmultiqueue.c:
2190 * plugins/elements/gstqueue.c:
2191 * plugins/elements/gsttee.c:
2192 * plugins/elements/gsttypefindelement.c:
2193 Remove short_description. Add basic docs for gsttypefindelement.
2194 Simplify markup for fakesrc/fdsrc.
2196 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2198 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2201 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2203 Patch by: Joel Larsson <tilljoel at gmail dot com>
2205 * docs/plugins/gstreamer-plugins.args:
2206 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2207 (gst_fd_src_init), (gst_fd_src_update_fd),
2208 (gst_fd_src_set_property), (gst_fd_src_get_property),
2209 (gst_fd_src_create):
2210 * plugins/elements/gstfdsrc.h:
2211 Add timeout property like udpsrc. Fixes #538628.
2212 Add some more docs and example pipelines.
2214 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2216 * docs/libs/gstreamer-libs-sections.txt:
2217 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2218 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2219 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2220 (gst_base_sink_do_sync):
2221 * libs/gst/base/gstbasesink.h:
2222 * win32/common/libgstbase.def:
2223 Add method to allow sinks to specify additional delay between the sync
2224 times and the actual rendering of the data.
2225 API: gst_base_sink_set_render_delay()
2226 API: gst_base_sink_get_render_delay()
2228 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2231 Bump version number back to dev -> 0.10.20.1
2233 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2235 * docs/gst/gstreamer-sections.txt:
2236 * gst/gsttaglist.c: (_gst_tag_initialize):
2238 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2241 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2243 * libs/gst/controller/gstcontroller.c:
2244 Revert one change, that make ret value possible uninitialized.
2246 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2248 * libs/gst/controller/gstcontroller.c:
2249 Use freeze/thaw notify to sync notify emission a bit (its also more
2250 efficient). Move debug output to LOG (is called a lot in a loop).
2251 Always unset g_values if the have been initialized.
2253 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2255 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2256 (gst_base_sink_wait_eos), (gst_base_sink_event):
2257 If we have not seen a buffer before EOS, use the segment values to
2258 report the current position instead of invalid positions.
2260 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2262 * docs/plugins/tmpl/.cvsignore:
2263 * tests/check/gst/.cvsignore:
2266 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2268 * libs/gst/controller/gstinterpolation.c:
2269 * libs/gst/controller/gstinterpolationcontrolsource.c:
2270 * tests/check/libs/controller.c:
2271 Rewrite handling of default values. Fix overflow with unsigned types
2272 in linear interpolation. Remove now obsolete _first_value() function.
2273 Add more tests. Fixes #538201.
2275 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2277 * libs/gst/base/gstbasetransform.c:
2278 (gst_base_transform_class_init), (gst_base_transform_init),
2279 (gst_base_transform_transform_caps),
2280 (gst_base_transform_prepare_output_buffer):
2282 When a buffer is writable, its metadata is also writable so we don't
2283 need to subbuffer (which then makes the buffer not-writable anymore).
2285 === release 0.10.20 ===
2287 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2290 releasing 0.10.20, "You Crazy Diamond"
2292 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2295 0.10.19.3 pre-release
2297 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2301 Rename DATADIR to GST_DATADIR to avoid build problems
2302 on win32. Patch By: David Schleef <ds@schleef.org>
2305 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2308 Explicitely link with -ldl if dladdr() is found there. Before it was
2309 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2310 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2312 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2314 * gst/gsterror.c: (_gst_stream_errors_init):
2315 Fix typo (spotted by Fabricio Godoy, #536723).
2317 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2320 0.10.19.2 pre-release
2322 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2324 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2325 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2327 Make sure we don't generate invalid QoS messages.
2329 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2331 * gst/gstevent.c: (gst_event_new_qos):
2332 Add some assert and docs for invalid input to the qos function.
2334 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2336 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2337 (gst_base_sink_get_position):
2338 The reported position must always be smaller than the last seen
2339 timestamps (or timestamp + duration for reverse).
2341 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2343 Patch by: Rob Bradford <rob at robster dot org dot uk>
2345 * gst/gstregistry.c: (gst_registry_scan_path_level):
2346 Don't recurse into .debug directories as some distros install
2347 the debugging symbols next to the plugins in .debug directories
2348 and dlopen() crashes on them sometimes. Fixes bug #508070.
2350 Add FIXME for 0.11 to not recurse into directories at all because
2351 it's very inconsistent to the behaviour of other PATH environment
2354 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2356 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2357 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2358 Fix position query range checks in reverse playback.
2360 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2364 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2365 clear of the reference to the resulting pad must be released later
2366 or not, resulting in possible leaks. Fixes bug #533865.
2368 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2370 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2372 * gst/gstelementfactory.c:
2373 Small doc fix. Fixes #535285.
2375 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2377 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2379 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2380 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2381 (gst_base_src_loop), (gst_base_src_set_flushing),
2382 (gst_base_src_change_state):
2383 Make sending an EOS event to the basesrc non-blocking even if the
2384 implementation does blocking waits in the create function. This is done
2385 by unlocking the create function when EOS is sent.
2388 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2390 * tools/gst-inspect.c: (print_element_properties_info):
2391 If possible print the element type of GValueArray properties.
2393 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2395 * gst/gstiterator.c:
2396 Remove an unused field from the private GstListIterator struct.
2398 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2400 * libs/gst/controller/gstcontroller.c:
2401 Add parameter guards.
2403 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2405 * tests/check/gst/gstpipeline.c:
2406 Revert test change and add comment why it should not work.
2408 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2410 * tests/check/gst/gstpipeline.c:
2411 Extending the test a little to verify that we also get the NULL state-
2414 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2416 * gst/gstpreset.c: (gst_preset_default_get_meta),
2417 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2418 (gst_preset_load_preset), (gst_preset_save_preset),
2419 (gst_preset_rename_preset), (gst_preset_delete_preset),
2420 (gst_preset_set_meta):
2421 Add Since: markers to docs blurbs.
2423 * win32/common/libgstreamer.def:
2424 Add recently-added API.
2426 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2428 Patch by: Stefan Kost <ensonic@users.sf.net>
2431 Add DATADIR for storing presets.
2433 * docs/gst/gstreamer-docs.sgml:
2434 * docs/gst/gstreamer-sections.txt:
2435 * docs/gst/gstreamer.types.in:
2436 Add GstPreset to docs.
2440 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2441 (preset_open_and_parse_header), (preset_parse_version),
2442 (preset_merge), (preset_get_keyfile),
2443 (gst_preset_default_get_preset_names),
2444 (gst_preset_default_get_property_names),
2445 (gst_preset_default_load_preset),
2446 (gst_preset_default_save_presets_file),
2447 (gst_preset_default_save_preset),
2448 (gst_preset_default_rename_preset),
2449 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2450 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2451 (gst_preset_default_reset), (gst_preset_get_preset_names),
2452 (gst_preset_get_property_names), (gst_preset_load_preset),
2453 (gst_preset_save_preset), (gst_preset_rename_preset),
2454 (gst_preset_delete_preset), (gst_preset_set_meta),
2455 (gst_preset_get_meta), (gst_preset_class_init),
2456 (gst_preset_base_init), (gst_preset_get_type):
2458 Add GstPreset to core. Fixes #396779
2460 * tests/check/Makefile.am:
2461 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2462 (gst_preset_test_set_property), (gst_preset_test_class_init),
2463 (gst_preset_test_base_init), (gst_preset_test_get_type),
2464 (gst_preset_test_plugin_init), (GST_START_TEST),
2465 (remove_preset_file), (test_setup), (test_teardown),
2467 Add GstPreset unit tests.
2469 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2471 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2472 The default event function on a sinkpad should return TRUE when
2473 there are no internal links but should collect the return values from
2474 the internal links otherwise.
2476 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2478 * plugins/elements/gsttypefindelement.c:
2479 (gst_type_find_element_src_event),
2480 (gst_type_find_element_handle_event):
2481 Use faster and safer _pad_push_event().
2483 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2485 * docs/gst/gstreamer-sections.txt:
2486 * gst/gstutils.c: (element_find_unlinked_pad),
2487 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2489 API: add gst_bin_find_unlinked_pad()
2490 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2492 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2498 Fixed a bunch of typos.
2500 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2503 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2504 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2505 (gst_parse_bin_from_description_full):
2507 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2509 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2511 * docs/pwg/advanced-tagging.xml:
2512 Small docs update, can't be bothered to rewrite the nonsensical
2515 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2518 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2520 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2522 * gst/parse/grammar.y:
2523 Remove unneeded casts.
2525 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2527 * gst/parse/grammar.y:
2528 * tests/check/pipelines/parse-launch.c:
2529 Get all missing elements from a parse launch string if possible
2530 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2532 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2534 * tests/check/Makefile.am:
2535 * tests/check/pipelines/parse-launch.c:
2536 Add some unit tests for the new gst_parse_launch*_full() API.
2537 (Exposes a previously-existing memory leak in the error code
2538 path, so adding to VALGRIND_TO_FIX for now).
2540 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2542 * docs/gst/gstreamer-sections.txt:
2543 * gst/gst.c: (init_post):
2544 * gst/gst_private.h: (_GstParseContext):
2545 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2546 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2547 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2548 (gst_parse_launch_full):
2549 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2550 (GstParseFlags), (GstParseContext):
2551 * gst/gstutils.c: (gst_parse_bin_from_description),
2552 (gst_parse_bin_from_description_full):
2554 * gst/parse/grammar.y:
2555 * gst/parse/types.h:
2556 * win32/common/libgstreamer.def:
2557 Add new gst_parse_*_full API (#528178):
2558 API: gst_parse_launch_full()
2559 API: gst_parse_launchv_full()
2560 API: gst_parse_bin_from_description_full()
2561 API: gst_parse_context_new()
2562 API: gst_parse_context_free()
2563 API: gst_parse_context_get_missing_elements()
2565 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2567 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2569 * docs/faq/gst-uninstalled:
2570 Also support ffmpeg in gst-uninstalled.
2572 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2575 After discussion on IRC use the binary registry as default
2576 but allow to disable it with --disable-binary-registry.
2578 * win32/common/libgstreamer.def:
2579 Add the two new symbols for the binary registry.
2581 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2583 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2584 * gst/gstutils.c: (gst_parse_bin_from_description):
2585 * gst/parse/grammar.y: (graph):
2586 More guards against bad input; typo fix; some minor clean-ups.
2588 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2590 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2592 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2593 If nothing else can be used, use the last buffer's start time as
2594 the segment's last stop. Fixes bug #534258.
2596 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2598 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2599 Move size sanity check to the right place: downstream may return
2600 a buffer with a smaller size if the buffer caps are different than
2601 the requested ones, as may happen when doing reverse negotiation.
2603 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2605 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2606 (gst_file_sink_render):
2607 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2608 (gst_file_src_start):
2609 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2612 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2614 * gst/gstpad.c: (gst_pad_load_and_link):
2615 * gst/gstutils.c: (gst_element_link_pads),
2616 (gst_element_unlink_pads):
2617 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2618 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2619 (gst_check_teardown_sink_pad),
2620 (gst_check_element_push_buffer_list):
2621 * tests/check/elements/fakesink.c: (GST_START_TEST):
2622 * tests/check/elements/filesink.c:
2623 * tests/check/elements/filesrc.c: (GST_START_TEST):
2624 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2625 (mq_sinkpad_to_srcpad):
2626 * tests/check/elements/tee.c: (GST_START_TEST):
2627 * tests/check/generic/sinks.c: (GST_START_TEST):
2628 * tests/check/gst/gstbin.c: (GST_START_TEST):
2629 * tests/check/gst/gstevent.c: (GST_START_TEST):
2630 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2631 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2632 * tests/check/gst/gstquery.c: (GST_START_TEST):
2633 * tests/check/gst/gstutils.c: (GST_START_TEST):
2634 * tests/check/libs/basesrc.c: (GST_START_TEST):
2635 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2636 (gst_parse_test_element_change_state):
2637 Don't use gst_element_get_pad().
2639 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2642 Fix installing plugin documentation when gtk-doc is disabled.
2644 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2646 * docs/manual/advanced-autoplugging.xml:
2647 * docs/manual/basics-helloworld.xml:
2648 * docs/manual/basics-pads.xml:
2649 * docs/manual/highlevel-components.xml:
2650 Avoid using a bad function in the example code.
2652 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2654 * gst/gstclock.c: (gst_clock_set_calibration):
2655 Fix debug of the new clock rate.
2657 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2659 * win32/common/libgstbase.def:
2660 Add gst_base_sink_wait_clock() to the exported symbols.
2662 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2664 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2666 * libs/gst/base/gstbasetransform.c:
2667 (gst_base_transform_sink_event):
2668 Unref events that the GstBaseTransform::event vfunc didn't want to
2669 have forwarded by the base class. Closes a leak in identity.
2672 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2674 * docs/libs/gstreamer-libs-sections.txt:
2675 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2676 * libs/gst/base/gstbasesink.h:
2677 Expose a method that was previously used internally to synchronize
2678 against the clock because it can be useful for subclasses too.
2679 API: GstBaseSink::gst_base_sink_wait_clock()
2681 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2683 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2684 Add sanity check to make sure we don't get smaller buffers
2685 than requested (and fallback to normal buffer alloc if we do).
2687 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2689 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2690 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2691 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2692 Refactor adjusting the running_time with latency and offset into a
2694 When doing clipping, we still want to use the subclass get_times method,
2695 just in case the DURATION or TIMESTAMP are not set.
2697 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2699 * docs/gst/gstreamer-sections.txt:
2700 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2701 * gst/gsttypefind.h:
2702 * win32/common/libgstreamer.def:
2703 API: add gst_type_find_suggest_simple(), #533740.
2705 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2707 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2708 Use right error code when typefinding fails, so we can use
2709 the default (translated) error messages.
2711 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2713 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2714 (gst_base_src_start):
2715 When the subclass did not set caps on outgoing buffers, configure the
2716 caps we negotiated on the source pad.
2717 When the typefind helper does not find caps, error out properly instead
2718 of doing things with NULL caps.
2720 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2722 * gst/gsttypefind.h:
2723 Tabs to spaces, oh yes!
2725 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2727 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2728 Add David's and Benjamin's tests for array intersection to the
2729 unit test suite (#147931).
2731 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2734 Document that gst_event_new_tag() and gst_event_new_navigation()
2735 take ownership of the taglist/structure passed to them. (#533635).
2737 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2740 Don't descend into the plugins dir if plugin docs building
2744 Add a note about the new type:GTypeName syntax for the plugin
2745 documentation .types file.
2747 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2749 * gst/gstmessage.c: (gst_message_new_error),
2750 (gst_message_new_warning), (gst_message_new_info):
2752 Mark the debug string parameters as const. Fixes bug #533490.
2754 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2756 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2757 Sort buffer cache list by end offsets. This makes sure that we don't
2758 stop to search for a cached buffer that contains the requested data
2760 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2761 more efficient. Fixes bug #459862.
2763 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2766 Explain why we copy the list.
2768 * gst/gstpipeline.c:
2772 Add one debug-log statement to help tracing probelms with linking pads.
2774 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2776 * tests/check/gst/gstinfo.c:
2777 Add a test for removing the default log handler. Seems to fail under
2780 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2782 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2783 Release pad lock before calling out to avoid a possible deadlock.
2785 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2787 * gst/parse/grammar.y:
2788 Remove unneeded value unset.
2790 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2791 Add unit test for de/serialization of caps.
2793 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2795 * plugins/elements/gstfakesink.c:
2796 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2797 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2798 (gst_fake_src_class_init):
2799 Use custom marshalers that take GstMiniObject as first parameter.
2800 Using OBJECT as parameter while a GstMiniObject is given will lead
2801 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2803 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2805 * plugins/elements/gsttypefindelement.c:
2806 (gst_type_find_element_handle_event),
2807 (gst_type_find_element_send_cached_events),
2808 (gst_type_find_element_change_state):
2809 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2812 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2814 * plugins/elements/gsttypefindelement.c:
2815 (gst_type_find_handle_src_query), (stop_typefinding),
2816 (gst_type_find_element_handle_event),
2817 (gst_type_find_element_send_cached_events),
2818 (gst_type_find_element_change_state):
2819 Forward FLUSH_START events immediately and clean up instead of
2822 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2824 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2826 * libs/gst/base/gstbasetransform.c:
2827 (gst_base_transform_buffer_alloc):
2828 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2829 fall back to default negotiation in the chain function if the caps
2830 are different from what was requested. Fixes bug #526768.
2832 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2835 * tests/check/gst/gstsegment.c:
2836 No, let's not use g_slice_{dup|copy} here, since they only exist
2837 since GLib 2.14 and we still depend only on >= 2.12. Also add
2838 unit test for gst_segment_copy().
2840 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2842 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2843 Try to fix 'dereferencing type-punned pointer will break strict
2844 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2845 changed the default GType typedef from gulong to gsize at some point,
2846 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2847 g_once_* functions all take a gsize * though, so work around the type
2848 mismatch for C++ by doing everything in gsize and casting to GType
2851 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2853 * plugins/elements/gstmultiqueue.c:
2854 Add documentation for the signals to push our core plugin docs
2855 coverage back up to 100%.
2857 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2859 * gst/gstinfo.h (GST_FUNCTION):
2860 Reverted GST_FUNCTION to the old version as we don't want the
2861 full signature in C++ code. Also added support for MSVC.
2863 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2866 Intern the type name string, similar to what G_DEFINE_TYPE does.
2868 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2871 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2873 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2875 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2877 * libs/gst/base/gstbasetransform.c:
2878 (gst_base_transform_buffer_alloc):
2879 Don't passthrough buffer allocation too easily if the caps change.
2880 This breaks when working in passthrough mode and upstream changes
2881 it's caps. Fixes bug #526768.
2883 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2885 * gst/gstinfo.c (gst_debug_log_valist):
2886 Improved the __FILE__ part of debug output for MSVC.
2888 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2890 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2891 Declaration after statement fix for compilers like MSVC.
2893 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2895 * win32/common/config.h.in:
2896 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2897 use the real thing than having "???" unconditionally.
2899 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2901 * gst/gstinfo.h (GST_FUNCTION):
2902 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2904 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2906 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2909 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2910 (gst_base_sink_set_flushing):
2911 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2914 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2916 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2917 (gst_fake_src_init), (gst_fake_src_set_property),
2918 (gst_fake_src_get_property), (gst_fake_src_start):
2919 * plugins/elements/gstfakesrc.h:
2920 Added format property to control the format of the newsegment events.
2921 API: GstFakeSrc:format
2923 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2925 * win32/common/libgstreamer.def:
2926 Add gst_pad_has_name() to the exported symbols.
2928 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2930 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2931 * libs/gst/base/gstbasetransform.c:
2932 (gst_base_transform_prepare_output_buffer):
2933 Don't allow negative sizes when allocating new buffers.
2936 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2938 Patch by: Sjoerd Simons <sjoerd at luon net>
2940 * gst/gstbus.c: (gst_bus_source_dispatch):
2941 Don't print a warning if the queue is empty when we try to pop
2942 here. That could happen if another thread or callback set the
2943 bus to flushing between the source's check/prepare and the
2944 dispatch being called (#531538).
2946 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2948 * plugins/elements/gstmultiqueue.c:
2951 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
2953 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2954 Add unit test for deserializing uint64s and check some really large
2955 numbers in the int64 test.
2957 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2959 * tools/gst-inspect.c: (n_print), (print_hierarchy),
2960 (print_interfaces), (print_element_properties_info),
2961 (print_signal_info):
2962 Use "%s" as format string instead of printing strings directly.
2964 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2966 * gst/gstclock.c: (gst_clock_set_calibration):
2967 Make some checks actually useful.
2969 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2970 Remove some unused code. Unsigned integers tend to be >= 0.
2972 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2974 * gst/gstminiobject.c: (gst_value_get_mini_object):
2975 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2976 function was not in the unscheduled 0.10.19 release.
2978 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2980 * gst/gstregistry.c: (gst_registry_scan_path_level):
2981 Only print one log message per non-plugin file.
2983 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2985 * gst/gstinfo.c: (gst_debug_log_default):
2986 Fix alignment of debug log columns on 64-bit.
2988 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2990 * docs/libs/Makefile.am:
2991 * docs/libs/gstreamer-libs-sections.txt:
2992 Ignore private controller headers for docs.
2994 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
2996 * libs/gst/controller/gstcontrollerprivate.h:
2997 * libs/gst/controller/gsthelper.c:
2998 * libs/gst/controller/gstinterpolation.c:
2999 * libs/gst/controller/gstinterpolationcontrolsource.c:
3000 (gst_interpolation_control_source_set_interpolation_mode):
3001 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3002 * libs/gst/controller/lib.c:
3003 Move some private declarations into private headers.
3005 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
3007 * gst/gstdebugutils.c: (debug_dump_element_pad):
3008 Remove some code that is unused after Stefan's refactoring and uses
3009 uninitialized variables now, resulting in a compiler warning.
3011 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3013 * gst/gstregistry.c: (gst_registry_scan_path_level):
3014 Run g_str_has_suffix() only on the file name, not the
3017 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3019 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3020 Since we're not called only from the chain function any longer,
3021 we can't assume that there's always data in the queue, so move
3022 the is_full check to the beginning of the loop (otherwise we'd
3023 hit the assert when changing the limit properties while the
3024 queue is empty or not running yet).
3025 Also, only set a discont if items were actually removed from
3028 * tests/check/elements/queue.c: (test_leaky_downstream):
3029 Test case for the above.
3031 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3033 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3035 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3036 (gst_queue_chain), (queue_capacity_change),
3037 (gst_queue_set_property):
3038 When changing thr max capacity of a leaky queue, immediatly drop buffers
3039 instead of waiting for a push on the sinkpad. Fixes #530637.
3041 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3043 * gst/gstdebugutils.c:
3044 Refactor code and fix handling of ghostpads and their proxypads.
3046 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3048 * docs/gst/gstreamer-sections.txt:
3049 * gst/gstevent.c: (gst_event_has_name):
3051 * tests/check/gst/gstevent.c: (GST_START_TEST):
3052 Add method to conveniently check the name of a custom event with
3053 gst_event_has_name().
3054 Reformat the event docs so that related methods are put together instead
3055 of the default alphabetical sort.
3056 Update unit test with new method.
3057 API: GstEvent::gst_event_has_name()
3059 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3061 * libs/gst/check/Makefile.am:
3062 Don't add an explicit link to libgstreamer-0.10.la; it's already
3063 included in GST_OBJ_LIBS.
3065 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3068 Register GstClock type from a type-safe context. Fixes bug #530317.
3070 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3072 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3074 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3076 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3078 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3080 Use the GLib stuff to create a private structure.
3081 Add some locking around some dispose methods to make them a little
3082 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3084 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3086 * libs/gst/base/gstbasesink.h:
3087 * libs/gst/base/gstbasesrc.h:
3088 * libs/gst/base/gstbasetransform.h:
3089 * libs/gst/base/gstcollectpads.h:
3090 Fix doc typos and unify caps a bit.
3092 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3094 * tools/gst-launch.1.in:
3095 Forgot to also add the envvar docs here.
3097 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3099 * gst/gst.c: (init_post), (gst_deinit):
3100 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3101 (test_concurrent_create), (gst_pipeline_suite):
3102 Ref some more classes in gst_init() to work around thread-safety
3103 issues in pre-2.16 GLibs, and add basic unit test.
3105 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3107 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3108 (gst_base_sink_send_event):
3109 Rearrange the latency query code. We always want to do the upstream
3110 query, even if we are not live so that the upstream elements can get the
3111 latency results too. If we fail doing the query and we are live, we
3112 return TRUE afterwards.
3114 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3116 patch by: Jason Zhao <e3423c@motorola.com>
3118 * docs/gst/running.xml:
3120 Enable/disable scan_and_update_registry() based on commandline switch
3121 or environment variable. Fixes #520468.
3124 Fix typo in my previous commit.
3126 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3128 * gst/gstregistrybinary.c:
3129 Add a warning if we hit unhandled factories when saving.
3130 More debug logging detail, but move to LOG category.
3132 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3134 * gst/gstregistry.c:
3135 Tell the *truth* when improving the documentation.
3137 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3139 * gst/gstelementfactory.c: (gst_element_factory_make):
3140 Unref the factory after it was used the last time, not before.
3142 * gst/gstindexfactory.c: (gst_index_factory_make):
3143 Improve debugging a bit and don't leak a ref to the index factory with
3146 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3148 * gst/gstregistry.c:
3149 Improve the documentation.
3151 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3154 The glib macro seems to be borked. Use g_slice_copy directly and cast
3155 in the hope that this fixes the warning on 64bit.
3157 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3160 Document the new function. Use g_slice_dup() (no need for
3161 gst_segment_init()).
3163 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3165 * docs/gst/gstreamer-sections.txt:
3166 Move GParamSepc macros to standart section.
3169 Dn't document _get_type - its in private section in docs anyway and
3170 this doc-blob was incomplete.
3173 Fix wrong symbol names in docs.
3176 Add once doc sentence.
3178 * tests/check/gst/.cvsignore:
3181 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3183 * docs/gst/Makefile.am:
3184 And remove those libs here.
3186 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3188 * docs/libs/Makefile.am:
3189 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3191 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3193 Patch by: Olivier Crete <tester at tester dot ca>
3195 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3196 Add the min-threshold to the min latency if possible. Fixes #529148.
3198 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3200 * docs/gst/gstreamer.types.in:
3201 Stupid editor, I removed that line as it should go in yet.
3203 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3205 * docs/gst/gstreamer.types.in:
3206 * docs/libs/gstreamer-libs.types:
3207 Remove library types fro core docs and have them in libs docs.
3208 Reformat and cleanup. Add comment for miniobject types.
3210 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3212 * gst/gsturi.c: (gst_uri_get_protocol):
3213 Fix leak: g_strdown operates on the string in place, while
3214 g_ascii_strdown() returns a newly-allocated string.
3216 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3218 * tools/gst-inspect.c: (print_uri_handler_info),
3219 (print_element_info):
3220 Print the URI protocols and the URI type supported by the element.
3222 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3224 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3225 Use g_value_take_string() instead of the deprecated
3226 g_value_set_string_take_ownership().
3228 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3230 * gst/gstregistrybinary.c: (_gst_crc32):
3231 Return the old CRC instead of 0 if we give a NULL buffer
3232 or a buffer with a length of 0.
3234 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3236 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3237 (gst_uri_get_protocol), (gst_uri_has_protocol),
3238 (gst_uri_construct), (gst_uri_handler_set_uri):
3239 A valid URI scheme can also include '+', '-' and '.' additional
3240 to alphanumeric characters as per RFC 3986 Section 3.1.
3242 Handle URI schemes case insensitive in all places and convert
3243 to lower-case when constructing an URI or setting an URI with
3244 the GstURIHandler interface. Fixes bug #528868.
3245 All elements can still assume (as before) that they will
3246 get passed URIs with a lower-case URI scheme by the GstURIHandler
3249 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3251 * gst/gstcaps.c: (gst_static_caps_get):
3252 * gst/gstclock.c: (gst_clock_entry_new):
3253 Don't use g_atomic_set_int where it's not needed.
3255 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3257 * gst/gstvalue.c: (gst_value_deserialize_caps):
3258 * gst/parse/grammar.y:
3261 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3263 * gst/gstutils.c: (gst_atomic_int_set):
3264 Use g_atomic_int_set() here too instead of assignment +
3267 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3271 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3272 now that we depend on new enough GLib.
3274 * gst/gstcaps.c: (gst_static_caps_get):
3275 * gst/gstclock.c: (gst_clock_entry_new):
3276 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3277 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3278 (gst_debug_category_set_threshold):
3279 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3280 (gst_base_sink_set_qos_enabled):
3281 * libs/gst/net/gstnettimeprovider.c:
3282 (gst_net_time_provider_set_property):
3283 Use g_atomic_int_set() instead of gst_atomic_int_set().
3285 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3288 Also use G_GINT64_CONSTANT for the queries.
3290 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3293 Use G_GINT64_CONSTANT in varargs function.
3295 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3297 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3298 Initialize the registry magic with zeroes.
3300 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3302 * gst/gstregistrybinary.c: (_gst_crc32),
3303 (gst_registry_binary_write),
3304 (gst_registry_binary_initialize_magic),
3305 (gst_registry_binary_write_cache),
3306 (gst_registry_binary_check_magic),
3307 (gst_registry_binary_read_cache):
3308 * gst/gstregistrybinary.h:
3309 Add crc32 checksum to the binary registry file and check this before
3310 accepting a registry file.
3312 Also free the data list when writing to the registry file fails.
3314 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3316 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3317 (gst_registry_binary_load_feature),
3318 (gst_registry_binary_load_plugin):
3319 If an element supports the Uri interface, returns a valid pointer
3320 to the supported URI protocols but this pointer contains nothing
3321 don't try to save that as it will corrupt the registry.
3323 Don't unref the plugin if we added it to the registry already but
3324 fail to load a feature as gst_registry_add_plugin() takes ownership
3327 Improve debugging a bit.
3329 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3332 Clarify some tag item docs after discussion on irc.
3334 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3336 * docs/gst/gstreamer-docs.sgml:
3337 Remove commented out plugins (they have their own docs). Update
3340 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3342 * docs/gst/gstreamer-docs.sgml:
3343 * docs/gst/gstreamer-sections.txt:
3344 * gst/gstparamspecs.c:
3345 * gst/gstparamspecs.h:
3346 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3347 docs to own section.
3350 This now only documents GValue.
3352 * docs/libs/gstreamer-libs-sections.txt:
3353 * libs/gst/controller/gstcontroller.h:
3354 Remove GST_PARAM_CONTROLLABLE.
3356 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3359 Correct file path. Tell about how to use -overrides.txt.
3360 * docs/design/draft-tagreading.txt:
3361 Small design update.
3363 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3365 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3366 (gst_registry_binary_load_plugin):
3367 Fix a typo in a debug message and revert change from yesterday as
3368 gst_registry_add_plugin() will only fail if something is really wrong
3369 already and we can't survive it anyway.
3371 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3373 * gst/gst.c: (init_post), (gst_deinit):
3374 Pre-register GstGError GType from a thread-safe context
3375 (fixes #527967); unref enum type classes in deinit.
3377 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3379 Patch by: Rene Stadler <mail at renestadler de>
3381 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3382 Merging an empty list with another list in KEEP_ALL mode should
3383 yield an empty list as result and not the second list (#512578).
3385 * tests/check/gst/gsttagsetter.c:
3386 Add unit test for tag merge modes and the aforementioned bug.
3388 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3390 Patch by: Rene Stadler <mail at renestadler de>
3393 Fix description to match the order in the table (#512577).
3395 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3397 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3399 * libs/gst/net/gstnettimepacket.h:
3400 * docs/libs/gstreamer-libs-sections.txt:
3401 Define socklen_t as int if it's not defined yet. Fixes compilation
3402 with MSVC6 and other versions where socklen_t is not defined in
3403 the windows headers (#518022).
3405 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3407 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3408 If gst_registry_add_plugin() fails our reference to the plugin is
3409 invalid so don't try to use it anymore and instead error out.
3411 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3413 * tools/gst-xmlinspect.c: (print_element_info), (main):
3414 De-cruft a bit. If no argument is specified, print all elements in
3415 XML syntax rather than a freestyle list of elements like gst-inspect.
3416 Also, don't print XML header chunk unless we actually have something
3417 to print (ie. don't print it before an error message); print error
3418 message to stderr not stdout. Remove support for printing plugin
3419 info (it would just output something freestyle along the lines of
3420 gst-inspect so far), which fixes #514507. Also add license header.
3422 2008-04-11 Julien Moutte <julien@fluendo.com>
3425 * configure.ac: Merge platform specific defines, introduce a new
3426 define on OS X to remember that forking when updating registry is
3428 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3430 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3432 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3433 condition that leads to absolutely no plugins being registered on
3436 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3438 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3440 * gst/gstutils.c: (gst_pad_add_data_probe),
3441 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3442 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3443 (gst_pad_add_buffer_probe_full):
3445 * docs/gst/gstreamer-sections.txt:
3446 * win32/common/libgstreamer.def:
3447 Add gst_pad_add_*_probe_full() functions with a notify callback that
3448 lets the caller free the data it passes to the probe functions. This
3449 is useful for bindings such as gst-python or gstreamermm (#526814).
3450 API: gst_pad_add_data_probe_full
3451 API: gst_pad_add_buffer_probe_full
3452 API: gst_pad_add_event_probe_full
3454 * tests/check/gst/gstutils.c:
3455 Add minimal unit test to make sure freeing the data actually works
3458 * tests/benchmarks/.cvsignore:
3459 Random cvsignore addendum.
3461 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3463 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3464 (GST_DEBUG_BIN_TO_DOT_FILE):
3465 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3466 to it in the docs (since these are macros the types of the arguments
3467 won't be shown in the docs otherwise).
3469 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3472 Do not abort on out of memory for pad_alloc_buffer.
3474 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3476 * libs/gst/check/gstcheck.c:
3477 Remove blank line between symbol name ad parameters to fix gtkdoc
3480 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3482 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3484 * docs/gst/gstreamer-sections.txt:
3487 * win32/common/libgstreamer.def:
3488 Expose gst_segment_copy() to make things easier for the c++ bindings.
3490 API: gst_segment_copy()
3492 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3494 * gst/gst.c: (gst_init_get_option_group), (init_post):
3495 Fix const position; ref GType classes for enum types to work
3496 around thread-safety issues in GLib versions < 2.16.
3498 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3500 * docs/design/part-buffering.txt:
3501 Fix some typos and set the estimated total for push mode to -1.
3503 * gst/gstquery.c: (gst_query_new_buffering):
3504 Set buffering-left to 0 as we're not buffering by default.
3506 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3507 Implement BUFFERING query.
3509 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3511 Based on patch by: Milosz Derezynski <internalerror gmail com>
3513 * gst/gsterror.c: (_gst_stream_errors_init):
3515 Add two new error codes for encrypted content. Fixes #524659.
3516 API: GST_STREAM_ERROR_DECRYPT
3517 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3519 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3524 * win32/common/libgstreamer.def:
3527 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3529 * plugins/elements/gstidentity.c: (gst_identity_event),
3530 (gst_identity_start):
3531 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3532 event after processing some data. Fixes bug #526042.
3534 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3536 * docs/gst/gstreamer-sections.txt:
3537 * gst/gstquery.c: (gst_query_parse_latency),
3538 (gst_query_set_buffering_percent),
3539 (gst_query_parse_buffering_percent),
3540 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3542 Rename _avail -> _range
3543 API: gst_query_set_buffering_range
3544 API: gst_query_parse_buffering_range
3546 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3548 * docs/design/part-buffering.txt:
3551 * gst/gstquery.c: (gst_query_parse_latency),
3552 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3553 (gst_query_parse_buffering_percent):
3555 Add busy field and quark for the buffering query so that the app can
3556 only use the query to see if buffering is in progress.
3558 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3560 * docs/gst/gstreamer-sections.txt:
3561 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3562 (gst_message_parse_buffering_stats):
3564 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3565 (gst_query_parse_latency), (gst_query_new_buffering),
3566 (gst_query_set_buffering_percent),
3567 (gst_query_parse_buffering_percent),
3568 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3569 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3571 Reorder the message docs and headers for clarity.
3572 Add aditional buffering stats API for messages.
3573 Add buffering query.
3574 Convert some leftover queries to use GstQuark.
3575 API: gst_message_set_buffering_stats
3576 API: gst_message_parse_buffering_stats
3577 API: GST_QUERY_BUFFERING
3578 API: GstBufferingMode
3579 API: gst_query_new_buffering
3580 API: gst_query_set_buffering_percent
3581 API: gst_query_parse_buffering_percent
3582 API: gst_query_set_buffering_stats
3583 API: gst_query_parse_buffering_stats
3585 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3587 * gst/gstmessage.c: (gst_message_new_error),
3588 (gst_message_new_warning), (gst_message_new_info),
3589 (gst_message_new_buffering), (gst_message_new_state_changed),
3590 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3591 (gst_message_new_new_clock), (gst_message_new_segment_start),
3592 (gst_message_new_segment_done), (gst_message_new_duration),
3593 (gst_message_new_async_start), (gst_message_parse_buffering),
3594 (gst_message_parse_state_changed),
3595 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3596 (gst_message_parse_new_clock), (gst_message_parse_error),
3597 (gst_message_parse_warning), (gst_message_parse_info),
3598 (gst_message_parse_segment_start),
3599 (gst_message_parse_segment_done), (gst_message_parse_duration),
3600 (gst_message_parse_async_start):
3601 Use GstQuark for messages.
3603 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3605 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3607 Add some more quarks needed for messages and queries.
3609 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3611 * docs/design/part-buffering.txt:
3612 Remove the "none" buffering mode, STREAM is a good default.
3613 Move estimated-time to the avail query, that's when it will be needed.
3614 Other small typo fixes and updates.
3616 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3618 * gst/gstindex.c: (gst_index_resolver_get_type):
3619 Don't put descriptions into the nick field of a GEnumValue: it's not
3620 meant for that and some language bindings rely on the nick field to
3621 construct constants and the like. Fixes #526705.
3623 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3628 Merge other changes from 0.10.19 release branch.
3630 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3632 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3635 Actually build dlls when cross-compiling with mingw32.
3638 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3640 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3643 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3645 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3647 * docs/design/draft-latency.txt:
3650 * docs/design/part-buffering.txt:
3651 Update design docs with more buffering ideas.
3653 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3656 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3658 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3661 Revert part that belongs to the preset patch.
3663 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3666 Add qoutes to the define. Fixes # 525961.
3668 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3670 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3671 (gst_file_index_load), (gst_file_index_add_id),
3672 (gst_file_index_get_assoc_entry):
3673 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3674 (gst_mem_index_free_id), (gst_mem_index_add_id),
3675 (gst_mem_index_index_format):
3676 Use GSlice when possible.
3678 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3680 * libs/gst/controller/gstinterpolationcontrolsource.c:
3681 (gst_control_point_free),
3682 (gst_interpolation_control_source_set_internal):
3683 Use GSlice for allocating the control points.
3685 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3687 * plugins/elements/gsttypefindelement.c:
3688 (gst_type_find_element_class_init),
3689 (gst_type_find_element_set_property),
3690 (gst_type_find_element_get_property),
3691 (gst_type_find_element_activate):
3692 * plugins/elements/gsttypefindelement.h:
3694 Fix pad leak when peer query fails.
3695 We can still typefind when the peer returns -1.
3696 Add property to force caps and bypass typefinding. This will be used in
3700 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3705 * gst/glib-compat-private.h:
3706 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3707 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3708 Unconditionally use GSlice for allocation.
3710 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3711 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3712 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3713 (gst_structure_free):
3714 Use GSlice for allocation.
3716 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3718 * gst/parse/Makefile.am:
3719 * gst/parse/grammar.tab.pre.c:
3720 * gst/parse/grammar.tab.pre.h:
3721 * gst/parse/lex._gst_parse_yy.pre.c:
3722 Require a new enough flex and bison and remove the parser hacks to use
3723 a pre-regenerated version.
3725 2008-04-01 Julien Moutte <julien@fluendo.com>
3727 patch by: Jason Zhao <E3423C@motorola.com>
3729 * configure.ac: Add a configure switch to disable option parsing
3733 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3736 * gst/gstregistry.c:
3737 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3738 and handle this case.
3741 Add a comment here describing, why we stat each plugin and not try to
3744 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3746 * libs/gst/base/gstbasetransform.c:
3747 (gst_base_transform_prepare_output_buffer):
3748 Also unset the GAP flag on buffers if we're working inplace but
3749 the element is not GAP-aware.
3751 Mark a comment as FIXME 0.11.
3753 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3756 Fix type in log message and add one to ease seeing how long registry
3757 cache verification takes.
3759 * gst/gstregistry.c:
3760 Only test plugin filenames against G_MODULE_SUFFIX.
3762 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3764 * gst/gstdebugutils.c:
3765 Improve handling ghost/proxy pads.
3767 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3769 * docs/gst/gstreamer-sections.txt:
3772 Expose macro to docs and fix link to it.
3774 2008-03-27 Michael Smith <msmith@fluendo.com>
3776 * libs/gst/dataprotocol/dataprotocol.c:
3777 (gst_dp_packet_from_event_1_0):
3778 When calculating GDP body CRC, use the correct pointer.
3779 Fixes part of #522401.
3781 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3783 Patch by: Mark Nauwelaerts <manauw at skynet be>
3785 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3786 (gst_identity_init), (gst_identity_prepare_output_buffer):
3787 Identity is not always a passthrough element, it can modify the buffer
3788 timestamps when it has a datarate and operates in single-segment mode.
3789 We therefore make it an in_place filter with a custom buffer prepare
3790 function that conditionally makes the input buffer metadata writable
3791 when needed. Fixes #523985.
3793 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3795 Patch by: Mark Nauwelaerts <manauw at skynet be>
3798 * libs/gst/base/gstbasesrc.h:
3799 * libs/gst/base/gstbasetransform.c:
3800 * libs/gst/check/gstcheck.c:
3801 Small documentation fixes. Fixes #523978.
3803 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3805 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3806 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3807 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3809 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3811 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3812 (single_queue_underrun_cb):
3813 When trying to make room in the queue, bump the max allowed buffers
3814 bigger than the current amount of buffers in the queue. this fixes some
3815 nasty deadlocks in multiqueue when dynamically changing the limits of
3818 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3820 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3822 * gst/gstcaps.c: (gst_caps_set_simple),
3823 (gst_caps_set_simple_valist), (gst_caps_intersect):
3825 Constify the field gchar * params in set_simple and friends.
3828 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3830 * gst/gstvalue.c: (gst_value_transform_object_string):
3831 Transform a GstObject to a more meaningfull string that includes the
3832 object type in addition to its name.
3834 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3837 ChangeLog surgery to add bugnumber to commit.
3839 2008-03-23 Rene Stadler <mail@renestadler.de>
3841 * libs/gst/base/gstbasetransform.c:
3842 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3844 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3846 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3847 Rename constant everywhere and don't forget one occurence.
3849 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3851 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3852 Align memory to the pointer size even if the architecture allows
3853 unaligned memory access. Unaligned memory access usually comes with
3854 performance penality.
3856 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3858 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3859 (gst_registry_binary_check_magic),
3860 (gst_registry_binary_load_pad_template),
3861 (gst_registry_binary_load_feature),
3862 (gst_registry_binary_load_plugin):
3863 Align memory to the pointer size instead of always 32 bit. Fixes
3864 unaligned memory accesses on ia64 and friends.
3866 * gst/gstregistrybinary.h:
3867 Bump binary registry format version for this as it changes the
3868 format on those architectures that don't have unaligned access
3869 and 64 bit pointers.
3871 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3873 * docs/pwg/advanced-dparams.xml:
3874 * docs/pwg/building-props.xml:
3875 * docs/pwg/other-source.xml:
3876 * gst/glib-compat.h:
3877 * gst/gstbin.c: (gst_bin_class_init):
3878 * gst/gstclock.c: (gst_clock_class_init):
3879 * gst/gstindex.c: (gst_index_class_init):
3880 * gst/gstobject.c: (gst_object_class_init):
3881 * gst/gstpad.c: (gst_pad_class_init):
3882 * gst/gstpipeline.c: (gst_pipeline_class_init):
3883 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3884 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3885 * libs/gst/base/gstbasetransform.c:
3886 (gst_base_transform_class_init):
3887 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3888 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3889 (_gst_check_fault_handler_sighandler),
3890 (_gst_check_fault_handler_setup), (gst_check_init):
3891 * libs/gst/controller/gstcontroller.c:
3892 (_gst_controller_class_init):
3893 * libs/gst/controller/gstlfocontrolsource.c:
3894 (gst_lfo_control_source_class_init):
3895 * libs/gst/net/gstnetclientclock.c:
3896 (gst_net_client_clock_class_init):
3897 * libs/gst/net/gstnettimeprovider.c:
3898 (gst_net_time_provider_class_init):
3899 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3900 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3901 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3902 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3903 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3904 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3905 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3906 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3907 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3908 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3909 * plugins/elements/gsttee.c: (gst_tee_class_init):
3910 * plugins/elements/gsttypefindelement.c:
3911 (gst_type_find_element_class_init):
3912 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3913 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3914 use it everywhere for GParamSpecs that use static strings (i.e. all).
3915 This gives us less memory usage, fewer allocations and thus less
3916 memory defragmentation. Fixes bug #523806.
3918 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3920 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3921 (gst_param_spec_mini_object):
3922 * gst/gstminiobject.h:
3923 * win32/common/libgstreamer.def:
3924 * docs/gst/gstreamer-sections.txt:
3925 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3926 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3927 GstParamSpecMiniObject into a public header for this.
3929 This make GstMiniObject a bit more consistent with GObject and makes
3930 it possible to extend the param specs.
3932 gst_value_dup_mini_object is mainly useful for set_property methods.
3936 * tools/gst-inspect.c: (print_element_properties_info):
3937 Print something useful for GstMiniObject properties and not just
3940 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3942 * docs/gst/gstreamer-sections.txt:
3943 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3944 (gst_registry_binary_check_magic):
3945 * gst/gstregistrybinary.h:
3946 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3947 and add it to the (private part) of the docs to fix the build.
3949 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3951 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3952 (gst_registry_binary_check_magic),
3953 (gst_registry_binary_read_cache):
3954 * gst/gstregistrybinary.h:
3955 Don't use GST_MAJORMINOR for the binary registry version. Instead
3956 hardcode a value that must be changed whenever the format changes
3957 in an incompatible way.
3958 Also don't GST_ERROR when there is a version mismatch, just
3959 regenerate the registry silently.
3961 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
3964 Back to development - 0.10.18.1
3966 === release 0.10.18 ===
3968 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
3971 releasing 0.10.18, "So far away"
3973 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
3976 * win32/common/config.h:
3977 0.10.17.4 pre-release
3979 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
3981 Patch by: Ole André Vadla Ravnås
3982 <ole dot andre dot ravnas at tandberg dot com>
3984 * docs/gst/gstreamer-sections.txt:
3985 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3986 (gst_poll_update_winsock_event_mask),
3987 (gst_poll_prepare_winsock_active_sets),
3988 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3989 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3990 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3991 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3992 (gst_poll_check_ctrl_commands), (gst_poll_wait):
3994 * win32/common/libgstreamer.def:
3995 Add new function gst_poll_fd_ignored() for improved Windows
3997 Various minor fixes and cleanups. See #520808.
3999 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
4001 * gst/gstindex.c: (gst_index_entry_free):
4003 Don't free key strings which we don't own. Fixes crash in
4004 gst_index_entry_free() (#522741).
4006 * tests/check/Makefile.am:
4007 * tests/check/gst/.cvsignore:
4008 * tests/check/gst/gstindex.c: (test_index_entries),
4009 (gst_index_suite), (gst_index):
4010 Add unit test for the above.
4012 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4014 * win32/common/libgstreamer.def:
4015 Remove symbols that were removed recently. Fixes bug #521740.
4017 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4020 * win32/common/config.h:
4021 0.10.17.3 pre-release
4023 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4025 Patch by: Ole André Vadla Ravnås
4026 <ole dot andre dot ravnas at tandberg dot com>
4028 * docs/gst/gstreamer-sections.txt:
4029 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4030 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4031 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4032 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4033 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4034 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4035 (gst_poll_fd_can_write), (gst_poll_wait),
4036 (gst_poll_set_controllable), (gst_poll_restart),
4037 (gst_poll_set_flushing):
4039 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4040 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4041 (gst_net_time_provider_new):
4042 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4043 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4044 * tests/benchmarks/gstpollstress.c: (main):
4045 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4046 Remove GstPollMode from the API, it does not make sense to let the
4047 application control this.
4048 Add support for Win32.
4049 Fix the testsuite. Fixes #520671.
4051 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4053 Patch by: Ole André Vadla Ravnås
4054 <ole dot andre dot ravnas at tandberg dot com>
4056 * gst/gstregistrybinary.c:
4057 Include io.h for write() and close() when building with MSVC. Fixes
4060 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4063 * gst/gst_private.h:
4064 * gst/gstconfig.h.in:
4065 * gst/gstregistry.h:
4066 * gst/gstregistrybinary.c:
4067 * win32/common/gstconfig.h:
4068 Move registry backend API to private headers where we can. Add
4069 fixme-0.11 comments for the others. Add stubs for the xml backend when
4070 using the binary to ensure they functions exists (they should not be
4071 used though). Fixes #520756.
4073 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4076 * win32/common/config.h:
4079 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4081 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4082 (gst_registry_binary_read_cache):
4083 * gst/gstregistryxml.c: (gst_registry_save):
4084 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4085 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4086 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4087 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4088 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4091 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4093 * gst/gstminiobject.c:
4094 Import gst_private.h before any other header that might include other
4095 glib headers. This fixes the build on windows using native compilers.
4097 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4099 * win32/common/gstconfig.h:
4100 Add here too, just for completeness.
4102 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4105 * gst/gstconfig.h.in:
4106 * gst/gstregistry.h:
4107 Fix broken use of config.h-defined preprocessor directive in a public
4108 header file. Add a corresponding define to gstconfig.h, since we can't
4109 really remove those function declarations from the header file now
4110 (or can we? and why are they there in the first place?).
4112 2008-03-03 Andy Wingo <wingo@pobox.com>
4114 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4117 * gst/gststructure.c (gst_structure_from_string): Warn if
4118 structure_from_string didn't consume the whole string, but the
4119 caller did not provide an end pointer.
4121 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4123 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4125 * gst/gstregistryxml.c: (read_string), (load_feature):
4126 Strings allocated by libxml2 should be freed with xmlFree(), not
4127 with g_free(). Fixes issues on windows in certain contexts (#519698).
4129 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4131 * gst/gstinterface.c: (gst_element_implements_interface):
4132 Don't crash if the element supports the interface queried, but does
4133 not implement GstImplementsInterface. Fixes #519584.
4135 * tests/check/Makefile.am:
4136 * tests/check/gst/.cvsignore:
4137 * tests/check/gst/gstinterface.c:
4138 Add unit test for the above.
4140 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4142 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4145 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4147 * gst/gstsegment.c: (gst_segment_set_seek),
4148 (gst_segment_to_stream_time):
4149 Improve some comment.
4150 Update variables where it makes more sense.
4152 2008-02-29 Rene Stadler <mail@renestadler.de>
4154 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4155 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4156 URIHandlers implemented using language bindings.
4158 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4160 * gst/gstelementfactory.h:
4161 * tests/check/elements/fakesink.c:
4162 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4163 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4164 * tests/check/elements/filesink.c: (setup_filesink):
4165 * tests/check/elements/filesrc.c: (setup_filesrc):
4166 * tests/check/elements/identity.c: (setup_identity):
4167 * tests/check/elements/tee.c:
4168 * tests/check/generic/sinks.c:
4169 * tests/check/generic/states.c: (setup), (teardown):
4170 * tests/check/gst/gst.c:
4171 * tests/check/gst/gstabi.c:
4172 * tests/check/gst/gstbin.c:
4173 * tests/check/gst/gstbus.c: (pull_messages):
4174 * tests/check/gst/gstcaps.c:
4175 * tests/check/gst/gstelement.c:
4176 * tests/check/gst/gstevent.c:
4177 * tests/check/gst/gstghostpad.c:
4178 * tests/check/gst/gstiterator.c:
4179 * tests/check/gst/gstmessage.c:
4180 * tests/check/gst/gstminiobject.c: (my_foo_init):
4181 * tests/check/gst/gstobject.c: (thread_name_object),
4183 * tests/check/gst/gstpad.c:
4184 * tests/check/gst/gstplugin.c:
4185 * tests/check/gst/gstpoll.c:
4186 * tests/check/gst/gstquery.c:
4187 * tests/check/gst/gstsegment.c:
4188 * tests/check/gst/gststructure.c:
4189 * tests/check/gst/gstsystemclock.c:
4190 * tests/check/gst/gsttask.c:
4191 * tests/check/gst/gstutils.c:
4192 * tests/check/gst/gstvalue.c:
4193 * tests/check/gst/struct_hppa.h:
4194 * tests/check/gst/struct_i386.h:
4195 * tests/check/gst/struct_ppc32.h:
4196 * tests/check/gst/struct_ppc64.h:
4197 * tests/check/gst/struct_x86_64.h:
4198 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4199 * tests/check/libs/basesrc.c:
4200 * tests/check/libs/controller.c: (GST_START_TEST):
4201 * tests/check/libs/gdp.c:
4202 * tests/check/libs/gstnetclientclock.c:
4203 * tests/check/libs/gstnettimeprovider.c:
4204 * tests/check/libs/libsabi.c:
4205 * tests/check/libs/struct_hppa.h:
4206 * tests/check/libs/struct_i386.h:
4207 * tests/check/libs/struct_ppc32.h:
4208 * tests/check/libs/struct_ppc64.h:
4209 * tests/check/libs/struct_x86_64.h:
4210 * tests/check/pipelines/cleanup.c:
4211 * tests/check/pipelines/simple-launch-lines.c:
4212 * tests/check/pipelines/stress.c:
4213 And correct even more valid sparse warnings.
4215 * win32/common/libgstreamer.def:
4216 Add gst_poll_fd_init to the list of symbols.
4218 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4220 * gst/gstconfig.h.in:
4221 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4222 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4223 (gst_check_log_critical_func), (gst_check_drop_buffers),
4224 (gst_check_element_push_buffer_list):
4225 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4226 (gst_controller_get_type):
4227 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4228 (gst_object_get_controller), (gst_object_get_control_source):
4229 * libs/gst/controller/gstinterpolationcontrolsource.c:
4230 (gst_interpolation_control_source_new):
4231 * libs/gst/controller/gstlfocontrolsource.c:
4232 (gst_lfo_control_source_new):
4233 * libs/gst/dataprotocol/dataprotocol.c:
4234 (gst_dp_event_from_packet_0_2):
4235 * plugins/elements/gstfdsrc.c:
4236 * plugins/elements/gstmultiqueue.c:
4237 * plugins/elements/gsttee.c:
4238 * plugins/elements/gsttypefindelement.c:
4239 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4240 (gst_file_index_add_association):
4241 * plugins/indexers/gstmemindex.c:
4242 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4243 * tests/check/elements/queue.c: (setup_queue):
4244 * tests/check/gst/gstpipeline.c:
4245 * tests/check/libs/collectpads.c: (setup), (teardown),
4246 (gst_collect_pads_suite):
4247 * tests/examples/adapter/adapter_test.c:
4248 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4249 * tests/examples/xml/createxml.c:
4250 * tests/examples/xml/runxml.c:
4251 * tools/gst-inspect.c:
4253 Correct all relevant warnings found by the sparse semantic code
4254 analyzer. This include marking several symbols static, using
4255 NULL instead of 0 for pointers, not using variable sized arrays
4256 on the stack, moving variable declarations to the beginning of
4257 a block and using "foo (void)" instead of "foo ()" for declarations.
4259 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4261 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4262 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4263 Don't reset GstPollFDs, this is not necessary at all.
4265 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4266 (delayed_restart), (delayed_control):
4267 Use GST_POLL_FD_INIT.
4269 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4271 * gst/gstpoll.c: (gst_poll_fd_init):
4275 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4276 Use some more init macros.
4278 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4280 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4281 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4282 Use init macros and functions.
4284 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4286 * docs/gst/gstreamer-sections.txt:
4287 * gst/gstpoll.c: (gst_poll_fd_init):
4289 Add INIT macro and _init method for initializing the GstPollFD.
4291 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4293 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4294 (gst_fd_sink_update_fd):
4295 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4296 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4297 (delayed_restart), (delayed_control):
4298 Initialize some uninitialized variables as spotted by valgrind.
4300 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4302 * tests/benchmarks/Makefile.am:
4303 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4305 Add poll stress test.
4307 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4309 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4311 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4312 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4313 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4314 * plugins/elements/gstfdsink.h:
4315 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4316 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4317 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4318 (gst_fd_src_uri_set_uri):
4319 * plugins/elements/gstfdsrc.h:
4320 Port to GstPoll. See #505417.
4322 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4324 * win32/common/libgstreamer.def:
4325 Add new gst_poll_ symbols to win32 defs.
4327 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4329 * docs/libs/gstreamer-libs-sections.txt:
4330 * libs/gst/net/gstnetclientclock.c:
4331 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4332 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4333 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4334 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4335 * libs/gst/net/gstnetclientclock.h:
4336 * libs/gst/net/gstnettimeprovider.c:
4337 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4338 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4339 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4340 (gst_net_time_provider_new):
4341 * libs/gst/net/gstnettimeprovider.h:
4342 Use a private stuct to not break ABI.
4344 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4346 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4348 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4349 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4350 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4351 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4352 * libs/gst/net/gstnetclientclock.h:
4353 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4354 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4355 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4356 (gst_net_time_provider_new):
4357 * libs/gst/net/gstnettimeprovider.h:
4358 Massive code removal and cleanups because of GstPoll.
4361 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4364 Add checks for poll, ppoll and pselect.
4366 * docs/gst/gstreamer-docs.sgml:
4367 * docs/gst/gstreamer-sections.txt:
4368 Add docs for GstPoll.
4372 * gst/gstpoll.c: (find_index), (selectable_fds),
4373 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4374 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4375 (gst_poll_set_mode), (gst_poll_get_mode),
4376 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4377 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4378 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4379 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4380 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4381 (gst_poll_fd_can_write), (gst_poll_wait),
4382 (gst_poll_set_controllable), (gst_poll_restart),
4383 (gst_poll_set_flushing):
4385 Add generic poll abstraction. We ideally don't want to have this in core
4386 here but in glib intead...
4387 This code will be used in various network elements and ultimately for
4388 the nanosecond precision monotonic clock (that's why it's here in core).
4389 It'll allow us to implement cancelable socket operations for windows too.
4391 * tests/check/Makefile.am:
4392 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4393 (delayed_stop), (delayed_restart), (delayed_flush),
4394 (delayed_control), (gst_poll_suite):
4395 Add GstPoll unit test.
4397 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4400 Improve documentation of gst_filter_run(). Fixes #518627.
4402 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4405 Add a few lines about the new 'check-inspected-versions' target.
4407 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4409 * tests/check/gst/gstevent.c:
4410 Add qos to the event test. Rename tcase/tsuite; is not only about
4413 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4415 * plugins/elements/gstqueue.c:
4416 Ensure that buffer metadata is writeable, before modifying. Spotted by
4419 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4421 * plugins/elements/gstqueue.c:
4422 * plugins/elements/gstqueue.h:
4423 When dropping buffers in leaky modes, mark next buffers we sent as
4426 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4428 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4429 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4431 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4433 * plugins/elements/Makefile.am:
4434 * plugins/elements/gstbufferstore.c:
4435 * plugins/elements/gstbufferstore.h:
4436 * plugins/elements/gsttypefindelement.h:
4437 Remove GstBufferStore, no idea why we were still building it.
4438 It's not used anywhere and superseded by GstAdapter.
4440 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4441 (gst_file_src_create_mmap):
4442 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4443 Printf format fixes for 64-bit integers.
4445 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4448 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4449 We're not in 0.8 times anymore.
4451 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4453 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4454 (gst_check_element_push_buffer_list):
4455 * libs/gst/check/gstcheck.h:
4456 Make the declaration in the header for
4457 gst_check_element_push_buffer_list match the implementation.
4459 Fix up spelling, grammar and wording of the documentation in a few
4460 places, and add the Since keyword to new API functions.
4461 Use g_list_delete_link instead of g_list_remove in
4462 gst_check_drop_buffers, since it's immeasurably more efficient.
4464 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4465 Use new gst_check_drop_buffers function where appropriate.
4467 * win32/common/libgstbase.def:
4468 * win32/common/libgstreamer.def:
4469 Add new symbols gst_collect_pads_take_buffer,
4470 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4473 Changelog surgery to add API keyword to new gst_check API.
4475 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4477 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4478 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4479 Update pre-generated flex files with flex 2.3.34.
4481 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4483 * gst/gstminiobject.c:
4484 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4485 friendly to subclasses and not require them to know all internals
4486 of their parent class.
4488 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4490 * docs/libs/gstreamer-libs-sections.txt:
4491 * libs/gst/base/gstcollectpads.c:
4492 * libs/gst/base/gstcollectpads.h:
4493 Add sub-buffer functions to collectpads. Fixes #516187.
4494 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4496 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4499 Copy selected buffer-flags when creating subbuffers.
4502 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4504 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4505 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4506 * gst/gstmessage.c: (gst_message_class_init),
4507 (gst_message_finalize):
4508 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4509 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4510 (gst_mmap_buffer_finalize):
4511 Properly chain up finalize functions to the parent class.
4513 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4515 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4517 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4518 (gst_index_set_resolver_full):
4520 Add new function with option to dispose of user_data in resolver.
4521 Actually call the dispose function when finalizing the object and not
4522 just when changing the resolver/filter.
4523 API: GstIndex::gst_index_set_resolver_full()
4525 * docs/gst/gstreamer-sections.txt:
4526 Add new function to docs. Fixes #515469.
4528 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4530 * gst/gstindex.c: (gst_index_finalize):
4531 Chain up finalize to the parent class. Fixes leaking the GstObject
4532 name and other things.
4534 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4537 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4538 pre-releases or releases.
4540 * docs/faq/gst-uninstalled:
4543 * docs/random/release:
4544 Change one of the steps - we only upload core & base to Gnome FTP
4546 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4548 * gst/gstconfig.h.in:
4549 Add 'id' for example.
4553 * plugins/elements/gstfdsink.c:
4554 Link to signals. Doc and comment fixes.
4556 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4558 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4559 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4560 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4561 unused and unimplemented; finally, it is plugin features, not
4562 plugins, that have ranks.
4564 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4566 * gst/gstpluginfeature.h:
4567 Clarify GstRank range docs.
4569 2008-02-05 David Schleef <ds@schleef.org>
4571 * gst/gst.c: Add a separate gst_deinitialized that prevents
4572 gst_init() from being called after gst_deinit(). Fixes #509559
4574 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4576 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4577 (gst_bin_class_init):
4578 * gst/gstelement.c: (gst_element_base_class_init),
4579 (gst_element_class_add_pad_template):
4580 * gst/gstpadtemplate.c: (gst_pad_template_init):
4581 * gst/gstpipeline.c: (gst_pipeline_get_type),
4582 (gst_pipeline_base_init), (gst_pipeline_class_init):
4583 * libs/gst/base/gstbasesink.c:
4584 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4585 (gst_base_src_base_init), (gst_base_src_class_init):
4586 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4587 (gst_capsfilter_class_init):
4588 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4589 (gst_fake_sink_class_init):
4590 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4591 (gst_fake_src_class_init):
4592 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4593 (gst_fd_sink_class_init):
4594 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4595 (gst_fd_src_class_init):
4596 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4597 (gst_file_sink_class_init):
4598 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4599 (gst_file_src_class_init):
4600 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4601 (gst_identity_class_init):
4602 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4603 (gst_multi_queue_class_init):
4604 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4605 (gst_queue_class_init):
4606 * plugins/elements/gsttee.c: (gst_tee_base_init),
4607 (gst_tee_class_init):
4608 * plugins/elements/gsttypefindelement.c:
4609 (gst_type_find_element_base_init),
4610 (gst_type_find_element_class_init):
4611 * tests/check/gst/gstelement.c: (gst_element_suite):
4612 Revert previous changes to the behaviour of GstPadTemplates, etc
4613 and the possiblity to call them in class_init as it breaks too
4614 many elements. Reopens bug #491501.
4616 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4619 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4621 * tools/gst-launch.c:
4622 Dump one graph per pipeline state-change and state change name
4623 (if GST_DEBUG_DUMP_DOT_DIR is set).
4625 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4628 * tests/check/gst/gstpad.c:
4629 Be sure that we have a new copy of the caps and not
4630 reffed caps from a template
4632 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4634 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4635 * gst/gstpipeline.c: (gst_pipeline_get_type),
4636 (gst_pipeline_class_init):
4637 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4638 (gst_base_sink_class_init):
4639 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4640 (gst_base_src_class_init):
4641 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4642 (gst_base_transform_class_init):
4643 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4644 (gst_collect_pads_class_init):
4645 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4646 * libs/gst/net/gstnettimeprovider.c:
4647 (gst_net_time_provider_base_init),
4648 (gst_net_time_provider_class_init):
4649 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4650 (gst_capsfilter_class_init):
4651 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4652 (gst_fake_sink_class_init):
4653 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4654 (gst_fake_src_class_init):
4655 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4656 (gst_fd_sink_class_init):
4657 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4658 (gst_fd_src_class_init):
4659 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4660 (gst_file_sink_class_init):
4661 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4662 (gst_file_src_class_init):
4663 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4664 (gst_identity_class_init):
4665 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4666 (gst_multi_queue_class_init):
4667 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4668 (gst_queue_class_init):
4669 * plugins/elements/gsttee.c: (gst_tee_base_init),
4670 (gst_tee_class_init):
4671 * plugins/elements/gsttypefindelement.c:
4672 (gst_type_find_element_base_init),
4673 (gst_type_find_element_class_init):
4674 Don't use base_init where not absolutely necessary. For example it's
4675 not necessary anymore for adding pad templates or setting element
4678 Leave empty base_init functions in several places as GST_BOILERPLATE
4679 still defines and uses them.
4681 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4683 * gst/gstelement.c: (gst_element_base_class_init),
4684 (gst_element_class_add_pad_template):
4685 * gst/gstpadtemplate.c:
4686 Make it possible (and recommended) to set element details and add
4687 pad templates in the class_init functions by copying the details/pad
4688 templates in GstElement's base_init.
4690 Also make it possible to replace existing pad templates by adding
4691 a new one with the same name. This was done in a hackish fashion
4692 in same elements before already.
4694 Don't reference pad templates that are added a second time. A
4695 new pad template has a refcount of one and is not floating anymore
4696 and to be owned by the element's class. Make this more explicit by
4697 mentioning it in the docs of gst_element_class_add_pad_template().
4699 These changes are backwards compatible. Fixes bug #491501.
4701 * tests/check/gst/gstelement.c:
4702 Add unit test for setting element details, adding pad templates and
4703 replacing them in a subclass.
4705 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4707 * tools/gst-inspect.c: (print_interfaces),
4708 (print_element_properties_info), (print_pad_info),
4709 (print_signal_info), (print_element_info):
4710 Fix a few memory leaks.
4712 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4714 * docs/libs/gstreamer-libs-sections.txt:
4715 * libs/gst/check/gstcheck.c:
4716 * libs/gst/check/gstcheck.h:
4717 Add more functions for unit testing: gst_check_drop_buffers,
4718 gst_check_caps_equal, gst_check_element_push_buffer_list,
4719 gst_check_element_push_buffer
4720 API: gst_check_drop_buffers
4721 API: gst_check_caps_equal
4722 API: gst_check_element_push_buffer_list
4723 API: gst_check_element_push_buffer
4725 2008-02-01 Julien Moutte <julien@fluendo.com>
4727 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4728 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4729 (gst_index_finalize), (gst_index_entry_free),
4730 (gst_index_add_association): Fix memory leaks.
4731 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4732 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4733 (gst_mem_index_free_format), (gst_mem_index_free_id),
4734 (gst_mem_index_finalize): Fix memory leaks.
4735 * win32/common/config.h: Updated to CVS HEAD.
4737 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4740 Some more details about how the plugin docs works.
4742 * docs/plugins/gstreamer-plugins-sections.txt:
4745 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4747 * gst/parse/grammar.tab.pre.c:
4748 * gst/parse/grammar.tab.pre.h:
4749 * gst/parse/grammar.y:
4750 * gst/parse/lex._gst_parse_yy.pre.c:
4751 Add delayed set-property. This allows to set properties on dynamicaly
4752 created objects (pads in videomxer). Fixes #509391.
4754 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4757 Check if caps are not NULL (fix bug #510194)
4759 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4761 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4762 (gst_base_sink_get_position_paused):
4763 Add fixme regarding EOS in pull mode.
4764 Fix position reporting in PAUSED for negative rates.
4766 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4768 * gst/gstminiobject.c: (gst_mini_object_replace):
4769 When replacing a miniobject, do a quick equality check first so that we
4770 can avoid a ref/unref pair.
4772 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4774 * docs/design/part-synchronisation.txt:
4777 * docs/plugins/Makefile.am:
4778 * docs/plugins/gstreamer-plugins-docs.sgml:
4779 * docs/plugins/gstreamer-plugins-sections.txt:
4780 * plugins/elements/gstmultiqueue.c:
4781 Add multiqueue to the docs.
4783 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4788 === release 0.10.17 ===
4790 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4793 releasing 0.10.17, "Due Negligence"
4795 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4798 Revert caps != NULL check temporarily for 0.10.17 release.
4800 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4803 Check if caps are not NULL (fix bug #510194)
4805 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4808 Fix compilation on systems that have posix timers but no
4811 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4814 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4816 * tools/gst-inspect.c:
4817 Revert previous commit in preparation for an impromptu 0.10.17 release
4819 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4821 * tools/gst-inspect.c: (print_interfaces),
4822 (print_element_properties_info), (print_pad_info),
4823 (print_signal_info), (print_element_info):
4824 Fix a few memory leaks.
4826 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4831 === release 0.10.16 ===
4833 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4836 releasing 0.10.16, "Special Dispensation"
4838 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4841 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4842 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4843 not fail when trying to crosscompile on OpenEmbedded (#511750).
4845 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4848 Use $(MAKE) instead of make to fix the build if GNU make is
4849 called different. Fixes bug #510747.
4851 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4853 * gst/gstplugin.c: (_gst_plugin_initialize):
4854 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4855 again, which I broke two commits ago when changing the API
4856 of gst_plugin_register_static(): the g_list_foreach() in
4857 _gst_plugin_register_static still assumed the old function
4858 signature and would therefore fail (re-fixes #510187).
4860 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4861 (_gst_plugin_register_static), (gst_plugin_register_static):
4862 Revert the (technically correct) change to call g_thread_init() from
4863 the pre-main() constructor. This will break programs which call
4864 g_thread_init() without an if (!g_thread_supported()) guard in their
4865 main function. We could just blame it on GLib or the application, but
4866 it's probably best to just avoid this altogether and simply not use
4867 any GLib functions here and use plain old malloc() with a simple
4868 array to store the plugins to register later when gst_init() is
4869 finally called (re-fixes #510187).
4871 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4872 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4873 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4874 (GST_START_TEST), (gst_plugin_suite):
4875 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4878 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4880 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4881 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4882 This makes gtk-doc complain, but results in slightly better
4883 compiler errors. The old _gst_plugin_register_static() is
4884 still guarded, so there'll be a compiler warning about that
4885 instead. Fixes #510187 too.
4887 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4889 * gst/gst.c: (init_post):
4890 * gst/gstplugin.c: (_gst_plugin_register_static),
4891 (gst_plugin_register_static), (_gst_plugin_initialize):
4892 * gst/gstplugin.h: (GstPluginFilter):
4893 Change API of gst_plugin_register_static() to not take
4894 a GstPluginDesc, but rather just take all the arguments
4895 in a GstPluginDesc directly. This is more intuitive and
4896 avoids certain mistakes when porting code from
4897 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4900 * tests/check/gst/gstplugin.c:
4901 Fix up for changed API.
4903 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4905 * docs/faq/legal.xml:
4906 Update FAQ, Totem actually has an exception these days.
4908 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4910 * win32/common/libgstreamer.def:
4911 Add new API declarations
4913 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4915 * gst/gstminiobject.c:
4916 Spelling fixes for the API docs.
4918 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4920 * libs/gst/base/gstbasetransform.c:
4921 Fix long property description for QoS.
4923 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4926 _gst_trace_on is already provided by gsttrace.h, no need to declare
4929 * docs/libs/gstreamer-libs-sections.txt:
4930 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4931 and remove strange tcase_add_test which is outputting a warning.
4933 * libs/gst/check/gstcheck.c:
4934 * libs/gst/check/gstcheck.h:
4935 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4936 and define them in gstcheck.c instead of having every .c file whcih
4937 includes gstcheck.h be defining its own copy and relying on symbol
4938 interposing to marry them all, which doesn't work on Solaris.
4940 * tests/check/elements/identity.c: (GST_START_TEST):
4941 Don't define 'buffers' locally, it comes from libgstcheck.
4943 * tests/check/generic/sinks.c: (send_buffer):
4944 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4946 * tests/check/gst/gststructure.c: (GST_START_TEST):
4947 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4948 * tests/check/gst/gstutils.c: (GST_START_TEST):
4949 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4950 Add a bunch of casts to make various constants fit the types
4951 they're being assigned to.
4953 2008-01-10 Stefan Kost <ensonic@users.sf.net>
4955 * gst/gstchildproxy.c:
4956 Improve docs and add some ideas for making this more general-purpose.
4958 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
4960 * gst/gst_private.h: (GST_CAT_TYPES):
4961 Add GST_CAT_TYPES, for consistency, and so that the other
4962 debug categories don't make fun of it. Spotted by Saur on IRC.
4964 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4966 * gst/parse/Makefile.am:
4967 Move types.h from EXTRA_DIST to noinst_HEADERS.
4969 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4972 Add -Wno-portability to the automake parameters to stop warnings
4973 about GNU make extensions being used. We require GNU make in almost
4974 every Makefile anyway.
4977 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4978 at the same time is required for per target flags.
4980 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4983 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4984 __GNUC__ is defined before using it.
4986 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4988 * docs/gst/gstreamer-sections.txt:
4989 * gst/gst.c: (init_post):
4990 * gst/gstplugin.c: (_gst_plugin_register_static),
4991 (gst_plugin_register_static), (_gst_plugin_initialize),
4992 (gst_plugin_register_func):
4993 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4994 API: add gst_plugin_register_static() and deprecate
4995 GST_PLUGIN_DEFINE_STATIC, since it's not portable
4997 Also, in _gst_plugin_register_static(), make sure to call
4998 g_thread_init() before calling GLib functions such as
4999 g_list_append() if we're not initialised yet, since that
5000 may lead to random crashes with older GSlice/GLib versions.
5002 * tests/check/gst/gstplugin.c:
5003 Adapt unit test to above changes.
5005 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5007 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5008 * gst/gstcaps.c: (gst_caps_to_string):
5009 * gst/gststructure.c: (GST_ASCII_IS_STRING),
5010 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5011 Yet another gratuitous GString micro-optimisation: add a (private)
5012 function that serialises a structure appending to an existing
5013 GString, so that when we serialise caps we don't need to alloc+free
5014 a throwaway GString for each structure (each of which also entailing
5015 multiple reallocs on the way); also use g_string_sized_new() in
5016 various places with an approximate string length to avoid reallocs
5017 within GString. See #500143.
5019 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5021 * gst/gststructure.c: (gst_structure_id_set_value):
5022 Always check UTF-8 conformance of structure strings and not only
5023 if the debugging system is enabled; reasoning: the behaviour of
5024 the actual code shouldn't really change depending on whether the
5025 debugging system is enabled or not (#508291).
5027 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5030 Remove old coverage target in favour of "make lcov".
5032 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5034 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5035 (gst_base_src_loop):
5036 The start segment for reverse playback goes from start to last_stop.
5038 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5040 Patch by: Peter Kjellerstedt <pkj axis com>
5043 Cast the results from the timeval/spec_to_time macros to what the
5044 docs say it casts to, a GstClockTime. fixes #508175.
5046 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5049 Update some comments.
5051 * tools/gst-inspect.c: (print_element_properties_info):
5052 Improve printing of flags.
5054 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5056 * libs/gst/base/gstbasetransform.c:
5057 (gst_base_transform_transform_size):
5058 Print element name with g_warning() if there's a problem
5061 2008-01-07 David Schleef <ds@schleef.org>
5063 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5065 * libs/gst/controller/gstcontroller.h:
5066 * libs/gst/controller/gstcontrolsource.h:
5067 * libs/gst/controller/gstinterpolationcontrolsource.h:
5068 * libs/gst/controller/gstlfocontrolsource.h:
5069 * libs/gst/dataprotocol/dataprotocol.h:
5070 Fix empty prototypes. Fixes bug #507957.
5072 2008-01-07 David Schleef <ds@schleef.org>
5074 * docs/faq/dependencies.xml: Fix typo.
5076 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5078 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5079 (gst_base_src_loop):
5080 Don't update the last_stop position in do_seek, that's the position we
5082 Read backwards when we have a negative rate.
5084 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5085 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5087 Add check for reverse reading.
5089 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5091 Patch by: Alexis Ballier <aballier at gentoo org>
5093 * tests/check/gst/gstabi.c:
5094 * tests/check/gst/struct_ppc64.h:
5095 * tests/check/libs/libsabi.c:
5096 * tests/check/libs/struct_ppc64.h:
5097 Decide which header to include based on the userland ABI target
5098 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5099 for 64-bit userland (#503590). Might need something similar for
5102 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5104 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5105 Log the reason why fopen fails in addition to the fact that it failed.
5107 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5109 * gst/parse/parse.l:
5110 Use "%option never-interactive" to prevent useless calls to isatty()
5111 on every input when parsing. Also use "%option noinput" to not define
5112 the static input/yyinput functions which we don't use anyway. This
5113 removes a compiler warning with gcc 4.3 and saves some bytes in the
5116 * gst/parse/lex._gst_parse_yy.pre.c:
5117 Regenerated for the above change.
5119 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5121 * gst/gstpad.c: (fixate_value):
5122 Don't crash when trying to fixate and empty list.
5125 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5127 * docs/faq/gst-uninstalled:
5128 Clarify the comments to make the usage of this script and what it
5129 does easier to understand.
5131 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5133 * tools/gst-plot-timeline.py:
5134 Add more options to gst-plot-timeline
5136 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5138 * docs/design/part-synchronisation.txt:
5139 Some more info on how the stream_time in GstBaseSink is done.
5141 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5143 * tests/check/generic/sinks.c: (gst_sinks_suite):
5144 Put back the tcase_set_timeout(), apparently it's needed after
5145 all; fix it up in a way that makes things work with valgrind too.
5147 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5149 * gst/gstdebugutils.c:
5150 Add warning when failed to open file for writing.
5152 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5154 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5156 * gst/gstvalue.c: (gst_value_is_fixed):
5157 Optimisation: bail out of the loop as early as possible (#500143).
5159 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5161 * gst/gstcaps.c: (gst_caps_to_string):
5162 * gst/gstinfo.c: (gst_debug_construct_term_color):
5163 * gst/gstparse.c: (gst_parse_launchv):
5164 * gst/gstutils.c: (gst_util_dump_mem):
5165 * gst/gstvalue.c: (gst_value_serialize_any_list),
5166 (gst_value_transform_any_list_string):
5167 Bunch of gratuitous nano-optimisations.
5169 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5171 * tests/check/generic/sinks.c: (async_done_func),
5172 (async_done_eos_func):
5173 Fix leak in unit test (bus sync handler must unref the message
5174 if it returns GST_BUS_DROP). Don't fiddle with the default test
5175 timeout, this is smaller than the current preconfigured value
5176 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5177 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5179 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5181 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5184 Check for stdio_ext.h for the filesink changes.
5186 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5187 (gst_file_sink_class_init), (gst_file_sink_init),
5188 (gst_file_sink_dispose), (gst_file_sink_set_property),
5189 (gst_file_sink_get_property), (gst_file_sink_open_file),
5190 (gst_file_sink_close_file):
5191 * plugins/elements/gstfilesink.h:
5192 Add two properties to control the buffering mode and size.
5193 API: GstFileSink::buffer-mode
5194 API: GstFileSink::buffer-size
5197 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5199 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5200 Add some more docs to explain why a FIXME was wrongly added.
5202 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5205 Fix typo in the gst_object_{ref,unref} documentation.
5207 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5209 * tests/check/libs/controller.c:
5210 * tests/check/libs/typefindhelper.c:
5211 * tests/check/pipelines/parse-launch.c:
5212 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5213 going to be deprecated (see #498924).
5215 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5217 * gst/gsttypefind.c: (gst_type_find_register):
5218 Make gst_type_find_register work for static typefind functions,
5219 ie. allow passing plugin == NULL (prerequisite for #498924).
5221 * gst/gstelementfactory.c: (gst_element_register):
5222 Small docs addition.
5224 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5226 * gst/gstpad.c: (gst_pad_dispose):
5227 Really unlink the peer pad instead of setting the peer pointer to NULL
5228 when we dispose the pad.
5229 This correctly calls the unlink functions and makes sure that the peer
5230 does not have a handle to invalid memory. See #504671.
5232 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5233 Add testsuite for above case.
5235 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5237 Patch by: Peter Kjellerstedt <pkj axis com>
5239 * libs/gst/check/gstcheck.h:
5240 Fix detection of the check version we're compiling against (would
5241 otherwise break if check goes v0.10.0); correctly report the
5242 name of the failed test again in case of failure, instead of
5243 just 'tf' (fixes #504499).
5245 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5247 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5248 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5249 (gst_base_src_loop), (gst_base_src_set_flushing),
5250 (gst_base_src_change_state):
5251 Allow sending EOS to the source to make it send out an EOS event from
5252 the streaming thread.
5253 Update docs and deprecate the old NULL/READY shutdown method.
5255 * tests/check/libs/basesrc.c: (GST_START_TEST),
5256 (gst_basesrc_suite):
5257 Add unit test for controlled shutdown.
5259 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5261 * docs/design/part-synchronisation.txt:
5264 * gst/gstsegment.c: (gst_segment_set_seek),
5265 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5266 (gst_segment_to_running_time):
5267 The seek format can be different from the segment format when the start
5268 and stop values are not to be updated, when we only do a rate change for
5271 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5272 (gst_segment_suite):
5273 Add a testcase for the rate-only seeks, checking that the format is
5274 correctly ignored when start and stop are not updated.
5276 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5278 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5280 * win32/vs8/grammar.vcproj:
5281 * win32/vs8/libgstcontroller.vcproj:
5282 * win32/vs8/libgstreamer.vcproj:
5283 Fix compilation with VS8 and include some missing files.
5285 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5288 Small docs addition: mention that the strings returned by
5289 gst_tag_list_get_string*() are in UTF-8 encoding.
5291 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5294 The check-exports stuff moved to common/win32.mak, so include that.
5296 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5298 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5299 (gst_base_src_perform_seek), (gst_base_src_get_range),
5300 (gst_base_src_set_playing), (gst_base_src_change_state):
5301 Make _wait_playing() not check any variables so that we can call this
5302 function from subclasses. Move the checks elsewhere similar to
5303 _wait_preroll() in basesink.
5305 Only signal the LIVE cond when we are going back to PLAYING.
5307 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5309 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5310 Use g_remove() and g_rename(). Check result of g_rename(), and
5311 don't leak the open file descriptor if we error out when writing.
5313 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5314 Must check the return value of close() after writing out the new
5315 registry file. Sometimes write problems such as out-of-diskspace
5316 are only reported when the file is closed and not already during
5317 the write. This may have caused partial/broken registry files in
5318 some rare circumstances. Should fix #503675.
5320 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5322 * docs/gst/.cvsignore:
5323 * docs/libs/.cvsignore:
5324 * docs/plugins/.cvsignore:
5325 Ignore files generated by new common/* modifications
5327 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5329 * win32/common/libgstbase.def:
5330 Yes, you can also have a <TAB> if you want.
5332 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5334 * win32/common/libgstbase.def:
5335 Add new basetransform API to win export file.
5337 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5339 * tests/check/gst/gstbin.c:
5340 Adjust the test to the refcount change two days ago.
5342 2007-12-14 David Schleef <ds@schleef.org>
5344 * docs/faq/getting.xml: Fix typo.
5346 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5348 * docs/libs/gstreamer-libs-sections.txt:
5349 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5350 (gst_base_transform_prepare_output_buffer),
5351 (gst_base_transform_set_gap_aware):
5352 * libs/gst/base/gstbasetransform.h:
5353 API: Add gst_base_transform_set_gap_aware() to control whether
5354 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5355 get buffers with this flag at all. Fixes #503231.
5357 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5359 * libs/gst/base/gstbasesink.c:
5360 * libs/gst/base/gstbasesrc.c:
5361 * libs/gst/base/gstbasetransform.c:
5362 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5363 thread. Correct log message in gstbasesrc.c.
5365 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5367 * gst/gstutils.c: (element_find_unconnected_pad):
5368 Fix possible compiler warning (#503417).
5370 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5372 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5373 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5375 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5377 * tools/gst-inspect.c: (print_element_properties_info):
5378 Add support for GstFraction properties.
5380 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5383 Add check-exports target and run it as part of 'make check'
5384 (see #499140 and #493983).
5386 * gst/gst_private.h:
5387 * gst/gstelementfactory.h:
5388 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5389 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5390 (_priv_gst_in_valgrind):
5391 * gst/gstinfo.h: (GstLogFunction):
5392 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5393 (gst_type_find_register):
5394 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5395 (gst_type_find_factory_get_type):
5396 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5397 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5398 (gst_controller_new_valist), (gst_controller_new_list),
5399 (_gst_controller_dispose), (_gst_controller_class_init):
5400 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5401 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5402 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5403 (gst_object_get_controller), (gst_object_set_controller),
5404 (gst_object_suggest_next_sync), (gst_object_sync_values),
5405 (gst_object_set_control_source), (gst_object_get_control_source),
5406 (gst_object_get_value_arrays), (gst_object_get_value_array),
5407 (gst_object_get_control_rate), (gst_object_set_control_rate):
5408 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5409 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5410 Make some functions that should be static static; rename some
5411 private symbols so that they don't get exported; add some FIXME
5412 comments so we can move accidentally exported functions into
5413 our private section in 0.11.
5415 * win32/common/libgstreamer.def:
5416 Add gst_utils_get_timestamp().
5418 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5422 Add more missing "Since:" tags to docs.
5424 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5427 Add mising "Since:" to docs.
5429 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5432 Include "glib-compat-private.h" to fix the build on system with
5433 glib < 2.10. Fixes #503131.
5435 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5439 Actually its not PURE as it gets the time from elsewhere.
5441 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5443 * docs/gst/gstreamer-sections.txt:
5445 * gst/gstdebugutils.c:
5449 * libs/gst/base/gstbasesink.c:
5450 * tools/gst-launch.c:
5451 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5452 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5453 Thanks Tim for spotting.
5454 API: gst_util_get_timestamp
5456 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5459 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5461 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5463 * gst/gststructure.c: (gst_structure_validate_name),
5464 (gst_structure_new_valist), (gst_structure_parse_value),
5465 (gst_structure_from_string):
5466 Don't crash in _from_string() if the structure name is not valid
5467 (fixes #501560). Allow structure names to start with a number
5468 again (this apparently broke the ubuntu codec installer).
5470 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5472 Add unit test for the crash; update unit tests for new behaviour.
5474 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5477 Clarify gst_element_get_compatible_pad() documentation.
5480 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5482 * tests/check/Makefile.am:
5483 Don't forget to dist {gst,libs}/struct_hppa.h.
5485 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5487 * libs/gst/base/gstbasesink.c:
5488 Use new API to get elapsed time.
5490 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5492 * gst/gstdebugutils.c:
5494 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5496 * tools/gst-launch.c:
5497 Use new API to get elapsed time.
5499 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5501 * docs/gst/gstreamer-sections.txt:
5503 * gst/gstdebugutils.c:
5505 Rename new API + ChangeLog surgery to remove old name from last entry..
5507 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5509 * docs/gst/gstreamer-sections.txt:
5511 * gst/gstdebugutils.c:
5513 Now hide the different clock stuff behind a macro.
5515 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5518 * gst/gstdebugutils.c:
5520 Apply the posix-timer check from #361155. Conditionally use the posix
5521 timer for logging. This gives better timestamp precission, less
5522 overhead and no ntp jitter.
5524 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5526 * gst/gstminiobject.c: (gst_mini_object_get_type),
5527 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5528 (gst_mini_object_finalize), (gst_mini_object_copy),
5529 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5530 (gst_mini_object_replace), (param_mini_object_validate),
5531 (gst_param_spec_mini_object_get_type):
5532 Some cleanup and checking against invalid function parameters.
5534 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5536 * docs/gst/gstreamer-sections.txt:
5538 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5539 (gst_systemclock_suite):
5540 Start merging in the easy bits of #361155, the monotonic clock patch.
5541 This one adds a few handy macros with docs and a testsuite.
5543 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5545 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5546 Be a bit smarter when seeking, like, don't try to do a seek when it's
5547 not needed. This avoids errors when the file is not seekable.
5550 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5552 * docs/gst/gstreamer-docs.sgml:
5553 * docs/gst/gstreamer-sections.txt:
5554 * docs/gst/gstreamer.types.in:
5559 * plugins/elements/gstqueue.c:
5560 Due to popular request remove preset interface again. :-(.
5562 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5564 * tools/gst-inspect.c:
5565 Print 'default value' for enums and flags too.
5567 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5569 * docs/random/ensonic/profiling.txt:
5573 Fix typo and give better log output.
5575 * gst/gstdebugutils.c:
5576 * gst/gstdebugutils.h:
5577 More ideas, make graphs a bit smaller and fix param name in macro.
5579 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5582 Try harder to use the return value from fgets().
5584 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5587 For theses two fgets we handle the error below.
5589 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5591 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5592 Only send upstream events upstream. Fixes #498746.
5594 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5596 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5598 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5599 (gst_identity_init), (gst_identity_transform_ip),
5600 (gst_identity_set_property), (gst_identity_get_property):
5601 * plugins/elements/gstidentity.h:
5602 Add property to disable handoff signal emission. Fixes #498694.
5603 API: GstIdentity::signal-handoffs
5605 2007-11-21 Julien Moutte <julien@fluendo.com>
5607 * docs/faq/gst-uninstalled: Yet another missing library for the
5608 uninstalled script (fft)
5610 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5612 * docs/faq/developing.xml:
5613 Add a question about how to submit new translations.
5615 * docs/random/release:
5616 Update the contact email address for the Translation Project
5618 * plugins/elements/gstfdsrc.c:
5619 The parent_class for fdsrc is pushsrc, not GstElement.
5621 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5624 Plug a leak and fix saving.
5626 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5628 * docs/gst/gstreamer-sections.txt:
5629 Add new gst_preset__get_property_names() function to the docs
5632 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5636 Change _get_preset_names API to return a strv with copies. Add
5637 _get_property_names to allow implementations to filter and provide
5638 good default implementation.
5640 2007-11-20 Julien MOUTTE <julien@moutte.net>
5642 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5645 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5648 More cleanups, docs, and TODOs from comments that now slowly come in.
5650 2007-11-19 Julien MOUTTE <julien@moutte.net>
5652 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5655 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5658 Fix bogus warning and make the property type specific code more
5661 2007-11-19 Julien MOUTTE <julien@moutte.net>
5663 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5666 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5668 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5669 (gst_bin_add_func), (gst_bin_remove_func),
5670 (gst_bin_change_state_func), (gst_bin_continue_func):
5671 Change email, cleanups add some more debug and comments.
5672 Also set bus and clock on new elements when the pipeline was in error.
5674 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5677 * gst/gstdebugutils.c:
5678 Fix build with --disable-gst-debug. Fixes #497859.
5679 Spotted by Sameer Naik.
5681 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5684 Little documentation improvment.
5687 More TODO cleanups. Remove c++ comments.
5689 * libs/gst/controller/gstcontroller.c:
5690 Add TODO and use quark from static string.
5692 * tests/check/gst/gstmessage.c:
5693 * tests/check/gst/gststructure.c:
5694 Use quark from static string.
5696 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5699 Add some comments and TODOs.
5702 Add padding for future changes.
5704 * plugins/elements/gstqueue.c:
5705 Implement the iface.
5707 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5709 * docs/gst/gstreamer-docs.sgml:
5710 * docs/gst/gstreamer-sections.txt:
5711 * docs/gst/gstreamer.types.in:
5716 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5718 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5724 === release 0.10.15 ===
5726 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5729 releasing 0.10.15, "October"
5731 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5733 * win32/vs6/libgstreamer.dsp:
5734 Convert line endings back to DOS.
5736 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5738 * docs/design/draft-tagreading.txt:
5739 * docs/random/ensonic/profiling.txt:
5740 Update fast tagreading draft and performance profiling ideas.
5742 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5744 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5745 Don't hold the object lock when unreffing a buffer because it could
5746 cause a deadlock when the finalize function wants to grab the object
5747 lock too. Fixes #495133.
5749 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5751 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5752 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5753 Also accumulate time correctly when doing reverse playback. Fixes
5755 When converting to running and stream time, use default values for
5756 start/stop/time/accum when comparing different formats. Fixes #494245.
5758 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5759 Do running/stream time in TIME format.
5761 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5762 (gst_segment_suite):
5763 2 new unit tests for segment accumulation.
5765 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5767 * gst/gst.c: (init_pre):
5768 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5769 (_gst_debug_bin_to_dot_file):
5770 Move getenv() back into gst_init, so everyone can live happily
5771 ever after. Make sure the symbol isn't exported though.
5773 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5775 Patch by: Sebastien Moutte <sebastien moutte net>
5777 * win32/common/gstenumtypes.c:
5778 * win32/common/gstenumtypes.h:
5781 * win32/vs6/libgstreamer.dsp:
5782 Update vs6 project files (#494343).
5784 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5786 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5787 (gst_base_src_perform_seek), (gst_base_src_default_event),
5788 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5789 (gst_base_src_activate_pull):
5790 Unify flushing code, remove some old unlock code that is no longer used.
5791 Take the streaming lock when seeking to avoid races. Fixes #492729.
5792 Added some more comments.
5794 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5796 * gst/gst.c: (_gst_disable_segtrap):
5797 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5798 we can use gst_segtrap_is_enabled() there now that we have that API.
5799 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5800 to do the getenv here (and export the variable).
5802 * gst/gstdebugutils.c: (debug_dump_element),
5803 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5804 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5806 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5807 (gst_debug_log_default):
5808 Rename _gst_info_start_time to priv_gst_info_start_time so it
5809 doesn't get exported (was never in any header).
5811 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5812 (gst_plugin_loading_mutex):
5813 Make static mutex gst_plugin_loading_mutex really static (was never
5814 in any header), and use gst_segtrap_is_enabled() instead of
5815 _gst_disable_segtrap.
5817 * gst/gsttrace.c: (_gst_trace_default):
5818 Make local _gst_trace_default static (was never in any header).
5820 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5822 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5824 * win32/common/libgstbase.def:
5825 * win32/common/libgstcontroller.def:
5826 * win32/common/libgstdataprotocol.def:
5827 * win32/common/libgstnet.def:
5828 * win32/common/libgstreamer.def:
5829 Add more missing symbols, remove some duplicates, and sort
5830 as the 'sort' command sorts it (partially fixes #493983).
5832 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5834 * gst/gstelement.c: (gst_element_set_state_func):
5835 Only change the state cookie if a different state was set on the
5836 element. See #492729.
5838 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5841 Remove unused and uninitialised type variables that were still
5842 exported for some reason (they were never in any header files
5845 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5847 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5848 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5849 (gst_base_sink_event), (gst_base_sink_get_position_last),
5850 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5851 (gst_base_sink_change_state):
5852 Don't try to report a 0 position when we don't know, return -1 and FALSE
5853 instead. This mostly happens when we are prerolling.
5854 Make sure we can report the right position before we post the ASYNC_DONE
5855 message so that a message handler can query position without races.
5857 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5858 (async_done_handoff), (async_done_func), (send_buffer),
5859 (async_done_eos_func), (gst_sinks_suite):
5860 Add two tests for the above.
5862 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5865 Update with new email address.
5867 * docs/design/part-TODO.txt:
5868 Add some more info about future pad-block and negotiation changes.
5870 * docs/design/part-buffering.txt:
5871 Add some ideas about buffering reporting.
5873 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5875 * tests/check/gst/gstobject.c:
5876 Disable silly racy test that always fails on this combination of CPU
5879 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5881 Patch by: Murray Cumming <murrayc@murrayc.com>
5884 Corrected the registration of the parent-set and parent-unset
5885 signals: The parameter is a GstObject, not a GObject (#493134).
5887 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5889 * gst/gst_private.h:
5898 Move declaration of private _gst_foo_initialize() functions into
5899 our private header file where they should have been all along.
5901 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5903 * docs/plugins/gstreamer-plugins-sections.txt:
5904 * gst/gstdebugutils.h:
5906 * plugins/elements/gstqueue.c:
5907 gtk-doc fixes; trailing-comma-in-enum fix.
5909 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5911 * gst/gst.c: (gst_deinit):
5912 Clean up on deinit (not the external ones though, doesn't seem to be
5913 needed for some reason).
5915 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5917 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5918 Remove __declspec(dllimport) for MSVC that was copied over into core
5919 from a plugin, obviously without ever having been tested (note the
5920 single underscore in _declspec in the initial commit), and that doesn't
5921 really make sense. See #492077.
5923 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5925 * gst/gst.c: (init_post):
5926 * gst/gstevent.c: (_gst_event_initialize):
5927 * gst/gstquery.c: (_gst_query_initialize):
5928 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5929 g_type_class_ref() other types as well, see #349410 and #64764.
5931 * gst/gstbuffer.c: (_gst_buffer_initialize):
5932 * gst/gstmessage.c: (_gst_message_initialize):
5933 Simplify existing g_type_class_ref().
5935 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5937 * gst/gstformat.c: (_gst_format_initialize):
5938 g_type_class_ref() our GstFormat type to make sure we avoid the
5939 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5940 bug #64764. Should fix intermittent tee unit test failures (#474823).
5942 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5944 * tests/check/elements/tee.c: (test_num_buffers):
5945 Simplify, simplify, simplify - or not. Rewrite unit test
5946 not to use gst_parse_launch(); allow N sub-streams. Increasing
5947 the number of sub-streams seems to reproduce #474823 more easily.
5949 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5951 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5954 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5955 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5956 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5957 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5958 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5959 so use _pipe() directly (#492077).
5961 * win32/common/dirent.c: (_treaddir):
5962 Add a couple of casts to make it build without warnings with MSVC.
5964 * win32/common/libgstreamer.def:
5965 Add some more symbols that need to be exported.
5967 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5969 * tests/examples/metadata/read-metadata.c: (message_loop):
5970 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5971 arriving in a second or third tag message are added to
5972 the tag list as well.
5974 2007-10-31 Stefan Kost <ensonic@users.sf.net>
5976 * libs/gst/base/gstbasesrc.c:
5977 Its "Since:" and not "@Since:". And remove an superflous cast.
5979 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
5981 * docs/libs/gstreamer-libs-sections.txt:
5982 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5983 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5984 (gst_base_sink_get_property), (gst_base_sink_render_object),
5985 (gst_base_sink_preroll_object),
5986 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5987 (gst_base_sink_change_state):
5988 * libs/gst/base/gstbasesink.h:
5989 Add a new last-buffer property that contains the last buffer used in
5990 basesink for preroll or rendering. useful for making snapshots.
5991 API: gst_base_sink_get_last_buffer()
5992 API: GstBaseSink::last-buffer
5994 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5996 * docs/gst/running.xml:
5998 * gst/gstdebugutils.c:
5999 * gst/gstdebugutils.h:
6000 * tools/gst-launch.c:
6001 Improve bin graph dumping, by using the envvar to specify a path.
6002 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6004 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
6006 * plugins/elements/gsttypefindelement.c:
6007 (gst_type_find_element_handle_event),
6008 (gst_type_find_element_activate):
6009 Post special error message if we can't determine the type of a stream
6012 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6014 * docs/gst/running.xml:
6015 * gst/gstdebugutils.c:
6016 Document new env-var. Add one log-line after dumpng a graph.
6018 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6021 Ugly hack to put the (recently removed and non-portable, apparently)
6022 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6023 GNU ld, because without that 'make check' fails miserably on my debian
6024 stable box. Someone with more knowledge of linker intricacies and
6025 portability issues than me fix this properly please.
6027 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6029 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6030 Reset last seen position after flushing so that we don't report the old
6033 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6035 * gst/gstelementfactory.c: (gst_element_register):
6037 Patch from Alessandro Decina adding get_type_full and
6038 get_protocols_full private vfuncs to the URIHandler interface
6039 to allow bindings to support creating URI handlers.
6040 Partially fixes: #339279
6041 API: GstURIHandlerInterface::get_type_full
6042 API: GstURIHandlerInterface::get_protocols_full
6044 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6046 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6047 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6048 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6049 Make it so that pads are considered linked until a buffer is pushed
6050 and discovered otherwise. This avoids problems with decodebin2 hanging
6051 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6054 Make sure we lock the multiqueue when updating the max-size properties.
6056 Fix a crash on Solaris in a debug statement in get_request_pad that
6057 passes a NULL string to GST_DEBUG.
6059 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6060 (run_output_order_test):
6061 Fix the test to allow the first buffer on not-linked pads to come out
6062 of sequence while multiqueue discovers that they are not-linked.
6064 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6067 * libs/gst/check/Makefile.am:
6068 Use a custom export symbol regex for libgstcheck, as it needs
6069 to export symbols that don't match the standard GStreamer gst_*
6070 pattern, and --export-dynamic is not portable (only works on
6073 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6074 (gst_check_setup_sink_pad):
6075 Make sure to pass a message parameter to the fail_* macros.
6077 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6078 Fix some compiler warnings.
6080 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6082 * tests/check/gst/gststructure.c: (test_to_string):
6083 Disable test that checks that white spaces are not allowed
6084 in structure names or field names, since we need to
6085 support that for now for backwards compatibility reasons.
6087 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6089 * docs/gst/gstreamer-sections.txt:
6092 API: add GST_TAG_ARTIST_SORTNAME
6093 API: add GST_TAG_ALBUM_SORTNAME
6094 API: add GST_TAG_TITLE_SORTNAME
6095 Add tag variants for sorting (#414539).
6097 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6099 * gst/gststructure.c:
6100 Also allow white space for names so we don't break
6101 backwards compatibility.
6103 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6105 * docs/design/part-TODO.txt:
6106 * docs/design/part-segments.txt:
6107 * docs/design/part-streams.txt:
6110 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6112 * docs/gst/gstreamer-sections.txt:
6113 Fixed documentation from my previous commit (added new API add
6114 gst_value_set_structure(), add gst_value_get_structure() and
6115 GST_VALUE_HOLDS_STRUCTURE).
6117 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6119 * gst/gstdebugutils.c:
6120 Reflow code to fix uninitialized variable warning.
6122 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6124 * gst/gstcaps.c: (gst_caps_to_string),
6125 (gst_caps_from_string_inplace):
6126 * gst/gststructure.c: (gst_structure_get_abbrs),
6127 (gst_structure_to_string), (gst_structure_from_string):
6128 * gst/gstvalue.c: (gst_value_set_structure),
6129 (gst_value_get_structure), (gst_value_serialize_structure),
6130 (gst_value_deserialize_structure), (_gst_value_initialize):
6132 * tests/check/gst/gststructure.c: (GST_START_TEST),
6133 (gst_structure_suite):
6134 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6135 Added GstStructure to gst_value_table and its related functions.
6136 Changed gst_structure_to_string to print ';' in the end.
6137 Changed gst_caps_to_string to not print ';' beteween its
6138 fields (structures) anymore and remove the lastes ';' from latest
6139 structure. Now it is possible to have nested structures.
6140 In addition, backward compatibilty is assured by accepting '\0' as
6141 end delimiter. Fixes: #487969.
6142 API: add gst_value_set_structure()
6143 API: add gst_value_get_structure()
6144 API: add GST_VALUE_HOLDS_STRUCTURE
6146 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6149 When no GSource callback has been set up, tell developer
6150 to use a function that actually exists.
6152 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6154 * docs/gst/gstreamer-sections.txt:
6158 * gst/gstdebugutils.c:
6159 * gst/gstdebugutils.h:
6162 * tools/gst-launch.c:
6163 Allow dumping pipelines as dot graphs. Fixes #456573.
6165 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6167 * gst/gststructure.c:
6168 Allow '+' as well, it can be part of media or mime types
6169 such as image/svg+xml.
6171 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6173 * docs/gst/gstreamer-sections.txt:
6176 API: add gst_bus_pop_filtered
6177 API: add gst_bus_timed_pop_filtered
6178 Two new functions for waiting for specific message types on the
6179 bus for a specified amount of time without iterating any main
6180 loops or main contexts.
6182 * tests/check/gst/gstbus.c:
6183 Some tests for the new functions.
6185 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6187 * docs/libs/gstreamer-libs-sections.txt:
6188 Make gtk-doc ignore stuff it should ignore.
6190 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6192 * libs/gst/check/gstcheck.c:
6193 * libs/gst/check/gstcheck.h:
6194 Allow runtime selection of unit tests to run via the GST_CHECKS
6195 environment variable (test case function names, comma-separated).
6197 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6199 * gst/gststructure.c:
6200 * tests/check/gst/gststructure.c:
6201 Revert serialisation change and constrain structure-names after
6202 consensus on irc. Update api documentation to reflect the change.
6204 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6206 * gst/gststructure.c:
6207 Improve serialization and fix tests.
6209 * tests/check/gst/gststructure.c:
6210 Add another test that covers why I actually did the previous structure
6213 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6215 * tools/gst-inspect.c: (print_element_info):
6216 Don't crash when inspecting an element.
6218 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6220 * tests/check/gst/gststructure.c:
6221 Add unit test for escaping of structure name when serialising
6222 and deserialising to/from strings.
6224 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6226 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6227 (gst_single_queue_new):
6228 * plugins/elements/gstqueue.c: (gst_queue_init),
6229 (gst_queue_push_one):
6230 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6231 upstream is tricked into thinking it can suggest a format downstream
6232 while downstream does not support that format. The real problem is that
6233 core calls acceptcaps when pushing a buffer with new caps, for which we
6234 do a little workaround by setting the caps on the srcpad ourselves
6235 before pushing the buffer (until this is figured out). Fixes #486758.
6237 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6239 * gst/gststructure.c:
6241 Add some more comments and debug output. Quote structure name to fix
6242 deserialisation of some strings.
6244 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6247 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6248 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6250 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6252 * tools/gst-inspect.c:
6253 Save approx. 400 1 byte allocs when printing. Use API to acces element
6259 * tools/gst-xmlinspect.c:
6260 Use API to acces element details.
6262 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6265 Fix some spelling errors.
6267 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6269 * gst/gstbin.c: (bin_handle_async_done):
6270 Correctly set the next state if all of our async children commited their
6271 state. This makes sure we can actually cancel the state change in
6272 progress. Fixes a regression in Rhythmbox when seeking.
6274 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6277 Don't shadow local variable.
6280 Don't shadow global function name.
6282 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6284 * gst/gstelementfactory.c:
6285 * gst/gstpluginfeature.c:
6286 * gst/gstpluginfeature.h:
6287 * gst/gstregistrybinary.c:
6288 * gst/gstregistryxml.c:
6289 * gst/gsttypefind.c:
6290 Use already-interned string for the private GstPluginFeature
6293 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6295 * docs/libs/gstreamer-libs-sections.txt:
6296 Add new API to docs; fixes the build.
6298 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6300 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6302 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6303 (gst_base_sink_event):
6304 * libs/gst/base/gstbasesink.h:
6305 Add function to wait for EOS, subclasses can use this to correctly wait
6306 for devices to drain before performing the EOS logic. Fixes #485343.
6307 API: gst_base_sink_wait_eos()
6309 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6312 Cast description string constants in GST_PLUGIN_DEFINE macros
6313 to a (gchar*) to make C++ code using these macros compile
6314 without warning with g++-4.2 (see #462737). Even if slightly
6315 ugly, this seems preferable to putting the description strings
6316 into the GLib quark table or making the structure member a
6317 const gchar * and doing casts in core code that allocs and
6318 frees these strings, or requiring a cast in the C++ code.
6320 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6323 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6324 to print the entire class/function signature into the log
6325 file for C++ code. This only affects C++ code, for C code
6326 everything remains the same.
6328 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6330 * gst/gstbin.c: (remove_from_queue):
6331 Work around a problem with pipelines containing (semi)loops until a
6332 proper, more complicated solution is ready. See #475455.
6334 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6338 * gst/gstregistrybinary.c:
6339 * gst/gstregistryxml.c:
6340 Put more strings into the GLib quark table. No need to keep
6341 a hundred-something copies of identical version strings,
6342 license strings, package name strings and package origin
6345 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6347 * docs/manual/advanced-dataaccess.xml:
6348 Don't imply that it's okay to unconditionally change
6349 buffer data or buffer metadata in a pad probe callback,
6350 and a bunch of other comments. Fixes #430031.
6352 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6354 * win32/common/gstenumtypes.c:
6355 * win32/common/gstenumtypes.h:
6356 * win32/common/gstversion.h:
6357 Update generated files.
6359 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6361 * docs/manual/advanced-autoplugging.xml:
6362 Prefix section with broken code with a warning (see #342432).
6364 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6366 * docs/manual/appendix-integration.xml:
6367 * docs/manual/basics-init.xml:
6368 Call g_thread_init() before g_option_context_new() to
6369 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6371 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6373 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6374 (gst_base_sink_queue_object_unlocked),
6375 (gst_base_sink_queue_object), (gst_base_sink_event),
6376 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6377 When we received EOS and are waiting for when to post the EOS message,
6378 our state is prerolled and we should not return ASYNC.
6379 Reorganize some code paths to implement this behavior.
6381 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6383 Add unit test to verify above EOS fix.
6385 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6387 * plugins/elements/gsttypefindelement.c:
6388 (gst_type_find_element_have_type), (gst_type_find_element_init),
6389 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6390 Move detecting the input caps of the sinkpad to the setcaps function.
6391 This allows us to update the output caps when we receive new input caps
6392 instead of always using the first detected caps.
6394 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6396 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6397 (gst_base_sink_get_position):
6398 Don't try to preroll non-async elements after a flush.
6399 Subtract latency form clock times when reporting position.
6401 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6403 * gst/gstpad.c: (gst_pad_pause_task):
6405 Small comment and documentation update.
6407 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6409 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6410 (gst_base_src_set_live), (gst_base_src_is_live),
6411 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6412 (gst_base_src_default_event), (gst_base_src_wait),
6413 (gst_base_src_do_sync), (gst_base_src_get_range),
6414 (gst_base_src_pad_get_range), (gst_base_src_loop),
6415 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6416 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6417 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6418 (gst_base_src_change_state):
6419 Rework the locking of basesrc in a similar fashion to basesink. We
6420 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6421 us to handle live sources and semi live ones much better.
6423 Fix unlocking when seeking, shutting down and pausing in live sources.
6425 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6427 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6428 Fix compilation again.
6430 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6433 Use meaningful categories for the logs to clean the default one.
6435 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6437 * tests/check/pipelines/cleanup.c:
6438 Print message name and not just number.
6440 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6442 * docs/design/draft-tagreading.txt:
6443 Add some more thoughts.
6445 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6447 * tests/check/pipelines/simple-launch-lines.c:
6448 Print message name and not just number.
6450 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6452 * libs/gst/base/gsttypefindhelper.c:
6453 Speedup typefinding. This is work in progress (see #459862).
6455 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6458 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6459 Spotted by Josep Torra Valles <josep@fluendo.com>.
6461 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6464 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6465 field has moved to GstObject.
6467 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6469 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6470 (gst_base_src_get_range), (gst_base_src_change_state):
6471 Call unlock for live sources so that they can't get stuck in _create and
6472 produce a buffer before they are set back to PLAYING.
6474 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6476 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6477 (gst_queue_locked_dequeue):
6478 Comment the segment-related code... in the PROPER function.
6479 See #482147 and my commit from yesterday.
6481 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6483 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6484 Also initialize the counter that calculates the first timestamp on a
6485 buffer correctly for non-live sources.
6487 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6489 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6490 Disable code that's breaking the current-time-level reporting.
6493 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6495 * docs/gst/gstreamer-sections.txt:
6496 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6497 as they shouldn't show up. Fixes the docs build.
6499 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6502 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6503 Define M_PI which is used in files which are including gstinfo.h.
6504 VS6 includes doesn't define it.
6505 * win32/common/libgstbase.def:
6506 * win32/common/libgstcontroller.def:
6507 * win32/common/libgstreamer.def:
6508 Add new exported functions and variables.
6509 * win32/vs6/libgstcontroller.dsp:
6510 * win32/vs6/libgstreamer.dsp:
6511 Update the list of files to build.
6513 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6515 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6517 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6518 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6519 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6520 Improve debugging. Fixes #480858.
6522 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6524 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6526 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6527 First patch of code cleanups, use the macros and right arguments in the
6528 macros to signal and lock the queue. See #480858.
6530 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6532 * gst/gstbus.c: (poll_func):
6533 Improve debugging when dealing with _poll().
6535 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6537 * gst/gstregistryxml.c:
6538 Fix memory leak I introduced a few days ago.
6540 2007-09-26 Michael Smith <msmith@fluendo.com>
6542 * gst/gstbuffer.c: (gst_buffer_finalize):
6543 Make it once again possible to free GstBuffers in the default
6545 The poisoning scribbles on parts of the miniobject we need in
6549 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6551 * docs/gst/gstreamer-sections.txt:
6554 API: add GST_TAG_COMPOSER, fixes #459809.
6556 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6560 Add the 3-clause BSD license and the MIT/X11 license to the license
6561 list. Fixes #479784.
6563 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6565 * docs/faq/getting.xml:
6566 Add Q+A about different GStreamer versions (#364056).
6568 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6570 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6571 (gst_base_sink_event), (gst_base_sink_change_state):
6572 Return correct gboolean from query function.
6574 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6576 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6577 (gst_base_sink_event), (gst_base_sink_query),
6578 (gst_base_sink_change_state):
6579 Simplify latency query.
6580 When not synchronizing, we can report latency without querying the peer
6583 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6587 Fix small typos in the docs.
6589 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6591 * docs/design/draft-latency.txt:
6592 * docs/design/draft-push-pull.txt:
6593 * docs/design/draft-tagreading.txt:
6594 * docs/design/part-MT-refcounting.txt:
6595 * docs/design/part-activation.txt:
6596 * docs/design/part-block.txt:
6597 * docs/design/part-element-source.txt:
6598 * docs/design/part-events.txt:
6599 * docs/design/part-gstbin.txt:
6600 * docs/design/part-gstelement.txt:
6601 * docs/design/part-gstobject.txt:
6602 * docs/design/part-gstpipeline.txt:
6603 * docs/design/part-messages.txt:
6604 * docs/design/part-preroll.txt:
6605 * docs/design/part-push-pull.txt:
6606 * docs/design/part-qos.txt:
6607 * docs/design/part-query.txt:
6608 * docs/design/part-scheduling.txt:
6609 * docs/design/part-seeking.txt:
6610 * docs/design/part-segments.txt:
6611 * docs/design/part-states.txt:
6612 Documentation updates and typo fixes.
6614 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6616 * plugins/elements/gstfakesink.c:
6617 Add some debug text to error message to indicate that
6618 we errored out on request.
6620 * tools/gst-launch.c:
6621 When the state change to PLAYING fails, check for an
6622 error message on the bus and print it.
6624 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6626 translated by: Jorge González González <aloriel@gmail.com>
6630 Added Spanish translation.
6632 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6634 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6635 Fix printf arguments.
6637 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6639 * tests/check/generic/states.c:
6640 Improved state change unit test.
6642 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6645 Move priv to the right place.
6647 * gst/gstsystemclock.c:
6648 Add FIXME: and improve log.
6650 * tests/check/Makefile.am:
6651 * tests/examples/manual/Makefile.am:
6652 Work with all types of registries.
6654 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6656 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6657 Don't unref the event after pushing it. Fixes #478401.
6659 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6662 * tests/examples/manual/.cvsignore:
6663 Ignore registries in any format.
6665 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6667 * gst/glib-compat-private.h:
6668 Add compatibility macro for g_intern_string() for
6669 GLib-2.8 (any reason we can't just bump the
6670 requirement to at least 2.10?)
6672 * gst/gstpadtemplate.h:
6673 * gst/gstelementfactory.c:
6674 * gst/gstregistryxml.c:
6675 * gst/gstregistrybinary.c:
6676 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6677 up the internal code accordingly. This shouldn't be a problem, since
6678 there is no reason external code could ever assume the string in such
6679 a structure is dynamically allocated unless it did that itself; the
6680 use of g_strdup() is private to element factories. The new code also
6681 saves some memory by putting pad template name strings into the GLib
6682 quark table instead of allocating them dynamically.
6683 Declaring this field constant fixes warnings with g++-4.2 when using
6684 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6686 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6688 * gst/gstelementfactory.c:
6689 Release static caps. Fixes #475723.
6691 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6695 Make some internal API take const gchar * instead of just
6696 gchar * to avoid compiler warnings with g++-4.2.2 when
6697 passing string constants (partially fixes #478092).
6699 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6701 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6702 A latency query fails when one of the sinks fail.
6704 * gst/gstelement.c: (gst_element_set_base_time):
6707 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6709 * gst/gstbin.c: (gst_bin_continue_func):
6710 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6711 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6712 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6714 Fix minor compilation warnings shown with Forte.
6716 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6718 * plugins/elements/gstqueue.c: (apply_buffer),
6719 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6720 Measure queue level based on the diff between head and tail timestamps
6721 even when pushing the first buffer.
6723 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6725 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6726 (gst_base_sink_event), (gst_base_sink_change_state):
6727 Sinks that don't preroll can always be queried for the latency.
6728 Don't post ASYNC start when we are not async.
6730 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6732 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6733 (gst_queue_handle_sink_event), (gst_queue_chain),
6734 (gst_queue_push_one), (gst_queue_handle_src_query),
6735 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6736 * plugins/elements/gstqueue.h:
6737 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6738 push more buffers but allow pushing of EOS and NEWSEGMENT.
6739 Add some more debug info here and there. Fixes #476514.
6741 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6743 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6744 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6745 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6746 (gst_base_sink_set_flushing), (gst_base_sink_query),
6747 (gst_base_sink_change_state):
6748 Latency query is allowed after we are prerolled. Introduce a new flag
6749 for this and stop abusing other variables.
6751 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6753 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6754 Push OOB events downstream when we get them in send_event. This allows
6755 the application to insert events in the pipeline.
6756 Add some more comments.
6758 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6760 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6761 (do_bin_latency), (gst_bin_change_state_func):
6762 * gst/gstpipeline.c: (gst_pipeline_change_state):
6763 Move latency query from GstPipeline to GstBin so that we can also
6764 use it when async-handling is enabled on bins.
6766 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6768 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6769 (gst_base_src_do_sync), (gst_base_src_change_state):
6771 Clean up the timestamping and syncing code for pseudo live sources.
6773 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6775 Patch by: Steve Fink <sphink gmail com>
6777 * docs/manual/appendix-checklist.xml:
6778 Mention less -R switch in the section about debug output (#474055).
6780 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6782 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6783 Queue can latency to the pipeline up to the configured max size in time.
6784 Report this fact in the latency query.
6786 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6788 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6790 * libs/gst/controller/gstinterpolation.c:
6791 * libs/gst/controller/gstlfocontrolsource.c:
6792 Use gst_guint64_to_gdouble() when converting from a uint64 or
6793 GstClockTime to double to fix the build on win32. Fixes #474371.
6795 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6797 * gst/gstbuffer.c: (gst_buffer_finalize):
6798 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6799 When finalizing a buffer the complete struct is filled with 0xff,
6800 thus making a use of the buffer after the final unref impossible.
6802 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6804 * tests/check/libs/controller.c: (GST_START_TEST):
6805 Use fail_unless_equals_int(a, b) instead of
6806 fail_unless_equals (a == b) to get better output on failures.
6808 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6810 * tests/check/gst/gsturi.c:
6811 Also check for the other file URI variant on win32.
6813 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6815 * gst/gsturi.c: (gst_uri_get_location):
6816 If there's no hostname, we want to return 'c:/foo/bar.txt'
6817 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6819 * tests/check/gst/gsturi.c:
6820 Unit test for the above and a few more things.
6822 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6824 * docs/design/part-live-source.txt:
6825 Add docs on how live sources should timestamp.
6827 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6828 Add some more debug info.
6829 For subclasses that are live and like to sync, add aditional startup
6830 latency to sync time and timestamps so that we timstamp according to the
6833 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6836 Also do a g_type_class_ref() for the subbuffer type in
6839 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6841 * docs/gst/gstreamer-sections.txt:
6842 * gst/gstpad.c: (gst_pad_peer_query):
6844 Add function to perform a query on the peer of a pad.
6845 API: gst_pad_peer_query()
6847 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6849 * tests/check/gst/gstsystemclock.c:
6850 Cleanup the test a little (use gst-logging and not g_message). Improve
6851 test to check if a wait reached the target.
6853 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6855 * docs/libs/gstreamer-libs-sections.txt:
6856 Add new API to docs and fix the build.
6858 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6860 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6861 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6862 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6863 (gst_base_src_get_property), (gst_base_src_do_sync):
6864 * libs/gst/base/gstbasesrc.h:
6865 Add property to make the basesrc timestamp buffers based on the current
6867 API: GstBaseSrc::do-timestamp
6868 API: gst_base_src_set_do_timestamp()
6869 API: gst_base_src_get_do_timestamp()
6871 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6873 * docs/random/release:
6874 Really make sure translations are up-to-date before
6875 a release (#465010).
6877 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6879 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6880 Always destroy the timer, also in error cases.
6882 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6884 * docs/manual/highlevel-xml.xml:
6885 Fix XML example code. Fixes #472714.
6887 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6889 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6890 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6891 (gst_base_sink_query):
6892 Protect eos and have_preroll with the OBJECT lock so we don't need to
6893 take the PREROLL lock when querying the latency. Fixes #473846.
6895 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6898 Give some log-messages a category.
6900 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6902 * gst/gststructure.c:
6903 (gst_structure_fixate_field_nearest_fraction):
6904 Fix fraction list fixation code. Take the fraction with the smallest
6905 difference with the target instead of the first one in the list.
6907 * tests/check/gst/gststructure.c: (GST_START_TEST),
6908 (gst_structure_suite):
6909 Added test to verify correct fraction list fixation behaviour.
6911 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6913 * win32/common/libgstreamer.def:
6914 Export gst_bus_add_signal_watch too.
6916 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6918 * docs/libs/gstreamer-libs-sections.txt:
6919 Add new methods to docs.
6921 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6922 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6923 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6924 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6925 * libs/gst/base/gstbasesink.h:
6926 Add ts-offset property to fine-tune the synchronisation.
6927 API: GstBaseSink::ts-offset property
6928 API: gst_base_sink_set_ts_offset()
6929 API: gst_base_sink_get_ts_offset()
6931 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6933 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6934 (gst_base_sink_init), (gst_base_sink_set_sync),
6935 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6936 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6937 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6938 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6939 (gst_base_sink_get_property), (gst_base_sink_change_state):
6940 * libs/gst/base/gstbasesink.h:
6941 Add async property to instruct the sink never to inform the parent about
6942 ASYNC state changes, update docs.
6943 Check argument with g_return_* for the public functions.
6944 API: GstBaseSink::async property
6945 API: gst_base_sink_set_async_enabled()
6946 API: gst_base_sink_is_async_enabled()
6948 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6950 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6953 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6954 (gst_base_src_default_query), (gst_base_src_wait),
6955 (gst_base_src_do_sync), (gst_base_src_change_state):
6956 Rearrange some code so that we can add support for measuring the
6959 2007-08-27 Stefan Kost <ensonic@users.sf.net>
6961 * docs/random/ensonic/dynlink.txt:
6962 More thoughs on this.
6964 * plugins/elements/gstcapsfilter.c:
6965 Add bugzilla ticket number to FIXME comment.
6967 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
6969 * docs/design/part-TODO.txt:
6970 * docs/design/part-block.txt:
6973 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6976 Revert patch which uses $(gst_headers) instead of $^ because it
6979 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6981 * tests/check/gst/gstbin.c: (GST_START_TEST):
6982 Fix leaks in the new unit test.
6984 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
6987 Don't use GST_INFO before the debug system is actually initialised
6988 (shouldn't do any harm, but won't print anything either, so we can
6989 just as well remove it).
6992 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6993 compilers that don't support variadic macros (such as MSVC), should
6994 check for debug_level <= __gst_debug_min as well, since that's the
6995 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6996 inline helper functions. Should improve performance a bit, but also
6997 makes sure uses of GST_INFO et.al are ignored if the debugging
6998 system isn't initialised yet (instead of printing an assertion
7001 2007-08-23 Stefan Kost <ensonic@users.sf.net>
7003 patch by: David Nečas <yeti@physics.muni.cz>
7006 Replace some non portable makefile constructs.
7008 2007-08-21 Stefan Kost <ensonic@users.sf.net>
7010 * common/gtk-doc-plugins.mak:
7011 Grrrrr. Don't remove the types file on make clean.
7013 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7015 * tools/gst-launch.1.in:
7016 Add colorspace to example pipeline. Fixes #458274.
7018 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7020 * docs/random/release:
7021 The release manager should run 'make download-po' before making a
7022 release to make sure translations are up-to-date.
7028 Add some new translations.
7030 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7032 * tools/gst-launch.c: (event_loop), (main):
7033 Don´t try to do any state management when a live pipeline posts
7035 Also make the buffering string translatable.
7037 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7039 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7040 (bin_handle_async_start), (gst_bin_handle_message_func):
7042 When adding elements, insert messages into the bus of the newly added
7043 element and make sure the element is the source of the message. This
7044 allows the parent bin to intercept the message and do the
7045 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7046 messages to the app (which is not allowed).
7049 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7050 Fix testsuite so that is does not work around messages that should not
7051 have been posted in the first place.
7053 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7055 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7056 (update_degree), (gst_bin_sort_iterator_next):
7057 Fix annoying bug in the sorted iterator where a sink that is not really
7058 a sink (when it has downstream links) screwed up the iterator.
7060 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7061 Unit test to verify the fix.
7063 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7066 Add some more docs for the messages.
7068 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7069 (gst_base_sink_query):
7070 Add some more debugging.
7072 * tools/gst-launch.c: (event_loop):
7073 When interrupting, don't try to set pipeline to PAUSED twice.
7075 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7078 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7079 (bin_handle_async_start), (gst_bin_handle_message_func):
7080 Move ASYNC_START message posting to where it belongs, similar to
7082 Don't post ASYNC_START when we are in error.
7083 Post ASYNC_START when we added an async element to a bin.
7085 2007-08-14 Julien MOUTTE <julien@moutte.net>
7087 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7088 generation from vargs. Fixes #466595.
7090 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7092 * gst/gstbin.c: (gst_bin_element_set_state):
7093 Always change the state of a NO_PREROLL element even if it has ASYNC
7094 elements inside (in case of a bin).
7096 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7097 Unit test for this case.
7099 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7101 * libs/gst/check/gstbufferstraw.c:
7102 * libs/gst/check/gstcheck.h:
7103 * libs/gst/controller/gstcontroller.c:
7104 * libs/gst/controller/gstcontrolsource.h:
7105 * libs/gst/controller/gstlfocontrolsource.h:
7106 * plugins/elements/gstcapsfilter.h:
7107 * plugins/elements/gstfdsink.h:
7108 * plugins/elements/gstfdsrc.h:
7109 Add more missing docs.
7111 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7113 * gst/gststructure.c:
7114 Add Since tag to docs.
7116 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7118 * docs/gst/gstreamer-sections.txt:
7119 * gst/gststructure.c: (gst_structure_get_uint):
7120 * gst/gststructure.h:
7121 Add function to get uint from a structure.
7122 API: gst_structure_get_uint()
7124 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7126 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7127 (gst_caps_intersect):
7128 Fix proper check for simple caps.
7130 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7132 * docs/gst/Makefile.am:
7133 * docs/libs/Makefile.am:
7134 Remove cruft and do some cleanups.
7136 * docs/gst/gstreamer-docs.sgml:
7137 * docs/libs/gstreamer-libs-docs.sgml:
7138 Prepare for comming gtkdoc features (rebase against online docs).
7140 2007-08-10 Michael Smith <msmith@fluendo.com>
7142 * docs/gst/gstreamer-sections.txt:
7143 Add gst_registry_add_path to docs.
7145 2007-08-10 Michael Smith <msmith@fluendo.com>
7147 * gst/gstregistry.h:
7148 Add gst_registry_add_path, which was missing from this header.
7150 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7152 * libs/gst/controller/gstlfocontrolsource.c:
7155 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7157 * libs/gst/base/gstbasesink.c:
7158 Don't send an async_start message during downwards state change if
7159 target state is less than READY
7161 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7163 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7167 Added Hungarian translation.
7169 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7176 Updated translations.
7178 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7180 * libs/gst/controller/Makefile.am:
7181 Dist gstlfocontrolsourceprivate.h
7183 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7185 * docs/libs/gstreamer-libs.types:
7186 Don't register the enum type gst_lfo_waveform_get_type() in the
7187 .types file - only GObject derived types belong.
7189 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7191 Patch by: <arenevier at fdn dot fr>
7194 Remove comma from last element in enum to avoid compile errors when
7195 using -pendantic. Fixes #464366.
7197 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7199 * docs/design/part-TODO.txt:
7200 Add some more TODO items
7202 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7205 * gst/gstcaps.c: (gst_caps_intersect):
7206 Optimize trivial intersection case between identical caps pointers.
7208 * gst/gstelement.c: (gst_element_continue_state),
7209 (gst_element_set_state_func):
7211 Fix spelling and grammar mistakes.
7213 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7217 Update POTFILES. Fixes #461599.
7219 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7222 Fix confusing typo in debug output.
7224 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7226 reviewed by: Stefan Kost <ensonic@users.sf.net>
7228 * libs/gst/controller/Makefile.am:
7229 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7230 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7231 (gst_lfo_control_source_new),
7232 (gst_lfo_control_source_set_waveform),
7233 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7234 (gst_lfo_control_source_finalize),
7235 (gst_lfo_control_source_dispose),
7236 (gst_lfo_control_source_set_property),
7237 (gst_lfo_control_source_get_property),
7238 (gst_lfo_control_source_class_init):
7239 * libs/gst/controller/gstlfocontrolsource.h:
7240 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7241 API: Add GstLFOControlSource, a control source that gives values
7242 for specific timestamps based on several periodic waveforms.
7245 * tests/check/libs/controller.c: (GST_START_TEST),
7246 (gst_controller_suite):
7247 * docs/libs/gstreamer-libs-docs.sgml:
7248 * docs/libs/gstreamer-libs-sections.txt:
7249 * docs/libs/gstreamer-libs.types:
7250 Add documentation and unit tests for GstLFOControlSource.
7252 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7257 === release 0.10.14 ===
7259 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7262 releasing 0.10.14, "Breathing Vacuum"
7264 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7266 * gst/gstelement.c: (gst_element_class_set_details_simple):
7268 Make strings passed to gst_element_class_set_details_simple()
7269 constant, as they should be (#462752).
7271 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7273 * gst/gstbin.c: (gst_bin_change_state_func),
7274 (bin_handle_async_done), (gst_bin_handle_message_func):
7275 Don't forget about the fact that some element went ASYNC even after a
7276 resync. This makes us post the ASYNC_DONE message correctly.
7279 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7281 * gst/gstregistry.c: (gst_registry_add_feature):
7282 When replacing an existing feature in the registry, make sure to
7283 continue holding a reference until we've replaced the name string
7284 within our feature hash table. Make sure to use g_hash_table_replace
7285 instead of g_hash_table_insert to ensure the new name string is used
7286 as a key instead of the old one that we're about to free.
7289 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7291 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7292 (gst_plugin_feature_set_name):
7293 Revert patch from #459466 until after the release and we can work
7294 out exactly what the problem is (if any).
7296 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7298 * docs/gst/gstreamer-sections.txt:
7301 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7303 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7305 * docs/libs/Makefile.am:
7306 Include our build-prefix libs and includes before the generic ones to
7307 avoid linking against the installed libs when we want the build-tree
7310 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7312 Patch by: Steve Fink <sphink gmail com>
7314 * docs/pwg/building-testapp.xml:
7315 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7316 if people try to build or install the example from the plugin
7317 template against a GStreamer from package using the configure
7320 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7322 Patch by: Steve Fink <sphink gmail com>
7324 * tools/gst-inspect.1.in:
7325 Document --print-all and --print-plugin-auto-install-info command
7326 line options in man page.
7328 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7330 * docs/gst/gstreamer-sections.txt:
7331 Add docs for new api function.
7333 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7335 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7336 * gst/gstelementfactory.h:
7337 API: gst_element_factory_has_interface()
7338 Added method to check if an element factory implements a named
7341 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7344 * docs/gst/gstreamer.types.in:
7345 Another conditional doc check.
7348 * gst/gstparamspecs.h:
7349 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7354 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7356 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7357 (gst_registry_binary_load_feature),
7358 (gst_registry_binary_load_plugin),
7359 (gst_registry_binary_read_cache):
7360 Print error just once and with additional info.
7362 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7364 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7365 (helper_find_suggest), (helper_find_get_length),
7366 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7367 (gst_type_find_helper_for_buffer):
7368 Cleanup the typefindhelper code and add private doc comments.
7370 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7372 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7373 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7374 Fix capsfilter for cases where the caps set on capsfilter will provide
7375 additional information.
7378 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7380 * gst/gsttypefindfactory.c:
7381 Fix docs that recommened wrong function to use.
7383 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7385 * tools/gst-inspect.c: (print_plugin_features):
7386 Also give media-type for typefinders in element output.
7388 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7390 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7391 (gst_registry_remove_features_for_plugin_unlocked),
7392 (gst_registry_add_feature), (gst_registry_remove_feature),
7393 (gst_registry_lookup_feature_locked):
7394 * gst/gstregistry.h:
7395 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7398 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7400 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7401 (gst_plugin_feature_set_name):
7402 Avoid double memory usage for pluginfeature names. Fixes #459466.
7404 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7407 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7408 driving the pipeline may need to explicitly check for NOT_LINKED as
7409 well, since IS_FATAL doesn't cover that.
7411 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7413 * docs/pwg/advanced-types.xml:
7414 Fix typo and duplicate entry in video formats list.
7416 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7418 * libs/gst/controller/gstinterpolation.c:
7419 Also round to the nearest int when using cubic interpolation.
7421 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7423 * libs/gst/controller/gstinterpolation.c:
7424 When linearly interpolating integer types, round to the nearest int
7425 by adding 0.5. Don't do it for float/double types.
7426 Fixes the failing controller test on my machine, which is somehow
7427 rounding differently than on the buildbots.
7429 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7431 * tools/gst-plot-timeline.py:
7432 Better log parsing (categories can have -). Adjust text vs. lines, so
7433 that they span the same y-range.
7435 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7437 * docs/random/ensonic/audiobaseclasses.txt:
7438 * docs/random/ensonic/dynlink.txt:
7439 * docs/random/ensonic/profiling.txt:
7442 * docs/random/moving-plugins:
7443 Add note to use g_assert type macros.
7445 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7448 * libs/gst/check/Makefile.am:
7449 Add libm check as we use in for plugins.
7451 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7453 * gst/gstbin.c: (gst_bin_continue_func):
7454 Check that the state_cookie hasn't changed since the continue_func
7455 was scheduled. Avoids problems where the state changes back to
7456 something it shouldn't be because it was changed in the meantime.
7458 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7460 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7461 (gst_registry_binary_save_string),
7462 (gst_registry_binary_save_pad_template),
7463 (gst_registry_binary_save_feature),
7464 (gst_registry_binary_save_plugin),
7465 (gst_registry_binary_load_feature),
7466 (gst_registry_binary_load_plugin),
7467 (gst_registry_binary_read_cache):
7468 Fix memory leak. Be less verbose in the log.
7470 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7472 * tests/check/elements/.cvsignore:
7473 Add file to cvsignore as commanded.
7475 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7477 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7478 (mq_dummypad_event), (run_output_order_test):
7479 Use a GStaticMutex to protect all cases where libcheck
7480 fail_if/fail_unless macros might be called from multiple threads
7481 simultaneously to avoid errors like:
7482 "check_pack.c:107: :-1081725400:Bad message type arg"
7484 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7486 * tests/check/pipelines/stress.c: (GST_START_TEST):
7487 Make sure we set the pipeline back to the NULL state before
7488 dropping our final reference.
7490 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7492 * tests/check/elements/tee.c: (GST_START_TEST):
7493 Make the tee stress-test a little less stressful so it doesn't just
7494 time out on slow-machines, and remove a small race when it's starting
7495 up by adding a get_state() call.
7497 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7500 Avoid reading registry twice on startup. Fixes #457322.
7502 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7504 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7505 * pkgconfig/gstreamer-check.pc.in:
7506 Substitute the CFLAGS for libcheck into our .pc file too so that
7507 dependent modules will pick it up properly if libcheck is installed
7508 into some other prefix.
7510 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7513 Revert the pkg-config check for libcheck, since it pulls in the
7514 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7515 a proper solution, either from the check project, or something else.
7517 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7520 Use pkg-config to locate check.
7522 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7529 Add deprecation guards.
7531 * libs/gst/base/gstcollectpads.h:
7532 Don't document object (this is implicitly private).
7534 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7536 * gst/gststructure.c: (gst_structure_parse_value):
7537 When deserialising foo=bar without a type cast, check if it's a
7538 boolean before falling back to a string type, otherwise things like
7539 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7540 because the filtercaps end up having a signed=(string)true field,
7541 which causes problems later when intersection caps.
7543 * tests/check/gst/gststructure.c: (GST_START_TEST):
7544 Add a unit test for this.
7546 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7548 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7550 * libs/gst/controller/Makefile.am:
7551 * libs/gst/controller/gstcontroller.c:
7552 (gst_controlled_property_add_interpolation_control_source),
7553 (gst_controlled_property_new), (gst_controlled_property_free),
7554 (gst_controller_find_controlled_property),
7555 (gst_controller_new_valist), (gst_controller_new_list),
7556 (gst_controller_new), (gst_controller_remove_properties_valist),
7557 (gst_controller_remove_properties_list),
7558 (gst_controller_remove_properties),
7559 (gst_controller_set_property_disabled),
7560 (gst_controller_set_disabled), (gst_controller_set_control_source),
7561 (gst_controller_get_control_source), (gst_controller_get),
7562 (gst_controller_sync_values), (gst_controller_get_value_array),
7563 (_gst_controller_dispose), (gst_controller_get_type),
7564 (gst_controlled_property_set_interpolation_mode),
7565 (gst_controller_set), (gst_controller_set_from_list),
7566 (gst_controller_unset), (gst_controller_unset_all),
7567 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7568 * libs/gst/controller/gstcontroller.h:
7569 * libs/gst/controller/gstcontrollerprivate.h:
7570 * libs/gst/controller/gstcontrolsource.c:
7571 (gst_control_source_class_init), (gst_control_source_init),
7572 (gst_control_source_get_value),
7573 (gst_control_source_get_value_array), (gst_control_source_bind):
7574 * libs/gst/controller/gstcontrolsource.h:
7575 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7576 (gst_object_get_control_source):
7577 * libs/gst/controller/gstinterpolation.c:
7578 (gst_interpolation_control_source_find_control_point_node),
7579 (gst_interpolation_control_source_get_first_value),
7580 (_interpolate_none_get), (interpolate_none_get),
7581 (interpolate_none_get_boolean_value_array),
7582 (interpolate_none_get_enum_value_array),
7583 (interpolate_none_get_string_value_array),
7584 (_interpolate_trigger_get), (interpolate_trigger_get),
7585 (interpolate_trigger_get_boolean_value_array),
7586 (interpolate_trigger_get_enum_value_array),
7587 (interpolate_trigger_get_string_value_array):
7588 * libs/gst/controller/gstinterpolationcontrolsource.c:
7589 (gst_control_point_free), (gst_interpolation_control_source_reset),
7590 (gst_interpolation_control_source_new),
7591 (gst_interpolation_control_source_set_interpolation_mode),
7592 (gst_interpolation_control_source_bind),
7593 (gst_control_point_compare), (gst_control_point_find),
7594 (gst_interpolation_control_source_set_internal),
7595 (gst_interpolation_control_source_set),
7596 (gst_interpolation_control_source_set_from_list),
7597 (gst_interpolation_control_source_unset),
7598 (gst_interpolation_control_source_unset_all),
7599 (gst_interpolation_control_source_get_all),
7600 (gst_interpolation_control_source_get_count),
7601 (gst_interpolation_control_source_init),
7602 (gst_interpolation_control_source_finalize),
7603 (gst_interpolation_control_source_dispose),
7604 (gst_interpolation_control_source_class_init):
7605 * libs/gst/controller/gstinterpolationcontrolsource.h:
7606 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7607 API: Refactor GstController into the core controller which can take
7608 a GstControlSource for providing actual values for timestamps.
7609 Implement a interpolation control source and use this for backward
7610 compatibility, deprecate a bunch of functions that are now handled
7611 by GstControlSource or GstInterpolationControlSource.
7612 Make it possible to disable the controller completely or only for
7613 specific properties. Fixes #450711.
7614 * docs/libs/gstreamer-libs-docs.sgml:
7615 * docs/libs/gstreamer-libs-sections.txt:
7616 * docs/libs/gstreamer-libs.types:
7617 Add new functions and classes to the docs.
7618 * tests/check/libs/controller.c: (GST_START_TEST),
7619 (gst_controller_suite):
7620 * tests/examples/controller/audio-example.c: (main):
7621 Port unit test and example to the new API and add some new
7624 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7626 Patch by: Mark Nauwelaerts <manauw at skynet be>
7628 * plugins/elements/gstmultiqueue.c:
7629 (gst_multi_queue_get_internal_links), (apply_buffer),
7630 (single_queue_overrun_cb), (gst_single_queue_new):
7631 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7632 the pipeline layout can be tracked correctly. Fixes #453732.
7634 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7636 * docs/gst/Makefile.am:
7637 * docs/libs/Makefile.am:
7638 * docs/plugins/Makefile.am:
7639 Simplify --extra-dir as gtkdoc scans recursively.
7641 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7643 * tools/gst-launch.c: (main):
7644 When we got an error, there is no point in waiting for preroll when
7647 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7649 * plugins/elements/gsttee.c: (gst_tee_base_init),
7650 (gst_tee_request_new_pad), (gst_tee_release_pad),
7651 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7652 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7654 Be a lot smarter when deciding what srcpad to use for proxying
7655 the buffer_alloc. Also handle pad added/removed when doing so.
7657 Keep track of what pads we already pushed on in case we have pads
7658 added/removed while pushing. Fixes #374639
7660 * tests/check/Makefile.am:
7661 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7663 Added unit test for pad resync.
7665 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7669 Updated translations.
7671 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7673 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7677 Added new Finnish translation.
7679 2007-06-28 Wim Taymans <wim@fluendo.com>
7681 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7682 (single_queue_overrun_cb):
7683 When figuring out when a queue is filled, use our internal time estimate
7684 based on segments, just like check_full does.
7686 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7688 * gst/gstminiobject.c: (gst_mini_object_get_type):
7689 Remove 3 do-nothing methods.
7691 2007-06-27 Wim Taymans <wim@fluendo.com>
7693 Patch by: Tim Angus <tim at ngus dot net>
7695 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7696 (gst_capsfilter_set_property):
7697 Take a reference instead of a copy when setting "caps".
7698 Fix documentation to clarify this behaviour. Fixes #449414.
7700 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7702 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7703 * gst/gstplugin.c: (gst_plugin_init):
7704 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7705 * gst/gstquery.c: (gst_query_get_type):
7706 * gst/gstregistry.c: (gst_registry_init):
7707 * gst/gsturi.c: (gst_uri_handler_base_init):
7708 Remove empty instance_init() functions to save relocs and lessen the
7709 noise. Remove some of the function prototypes that are doubled by
7712 2007-06-27 Wim Taymans <wim@fluendo.com>
7714 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7716 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7717 Add peer and direction in the XML serialisation of ghostpads.
7720 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7723 Preserve useful information, thanks Tim.
7725 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7727 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7728 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7729 (gst_single_queue_push_one), (gst_multi_queue_loop),
7730 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7731 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7732 (compute_high_id), (gst_single_queue_new):
7733 * plugins/elements/gstmultiqueue.h:
7734 Take the multiqueue lock when updating the fill level so we don't get
7737 After applying a buffer or event on the src pad segment, make sure to
7738 call gst_data_queue_limits_changed() to get the data queue to unblock
7739 and check the filled state again.
7741 Rework the not-linked pad handling so the logic is that not-linked
7742 pads can push as fast as they like, but only so they never get
7743 ahead of any linked pads.
7745 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7746 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7747 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7749 Add a test to check that not-linked pads always stay behind
7754 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7756 * docs/random/release:
7757 Some updates to the release procedure.
7759 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7761 * gst/gstelementfactory.c: (__gst_element_details_clear):
7762 Microoptimization that saves stunning 80 bytes.
7764 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7766 * docs/plugins/gstreamer-plugins.args:
7767 * docs/plugins/inspect/plugin-coreelements.xml:
7768 * docs/plugins/inspect/plugin-coreindexers.xml:
7769 Update docs with caps info.
7771 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7774 Updated Italian translation.
7776 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7780 Update Vietnamese translations.
7782 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7784 * libs/gst/base/gstbasesink.c:
7785 Remove unused signal enum.
7787 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7789 * docs/gst/gstreamer-sections.txt:
7791 * gst/gstutils.c: (gst_type_register_static_full):
7792 Beef up and include the docs for gst_type_register_static_full and
7793 gst_element_class_set_details_simple and add the API keyword
7796 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7798 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7799 (update_time_level), (gst_single_queue_push_one),
7800 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7801 (single_queue_overrun_cb), (single_queue_underrun_cb),
7802 (single_queue_check_full):
7803 Fix setting max-* properties after adding queues.
7804 Use IS_FILLED for checking visible items.
7805 Signal overrun if multiple queues overrun.
7806 Add extra debug output.
7807 Patch by: Wim Taymans <wim@fluendo.com>
7809 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7811 * gst/gstelement.c: (gst_element_class_set_details_simple):
7813 * gst/gstutils.c: (gst_type_register_static_full):
7815 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7816 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7817 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7818 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7819 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7820 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7821 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7822 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7823 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7824 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7825 (apply_buffer), (gst_queue_chain):
7826 * plugins/elements/gsttee.c: (gst_tee_base_init):
7827 * plugins/elements/gsttypefindelement.c:
7828 (gst_type_find_element_base_init),
7829 (gst_type_find_element_class_init):
7830 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7831 API: add gst_type_register_static_full
7832 API: add gst_element_class_set_details_simple
7834 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7836 * docs/pwg/advanced-types.xml:
7837 Fix typo in iana.org URI.
7839 2007-06-19 Andy Wingo <wingo@pobox.com>
7841 * tests/check/pipelines/simple-launch-lines.c
7842 (test_state_change_returns): Enable pull-mode tests now that
7843 basesink has been fixed.
7845 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7846 Changed from gst_base_sink_is_prerolled, reversing the sense of
7847 the return value. Returns FALSE also if the sink is in pull mode,
7848 in which case it needs no preroll.
7849 (gst_base_sink_query, gst_base_sink_change_state): Update for
7850 needs_preroll change.
7851 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7852 chaining up, in which we return SUCCESS directly if we activated
7853 in pull mode instead of ASYNC. Involves countering an async_start
7854 message sent before chaining up; not sure if this is correct, in
7855 an ideal world we only send async-start when activating in push
7858 * tests/check/pipelines/simple-launch-lines.c
7859 (test_state_change_returns): New test, partially disabled until
7862 2007-06-19 Wim Taymans <wim@fluendo.com>
7864 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7865 (gst_multi_queue_sink_event):
7868 2007-06-19 Wim Taymans <wim@fluendo.com>
7870 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7871 (gst_bin_change_state_func), (bin_push_state_continue),
7872 (bin_handle_async_start), (bin_handle_async_done),
7873 (gst_bin_handle_message_func):
7874 Move the common code for posting state-change messages into
7876 Broadcast the state signal after we posted the messages.
7877 Mark the bin as busy when it's doing a state-change.
7878 Make sure async-start/done messages don't interfere with the bin's
7879 state when it's busy.
7880 After the state change, let the bin check which elements completed the
7881 state change while it was busy so that it can update its state.
7883 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7885 * docs/random/release:
7886 Add a note about updating the doap file to the release checklist
7888 2007-06-18 Wim Taymans <wim@fluendo.com>
7890 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7891 (gst_single_queue_push_one), (gst_multi_queue_chain),
7892 (gst_multi_queue_sink_event):
7893 Make sure we don't reference the buffer/event after we have given away
7894 ownership in the queue.
7896 2007-06-18 Wim Taymans <wim@fluendo.com>
7898 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7899 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7900 Update queue state _after_ adding the item in the queue because else we
7901 could end up being full without the element added yet.
7903 2007-06-18 Wim Taymans <wim@fluendo.com>
7905 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7906 (gst_bin_remove_func), (gst_bin_get_state_func),
7907 (gst_bin_element_set_state), (gst_bin_continue_func),
7908 (bin_push_state_continue), (bin_handle_async_start),
7909 (bin_handle_async_done), (gst_bin_handle_message_func):
7911 Immediatly commit the toplevel bin state when receiving an async-done
7912 message. This enables us to avoid spawning a thread to commit the state
7913 in some common cases and it also avoids some races.
7914 Avoid spawning a state thread when adding/removing async elements to a
7915 toplevel bin. Instead we immediatly update the bin state.
7916 Get rid of iterating all the children when getting the state in the bin
7917 because it is now always up-to-date.
7918 Fix bug where locked elements would always return _SUCCESS even it they
7919 returned NO_PREROLL before being locked.
7920 Fix the order of the state_change, async-start/done messages that was
7921 sometimes incorrect.
7922 Mark the state_dirty field as deprecated, we don't need it anymore as we
7923 are always up-to-date.
7925 * gst/gstelement.c: (gst_element_get_state_func),
7926 (gst_element_continue_state):
7927 Small debug inprovements.
7928 Return the previous element state return when nothing is pending instead
7929 of blindly returning SUCCESS.
7931 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7933 Add a whole bunch of new testcases.
7935 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7939 Update translations.
7941 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7944 Fix typo in the docs.
7946 2007-06-15 Wim Taymans <wim@fluendo.com>
7948 * docs/libs/gstreamer-libs-sections.txt:
7949 Add docs for new methods.
7951 2007-06-15 Wim Taymans <wim@fluendo.com>
7953 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7954 (gst_multi_queue_item_new):
7955 Don't use GSlice because we don't depend on >= 2.10 yet.
7957 2007-06-15 Wim Taymans <wim@fluendo.com>
7959 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7960 (update_time_level), (apply_segment), (apply_buffer),
7961 (gst_single_queue_push_one), (gst_multi_queue_item_new),
7962 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7963 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7964 (single_queue_underrun_cb), (single_queue_check_full):
7965 Remove debug printf.
7967 2007-06-15 Wim Taymans <wim@fluendo.com>
7969 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7970 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7971 (gst_data_queue_set_flushing), (gst_data_queue_push),
7972 (gst_data_queue_pop), (gst_data_queue_drop_head),
7973 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7974 * libs/gst/base/gstdataqueue.h:
7976 Added methods to get the current levels and to inform the queue that the
7977 'full' limits changed.
7979 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7980 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7981 (gst_single_queue_flush), (update_time_level), (apply_segment),
7982 (apply_buffer), (gst_single_queue_push_one),
7983 (gst_multi_queue_item_steal_object),
7984 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7985 (gst_multi_queue_loop), (gst_multi_queue_chain),
7986 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7987 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7988 (gst_multi_queue_src_query), (single_queue_overrun_cb),
7989 (single_queue_underrun_cb), (single_queue_check_full),
7990 (gst_single_queue_new):
7991 Keep track of time in the queue by measuring the difference between
7992 running_time on input and output. This gives more accurate results and
7993 can compensate for segments correctly.
7994 Make a queue by default only 5 buffers deep. We will now increase the
7995 buffer size depending on the filledness of the other queues.
7996 Factor out commong flush code.
7997 Make sure we don't add additional refcounts to buffers when we can avoid
7999 Propagate GstFlowReturn differently.
8000 Use GSlice for intermediate GstMultiQueueItems.
8002 Resize queues on over and underruns based on filled level of other
8004 When checking if the queue is filled, prefer to measure in time if we
8005 can and fall back to bytes when no time is known.
8007 * plugins/elements/gstqueue.c:
8010 2007-06-15 Wim Taymans <wim@fluendo.com>
8012 * libs/gst/base/gstbasetransform.c:
8013 (gst_base_transform_sink_event):
8014 Work around the brokenness of the event vmethod in basetransform. Prefer
8015 to return TRUE when the subclass returned FALSE (meaning don't forward
8018 * libs/gst/base/gstbasetransform.h:
8021 2007-06-15 Wim Taymans <wim@fluendo.com>
8023 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8024 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8025 (gst_base_src_default_query), (gst_base_src_get_range),
8026 (gst_base_src_start):
8027 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8030 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8032 * docs/pwg/advanced-types.xml:
8033 Added more formats to caps table.
8035 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8037 * tools/gst-launch.c: (main):
8038 Remove crufy code. GOption does not need this workaround.
8040 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8042 * libs/gst/controller/gstcontroller.c:
8043 (gst_controlled_property_set_interpolation_mode):
8044 Fix wrong getter for enums in controller.
8046 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8048 * libs/gst/check/gstcheck.c: (gst_check_init):
8049 Intercept criticals and warnings in the Gst-Phonon log domain, so
8050 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8053 2007-06-14 Edward Hervey <edward@fluendo.com>
8055 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8056 Since this file doesn't include "gst.h" it will not go through the
8057 macros that disable GST_LOG if debugging was disabled.
8059 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8061 * libs/gst/check/Makefile.am:
8062 * libs/gst/check/gstcheck.h:
8063 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8064 * pkgconfig/gstreamer-check.pc.in:
8065 Ugly 'fix' for the controller unit test on the p5 bot: in
8066 fail_unless_equals_float() check whether the values are 'almost
8067 equal' by allowing a small absolute error, which should be good
8068 enough for our use cases (normal numbers and values close to 0).
8069 Proper fixage left to floating point arithmetic aficionados.
8071 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8073 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8074 (gst_base_sink_render_object), (gst_base_sink_get_position):
8075 Add two breaks thats where missing.
8077 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8079 * docs/libs/gstreamer-libs-sections.txt:
8080 * libs/gst/check/gstcheck.h:
8081 API: add fail_unless_equals_float() and assert_equals_float().
8082 Add documentation for some of the macros.
8084 * tests/check/libs/controller.c: (GST_START_TEST):
8085 Use newly-added asserts.
8087 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8089 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8090 Show the caps change in the log to help spotting the case of not
8091 exactly matching caps.
8093 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8095 * docs/pwg/building-boiler.xml:
8096 Fix typos, spotted by Thijs Vermeir (#447190).
8098 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8100 * docs/plugins/tmpl/.cvsignore:
8101 Ignore file to keep the buildbots happy
8103 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8105 * docs/plugins/Makefile.am:
8106 * docs/plugins/gstreamer-plugins-docs.sgml:
8107 * docs/plugins/gstreamer-plugins-sections.txt:
8108 Pull fdsink into the docs too.
8110 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8112 * libs/gst/controller/gstinterpolation.c:
8113 Actually use the new functions with min/max checks for the trigger and
8114 none interpolation modes for get() and get_value_array() instead of
8117 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8119 * libs/gst/controller/gstcontroller.c:
8120 (gst_controlled_property_free):
8121 Unset the minimum and maximum GValues when freeing the corresponding
8122 GstControllerProperty struct.
8124 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8126 * libs/gst/controller/gstcontroller.c:
8127 (gst_controlled_property_new):
8128 * libs/gst/controller/gstcontrollerprivate.h:
8129 * libs/gst/controller/gstinterpolation.c:
8130 (gst_controlled_property_find_control_point_node),
8131 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8132 (interpolate_none_get_string_value_array),
8133 (interpolate_trigger_get),
8134 (interpolate_trigger_get_enum_value_array),
8135 (interpolate_trigger_get_string_value_array):
8136 Protect against values larger or smaller than the minimum or maximum
8137 allowed value for the property when using values that can be compared.
8139 Optimize trigger interpolator a bit by taking the last requested value
8140 into account instead of always looping through the complete list.
8142 Fix coding style a bit, everywhere else we use "return foo" instead
8145 * tests/check/libs/controller.c: (GST_START_TEST),
8146 (gst_controller_suite):
8147 Add unit test for the protection against too large or too small
8150 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8152 * docs/random/slomo/controller.txt:
8153 Add some thoughts about the future of the controller.
8155 2007-06-08 Wim Taymans <wim@fluendo.com>
8157 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8158 Don't overflow in retimestamping code.
8160 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8162 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8163 Use gst_util_guint64_to_gdouble for conversions.
8164 * win32/common/libgstreamer.def:
8165 Add new exported functions.
8167 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8170 Small docs addition.
8172 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8175 Remove that test line again.
8177 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8180 Test commit mail sending.
8182 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8185 Fix typo and test commit mail sending.
8187 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8189 * tests/examples/controller/audio-example.c:
8190 Improve comment and test commit mail sending.
8192 2007-06-07 Wim Taymans <wim@fluendo.com>
8194 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8195 (gst_bin_remove_func), (gst_bin_element_set_state),
8196 (bin_handle_async_start), (bin_handle_async_done),
8197 (gst_bin_handle_message_func):
8198 Add helper function to find messages.
8199 Generate the async-done messages together with the state change
8201 Small cleanups in handling toplevel bins.
8203 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8205 * libs/gst/base/gstdataqueue.c:
8206 * libs/gst/base/gstdataqueue.h:
8207 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8208 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8209 (gst_multi_queue_sink_event):
8210 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8211 Fix multiqueue leaking buffers and events when downstream or the
8212 queue are flushing. Make refcounting assumptions explicit and
8213 document them (shouldn't break existing code that uses it other than
8214 maybe leak miniobjects, but that already happens anyway). Add unit
8215 test for the most common flushing case. Fixes #423700.
8217 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8219 * libs/gst/controller/gstcontroller.c:
8220 Clarify docs: The get_all, get_value_array(s) functions
8221 don't modify the GObject properties.
8223 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8225 * libs/gst/controller/gstcontroller.c:
8226 (gst_controlled_property_set_interpolation_mode),
8227 (gst_controlled_property_prepend_default),
8228 (gst_controlled_property_new), (gst_controller_set_unlocked),
8229 (gst_controller_set), (gst_controller_set_from_list),
8230 (gst_controller_unset), (gst_controller_unset_all):
8231 * libs/gst/controller/gstcontrollerprivate.h:
8232 * libs/gst/controller/gstinterpolation.c:
8233 Factor out the 'set' logic into gst_controller_set_unlocked for the
8234 gst_controller_set and gst_controller_set_from_list functions.
8236 To make life of the interpolators easier always add a control point
8237 at timestamp zero with the default value.
8239 In the linear interpolator make things more obvious by better variable
8242 Implement cubic interpolation mode (by using a natural cubic spline)
8243 and map the quadratic interpolation mode to this too (as quadratic
8244 doesn't make much sense, see discussion on the list).
8246 * tests/check/libs/controller.c: (GST_START_TEST),
8247 (gst_controller_suite):
8248 Add unit test for the cubic interpolation mode and check everywhere
8249 if the interpolation mode could be set as expected.
8251 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8253 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8254 Don't use GLib-2.10 functions, we still depend on
8255 GLib-how-old-is-it-again-2.8.
8257 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8259 * docs/gst/gstreamer-sections.txt:
8263 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8264 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8265 (_gst_param_fraction_values_cmp),
8266 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8267 * gst/gstparamspecs.h:
8269 * tests/check/Makefile.am:
8270 * tests/check/gst/.cvsignore:
8271 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8272 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8273 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8274 (GST_START_TEST), (gst_param_spec_suite):
8275 API: add GstParamSpecFraction, so elements can have fraction
8276 properties without lots of painful string parsing (#444648).
8278 2007-06-05 Wim Taymans <wim@fluendo.com>
8280 * gst/gstobject.c: (gst_object_class_init):
8281 Fix signal signature.
8284 Add small clarification in the api docs.
8286 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8287 States are protected with object lock.
8289 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8292 I should probably be listed as an author by now.
8294 * docs/random/release:
8295 Update the release doc
8297 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8300 Make docs for gst_value_compare() mention return enums that
8303 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8308 === release 0.10.13 ===
8310 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8313 releasing 0.10.13, "With or without you"
8315 2007-05-25 Wim Taymans <wim@fluendo.com>
8317 * gst/gstbin.c: (bin_handle_async_done):
8318 Make sure that the child bin stops after completing the async state
8319 change so that the parent can continue the state change to PLAYING.
8322 2007-05-25 Wim Taymans <wim@fluendo.com>
8324 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8325 (unref_data), (gst_collect_pads_remove_pad),
8326 (gst_collect_pads_check_pads):
8327 Use additional refcounting to avoid crashes when dynamically adding and
8328 removing pads. Fixes #420206.
8330 2007-05-24 Wim Taymans <wim@fluendo.com>
8332 * tools/gst-launch.c: (event_loop):
8333 When buffering goes from a two digit to a single digit number, make sure
8334 to remove the old second digit by writing a blank over it.
8336 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8338 * libs/gst/base/gstdataqueue.c:
8339 Eliminate tabs and trailing comma in enum list; fix some typos.
8341 2007-05-24 Wim Taymans <wim@fluendo.com>
8343 * tests/check/gst/gstbin.c: (GST_START_TEST):
8344 Allow refcount of 3 and 4 because some state thread might still be busy
8347 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8349 * plugins/elements/Makefile.am:
8350 * plugins/elements/gstmultiqueue.h:
8351 * plugins/elements/gstqueue.h:
8352 These are not installed headers, no need for padding.
8354 2007-05-24 Wim Taymans <wim@fluendo.com>
8356 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8357 (gst_bin_continue_func):
8358 Enable latency for next release.
8359 Restore STATE_LOCK around recalc_state that was left out during the
8360 rewrite and could result in racy behaviour when _get_state and
8361 recalc_state are run concurrently. See #440463.
8363 2007-05-23 Wim Taymans <wim@fluendo.com>
8365 * tests/check/gst/gstsystemclock.c: (store_callback),
8367 Improve test_async_order to also work when both timers are already
8368 expired when we get scheduled to check it.
8370 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8372 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8373 (gst_bin_set_property), (gst_bin_get_property),
8374 (gst_bin_remove_func), (gst_bin_handle_message_func):
8376 'private' is a c++ keyword, let's not use that in header files,
8377 otherwise c++ compilers will throw a tantrum.
8379 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8381 * plugins/elements/gstelements.c:
8382 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8383 (gst_file_sink_get_current_offset):
8384 * plugins/indexers/gstindexers.c: (plugin_init):
8385 Use #ifdef for HAVE_XYZ for consistency.
8387 * tests/check/Makefile.am:
8388 * tests/check/elements/.cvsignore:
8389 * tests/check/elements/filesink.c: (setup_filesink),
8390 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8391 Add some unit tests for filesink.
8393 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8395 Patch by: Mark Nauwelaerts <manauw at skynet be>
8397 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8398 (gst_file_sink_query), (gst_file_sink_do_seek),
8399 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8400 * plugins/elements/gstfilesink.h:
8401 Fix position reporting; rename data_written member to current_pos to
8402 reflect its real meaning (fixes #412648).
8404 2007-05-22 Edward Hervey <edward@fluendo.com>
8406 * docs/gst/gstreamer-sections.txt:
8407 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8408 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8409 (gst_bin_remove_func), (gst_bin_handle_message_func):
8411 Add a property for bins that handle the state change of their childs.
8414 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8416 * libs/gst/controller/gstinterpolation.c:
8417 Use an array of the correct type when using _get_value_array with
8418 linear interpolation.
8420 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8422 * gst/gstelement.c (gst_element_requires_clock,
8423 gst_element_provides_clock, gst_element_request_pad,
8424 gst_element_class_set_details, gst_element_class_set_details_simple,
8425 gst_element_default_send_event, gst_element_abort_state,
8426 gst_element_continue_state, gst_element_set_state,
8427 gst_element_set_state_func, iterator_activate_fold_with_resync):
8428 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8429 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8430 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8431 gst_pad_get_range, gst_pad_pull_range):
8432 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8433 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8434 GstPadActivateModeFunction, GstPadChainFunction,
8435 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8436 GstPadFixateCapsFunction, GstPadTemplate):
8437 * gst/gstpipeline.c (gst_pipeline_change_state,
8438 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8439 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8440 gst_pipeline_get_delay):
8441 Whitespace and docs fixes.
8443 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8445 * libs/gst/controller/gstinterpolation.c:
8446 (interpolate_trigger_get_enum_value_array),
8447 (interpolate_trigger_get_string_value_array):
8448 Add support for retrieving value arrays when using the trigger
8451 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8453 * libs/gst/controller/gstcontroller.c:
8454 (gst_controller_get_value_array):
8455 * libs/gst/controller/gstcontroller.h:
8456 Clarify the docs of gst_controller_get_value_array(): The array where
8457 the values should be written to must be allocated as there seems to be
8458 no way to get the size of a random GType. This doesn't change any
8459 behaviour. Also fix some typos all over the place and remove an unused,
8460 commented function that is not necessary as g_object_set() could be
8462 * tests/check/libs/controller.c: (GST_START_TEST),
8463 (gst_controller_suite):
8464 Add unit test for gst_controller_get_value_array().
8466 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8468 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8470 Disable part of the gst_buffer_try_new_and_alloc test, because
8471 it can happily succeed on 64-bit systems where there's more address
8474 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8476 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8477 Add unit test for the improved caps checking from bug #421543.
8479 2007-05-21 Wim Taymans <wim@fluendo.com>
8481 * docs/design/part-synchronisation.txt:
8484 * gst/gstbin.c: (gst_bin_query):
8485 * plugins/elements/gstqueue.c: (apply_segment):
8491 2007-05-21 Wim Taymans <wim@fluendo.com>
8493 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8494 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8495 (gst_pad_configure_src):
8496 Added simple version of improved caps checking. It was previously
8497 assumed that a setcaps function would check the validity of the caps but
8498 people prefer us to check caps against the template automatically.
8501 2007-05-21 Wim Taymans <wim@fluendo.com>
8503 * libs/gst/base/gstbasetransform.h:
8504 Fix macro for locking/unlocking the transform lock.
8506 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8508 * docs/plugins/tmpl/.cvsignore:
8511 2007-05-18 Edward Hervey <edward@fluendo.com>
8513 * plugins/elements/gstqueue.c: (gst_queue_loop):
8514 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8515 for the subtle art of warning a potentially blocking thread that it
8516 should check the source pad return value, and relay the information
8519 2007-05-18 Edward Hervey <edward@fluendo.com>
8521 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8522 Release the queue lock !
8524 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8526 * docs/libs/gstreamer-libs-sections.txt:
8527 Add the two new controller functions to the appropiate places.
8529 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8531 reviewed by: Stefan Kost <ensonic@users.sf.net>
8533 * libs/gst/controller/gstcontroller.c:
8534 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8535 (_gst_controller_get_property), (_gst_controller_set_property),
8536 (_gst_controller_init), (_gst_controller_class_init):
8537 * libs/gst/controller/gstcontroller.h:
8538 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8539 (gst_object_get_control_rate), (gst_object_set_control_rate):
8540 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8541 Add API that provides sync suggestion timestamps for elements that
8542 call gst_object_sync_values() from which those elements can subdivide
8543 their processing loop to get the best results for the controlled
8544 properties. For now it just suggests last_sync + control_rate as
8545 new timestamp but this will be improved in the future.
8547 While doing that change the control-rate property to a GstClockTime
8548 from guint and change it's meaning from samples to nanoseconds as
8549 the GstController doesn't know anything about sampling rate. Strictly
8550 speaking this breaks ABI but as the control-rate property didn't do
8551 anything in the past and as such couldn't be used this should be no
8554 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8556 reviewed by: Stefan Kost <ensonic@users.sf.net>
8558 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8559 (gst_controller_unset_all):
8560 * libs/gst/controller/gstcontrollerprivate.h:
8561 * libs/gst/controller/gstinterpolation.c:
8562 (gst_controlled_property_find_control_point_node):
8563 Save last synced value from the list to continue searching from there
8564 in future syncs. This speeds everything up a bit.
8566 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8568 reviewed by: Stefan Kost <ensonic@users.sf.net>
8570 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8571 (gst_control_point_find), (gst_controlled_property_new),
8572 (gst_control_point_free), (gst_controlled_property_free),
8573 (gst_controller_set), (gst_controller_set_from_list),
8574 (gst_controller_unset), (gst_controller_unset_all),
8575 (gst_controller_sync_values):
8576 * libs/gst/controller/gstcontroller.h:
8577 * libs/gst/controller/gstcontrollerprivate.h:
8578 * libs/gst/controller/gstinterpolation.c:
8579 (gst_controlled_property_find_control_point_node),
8580 (interpolate_none_get), (interpolate_trigger_get):
8581 Add a new private GstControlPoint struct which "inherits" from
8582 GstTimedValue to allow different interpolators to store internal
8583 values next to each control point. From the outside everything is
8584 still a GstControlPoint so we don't loose binary compatibility.
8585 Also fixup all the GValue handling to not leak GValues or list nodes.
8586 * tests/check/libs/controller.c: (GST_START_TEST):
8587 Free the list nodes and GValues in the controller_misc test.
8589 2007-05-17 Edward Hervey <edward@fluendo.com>
8594 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8596 * gst/gstplugin.c: (gst_plugin_load_file):
8597 If we fail to load a plugin because of unresolved symbols or missing
8598 libraries and spew a warning to stderr, we may just as well mention
8599 which plugin it was that failed to load.
8601 2007-05-13 David Schleef <ds@schleef.org>
8603 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8604 handles the case when ENABLE_GTK_DOC is false, and installs
8605 the prebuilt documentation. So gtk-doc subdirs are
8606 unconditionally enabled. Fixes: #349099.
8608 2007-05-13 David Schleef <ds@schleef.org>
8610 * gst/gstutils.h: Reword some documentation.
8612 2007-05-12 David Schleef <ds@schleef.org>
8614 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8615 do anything with the passed "module" parameter, so remove it.
8616 Allows removal of additional vestigal code.
8618 2007-05-12 David Schleef <ds@schleef.org>
8621 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8622 Switch to using g_stat() because it's more portable.
8624 2007-05-12 David Schleef <ds@schleef.org>
8627 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8628 parsing for embedded systems.
8629 * gst/gstelementfactory.c:
8630 Allow gst_element_register() to be called with plugin==NULL.
8631 Did nobody notice that static elements were broken?
8633 2007-05-12 Wim Taymans <wim@fluendo.com>
8635 * tools/gst-launch.c: (event_loop):
8636 Give more interesting info when buffering starts and stops.
8637 Fix case where buffering starts but we fail to update the buffering flag
8638 because the target state is not PLAYING.
8640 2007-05-12 Wim Taymans <wim@fluendo.com>
8642 * plugins/elements/gstqueue.c: (gst_queue_init),
8643 (gst_queue_finalize), (update_time_level), (apply_segment),
8644 (apply_buffer), (gst_queue_locked_flush),
8645 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8646 (gst_queue_handle_sink_event), (gst_queue_chain),
8647 (gst_queue_push_one), (gst_queue_loop):
8648 * plugins/elements/gstqueue.h:
8649 Refactor an cleanup queue a bit.
8650 Do better time level calculations that also work when the srcpad is not
8652 Remove some unneeded debug lines.
8654 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8655 Added testcase for time level measurement.
8656 Try to make some stuff more racefree.
8658 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8660 * gst/gsturi.c: (gst_element_make_from_uri):
8661 Don't leak plugin feature.
8663 * tests/check/Makefile.am:
8664 * tests/check/gst/.cvsignore:
8665 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8666 Add brain-dead unit test.
8668 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8670 Patch by: Jeroen Wouters <woutersj at gmail com>
8672 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8673 Treat protocol strings in a case-insensitive way (#437563).
8675 2007-05-11 Michael Smith <msmith@fluendo.com>
8677 * gst/gstplugin.c: (gst_plugin_load_file):
8678 * gst/gstregistry.c: (gst_registry_scan_path_level):
8679 Don't print a g_warning for any failure to load a shared object.
8680 Instead, push this down into gstplugin.c, and warn _only_ if we
8681 failed to open the module (i.e. failure to link).
8682 Avoids warnings on normal, working, non-plugin .so files.
8684 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8686 * gst/gstplugin.c (gst_plugin_load_file):
8687 * gst/gstregistry.c (GST_CAT_DEFAULT,
8688 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8689 Print a g_warning if there was an error when loading a plugins during
8690 registry scan. The shuld help beginners starting with gst-plugin
8693 2007-05-10 Wim Taymans <wim@fluendo.com>
8695 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8696 (update_time_level), (gst_queue_locked_flush),
8697 (gst_queue_handle_sink_event), (gst_queue_chain),
8698 (gst_queue_push_one), (gst_queue_loop):
8699 * plugins/elements/gstqueue.h:
8700 Be smarter when calculating the current amount of data in the queue by
8701 measuring the difference between start and end timestamps (in running
8702 time) inside the queue. Fixes #432876.
8703 API: GstQueue::pushing to notify elements that we are pushing data again
8704 since the running signal is rather broken for this purpose.
8706 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8708 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8709 gst_queue_base_init, gst_queue_init):
8712 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8714 * win32/common/libgstreamer.def:
8715 Add new exported functions.
8716 * win32/vs6/grammar.dsp:
8717 Use grammar pre-generated files.
8719 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8721 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8724 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8726 * gst/gstutils.c: (gst_parse_bin_from_description):
8728 Maintain API and ABI when --disable-parse is used. Now that
8729 we have an appropriate error code, we can just return NULL and the
8730 appropriate error when gst_parse_launch() is used despite it having
8731 been disabled (#342564).
8733 * tests/check/Makefile.am:
8734 * tests/check/pipelines/.cvsignore:
8735 * tests/check/pipelines/parse-disabled.c:
8736 Make sure these functions exist and return NULL plus a GError when
8737 --disable-parse is used.
8739 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8741 * tests/benchmarks/complexity.c: (main):
8742 * tests/benchmarks/mass-elements.c: (main):
8743 Set a good example and don't leak messages.
8745 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8747 * docs/gst/Makefile.am:
8748 * docs/libs/Makefile.am:
8749 Correct fixxrefs options.
8751 * docs/plugins/Makefile.am:
8752 * docs/plugins/gstreamer-plugins-docs.sgml:
8753 * docs/plugins/gstreamer-plugins-sections.txt:
8754 * plugins/elements/Makefile.am:
8755 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8756 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8757 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8758 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8759 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8760 _GstCapsFilterClass, trans_class):
8761 * plugins/elements/gstelements.c (name, rank, type, _elements):
8762 * plugins/elements/gstidentity.c
8763 (gst_identity_check_imperfect_timestamp,
8764 gst_identity_check_imperfect_offset):
8765 Document capsfilter and add doc-blurb to identity.
8767 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8769 * libs/gst/controller/gstcontroller.c:
8770 (gst_controlled_property_set_interpolation_mode):
8771 * libs/gst/controller/gstinterpolation.c:
8772 Don't crash if someone tries to set an interpolation mode that
8773 is invalid or that isn't supported yet. Fixes #422295.
8775 * tests/check/libs/controller.c: (GST_START_TEST),
8776 (gst_controller_suite):
8777 Add a test case for the above.
8779 2007-05-03 Edward Hervey <edward@fluendo.com>
8781 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8782 Properly set the last_stop position on GstSegment. This will only happen
8783 if there is a buffer to push out.
8785 2007-05-03 Wim Taymans <wim@fluendo.com>
8787 * libs/gst/base/gstbasetransform.c:
8788 (gst_base_transform_buffer_alloc):
8789 always_in_place does not mean that the sink and source caps are the
8790 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8792 2007-05-03 Wim Taymans <wim@fluendo.com>
8794 * docs/libs/gstreamer-libs-sections.txt:
8795 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8796 (gst_base_src_default_query), (gst_base_src_get_range):
8797 * libs/gst/base/gstbasesrc.h:
8798 API: gst_base_src_query_latency(). Added method so that subclasses can
8799 easily get the latency values of the base source class.
8801 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8803 * tools/gst-inspect.c (print_implementation_info):
8806 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8808 * tools/Makefile.am:
8809 * tools/gst-launch.1.in:
8810 Don't create a customised man page based on the host architecture,
8811 describe the default registry path generically. That way the man
8812 page is the same for all architectures and packagers have one
8813 multilib issue less to deal with. Fixes #434926.
8815 2007-05-02 Wim Taymans <wim@fluendo.com>
8818 Fix documentation as spotted by rg on IRC.
8820 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8823 Improve docs for gst_element_{link,unlink}.
8825 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8827 * docs/design/part-events.txt:
8828 * docs/design/part-overview.txt:
8832 * libs/gst/base/gstbasesink.c:
8833 Typo fixes; minor docs addition.
8835 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8837 * docs/gst/gstreamer-sections.txt:
8838 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8839 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8841 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8842 or src that supports a given URI protocol exists.
8844 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8846 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8847 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8848 Set the location to NULL if "file://" is set as URI. Otherwise
8849 some random previous URI would still be set if "file://" is
8850 set on an already used filesink/filesrc.
8852 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8854 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8855 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8856 Special case the "file://" URI as as this is used by some
8857 applications to test with gst_element_make_from_uri if there's
8858 an element that supports the URI protocol.
8859 Also move the g_path_is_absolute() check for the location part
8860 of the URI to also check this for "file://localhost/bla" URIs.
8862 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8864 * docs/gst/gstreamer-sections.txt:
8865 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8867 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8869 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8871 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8873 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8874 (gst_registry_binary_load_pad_template),
8875 (gst_registry_binary_load_plugin),
8876 (gst_registry_binary_read_cache):
8877 * gst/gstregistrybinary.h:
8878 Implement no-mmap alternative for registry reading. Do code cleanups.
8879 Add more comments about avoiding strdups for all text data. Comments
8882 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8884 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8885 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8886 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8887 Comment structs and reformat to fix the build (that stuff should go
8888 into a priv. header).
8890 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8892 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8893 (gst_registry_binary_load_feature):
8894 * gst/gstregistrybinary.h:
8895 Refactor so that we can implement multiple features. Add support for
8896 TypeFindFactory features.
8898 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8900 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8903 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8905 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8907 * gst/gstbin.c: (gst_bin_element_set_state),
8908 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8909 (bin_handle_async_done), (gst_bin_handle_message_func):
8910 Fix build with --gst-disable-gst-debug
8912 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8914 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8915 Make sure streaming has finished before calling the ::stop() vfunc,
8916 since that vfunc might clear state which is being used in the
8917 streaming thread. This fixes a race that caused crashes in
8918 audioresample when shutting down a pipeline (#420106).
8920 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8922 * docs/gst/gstreamer-sections.txt:
8923 That was one byte missing.
8925 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8928 * docs/gst/gstreamer-sections.txt:
8930 * gst/gstconfig.h.in:
8931 * gst/gstobject.c: (gst_object_class_init),
8932 (gst_signal_object_class_init):
8934 2nd attempt to have a xml-less build as a joined effort of #413123
8937 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8939 * docs/design/draft-tagreading.txt:
8940 Added open issues/thoughts to draft.
8942 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8944 * gst/parse/grammar.tab.pre.c:
8945 * gst/parse/grammar.tab.pre.h:
8946 * gst/parse/lex._gst_parse_yy.pre.c:
8947 Update the prebuild parser sources.
8949 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8951 * gst/parse/Makefile.am:
8952 And now fix the building of the flex sources. Now everything should
8955 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8957 * gst/parse/Makefile.am:
8958 Now hopefully fix the build failures by setting proper rule
8959 dependencies and moving instead of copying.
8961 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8963 * tests/benchmarks/complexity.gnuplot:
8964 * tests/benchmarks/complexity.scm:
8965 * tests/benchmarks/mass-elements.gnuplot:
8966 * tests/benchmarks/mass-elements.scm:
8967 Total licensification.
8969 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8971 * gst/parse/Makefile.am:
8972 Fix the build by correcting the rule that gave wrong files to flex.
8974 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8976 * tests/benchmarks/complexity.c:
8977 * tests/benchmarks/mass-elements.c:
8978 Change licence to LGPL as granted by Benjamin and Andy.
8980 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8982 * gst/parse/Makefile.am:
8983 Add correct grammar.tab.h dependency if compiling without new enough
8984 flex. Fixes #431150.
8986 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8988 * gst/parse/Makefile.am:
8989 Fix typo and use outdated sources if the flex/bison sources are newer
8990 than the pregenerated ones but flex is too old. Print a warning in
8991 that case. This should fix the build on the build bot.
8993 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8995 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8996 * gst/parse/Makefile.am:
8997 * gst/parse/grammar.y:
8998 * gst/parse/parse.l:
8999 Make the parser reentrant and recursively callable. This requires flex
9000 >= 2.5.31, for older versions pregenerated sources are used as we
9001 can't bump the build dependency. Finally fixes #349180.
9003 * gst/gstparse.c: (gst_parse_launch):
9004 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9007 * docs/gst/Makefile.am:
9008 * docs/gst/Makefile.am:
9009 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9010 (__gst_parse_strfree), (__gst_parse_link_new),
9011 (__gst_parse_link_free), (__gst_parse_chain_new),
9012 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9013 (gst_parse_element_set), (gst_parse_free_link),
9014 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9015 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9016 (_gst_parse_launch):
9017 * gst/parse/grammar.tab.pre.h:
9018 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9019 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9020 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9021 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9022 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9023 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9024 (_gst_parse_yypop_buffer_state),
9025 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9026 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9027 (yy_fatal_error), (_gst_parse_yyget_extra),
9028 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9029 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9030 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9031 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9032 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9033 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9034 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9035 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9036 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9037 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9038 (_gst_parse_yyfree):
9039 If the installed flex version is too old use pre-generated parser
9040 sources. These pre-generated parser sources are always updated when
9041 the actual flex/bison sources change but require everybody who wants
9042 to change something in the parser to have flex >= 2.5.31 installed.
9044 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9046 * common/m4/gst-gettext.m4:
9047 * gst/gst-i18n-lib.h:
9048 Make --disable-nls to work
9050 2007-04-17 Wim Taymans <wim@fluendo.com>
9052 * gst/gstconfig.h.in:
9053 Revert previous change that broke the build.
9055 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9059 * gst/gstconfig.h.in:
9060 Drop libxml2 dependency when building with
9061 --enable-binary-registry --disable-loadsave
9063 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9065 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9066 (gst_registry_binary_read_cache):
9067 * gst/gstregistrybinary.h:
9068 Remove unnecessary <sys/mman.h> include which broke the win32 build
9069 with MingW; move includes from header file to .c file, even if the
9070 header file isn't installed; use g_strerror() where UTF-8 strings
9071 are expected, such as in GST_DEBUG messages.
9073 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9075 * docs/libs/gstreamer-libs-sections.txt:
9076 Remove bogus addition for API I didn't end up keeping.
9078 * libs/gst/base/gstbasesrc.h:
9079 Mention Since: 0.10.13 in the documentation.
9081 Add the API keyword to the previous ChangeLog entry.
9083 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9085 * docs/libs/gstreamer-libs-sections.txt:
9086 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9087 (gst_base_src_default_prepare_seek_segment),
9088 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9089 * libs/gst/base/gstbasesrc.h:
9090 Allow basesrc derived classes to execute seeks in other formats
9091 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9092 to prepare the GstSegment in any format that their perform_seek method
9093 will be able to understand. The default implementation provides the
9094 old behaviour of attempting to convert the seek offsets to the
9095 configured native format.
9097 API: basesrc::prepare_seek_segment vmethod.
9099 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9101 * gst/gstelement.c: (gst_element_get_state_func):
9102 Don't output the same debug statement twice.
9104 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9105 (gst_adapter_peek), (gst_adapter_take_buffer):
9106 Optimise the case where we have buffers at the head of the queue that
9107 can be joined quickly (because they're contiguous sub-buffers) by
9108 merging them together rather than copying data out into new memory.
9110 * gst/parse/grammar.y:
9111 * tests/check/pipelines/parse-launch.c:
9112 Fix a leak in an error path for parse_launch, and add a check
9113 for it to the testsuite.
9115 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9117 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9118 Don't deadlock when releasing a pad - gst_pad_set_active may try
9119 and take the multiqueue lock too.
9121 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9123 * gst/gsterror.c: (_gst_core_errors_init):
9125 API: add GST_CORE_ERROR_DISABLED (#392804).
9127 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9129 * docs/faq/gst-uninstalled:
9130 don't get empty paths on the PATH variables
9131 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9132 Don't format for the uncommon terminal width of 84 characters.
9134 2007-04-06 Wim Taymans <wim@fluendo.com>
9136 * gst/gstpipeline.c: (reset_stream_time),
9137 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9138 Only try to select a different pipeline clock when we went back to
9139 PAUSED and not when we merely got flushed.
9141 2007-04-05 Michael Smith <msmith@fluendo.com>
9143 * tools/gst-launch.1.in:
9144 fractions are better supported in gstreamer than ractions, so
9145 suggest using those.
9147 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9149 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9153 Added Danish translation.
9155 2007-04-05 Wim Taymans <wim@fluendo.com>
9157 * libs/gst/base/gstbasesink.c:
9158 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9159 Fix leak caused when refusing newsegment after EOS.
9161 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9162 (gst_fake_sink_init), (gst_fake_sink_set_property),
9163 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9164 (gst_fake_sink_render), (gst_fake_sink_change_state):
9165 * plugins/elements/gstfakesink.h:
9166 Add num-buffers property to make the element generate EOS after a
9167 configurable amount of buffers.
9168 API: fakesink::num-buffers property.
9170 * tests/check/elements/fakesink.c: (GST_START_TEST),
9172 Fix GstBus leak in test.
9173 Test for fakesink num-buffers.
9175 2007-04-05 Wim Taymans <wim@fluendo.com>
9177 * libs/gst/base/gstbasesink.c:
9178 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9179 (gst_base_sink_change_state):
9180 Don't accept anything after an EOS, return UNEXPECTED instead.
9182 * tests/check/elements/fakesink.c: (GST_START_TEST),
9184 Unit test for new EOS behaviour.
9186 2007-04-05 Wim Taymans <wim@fluendo.com>
9188 * gst/gstelement.c: (gst_element_get_request_pad):
9189 Make padtemplates also work when they don't contain %s or %d.
9191 2007-04-05 Wim Taymans <wim@fluendo.com>
9193 * docs/gst/gstreamer-sections.txt:
9194 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9195 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9197 Improve _adjust_unlocked() so that it overflows less.
9198 Add gst_clock_unadjust_unlocked to convert from external time to
9199 internal time based on calibration.
9200 Add some more debug.
9201 API: GstClock::gst_clock_unadjust_unlocked()
9203 2007-04-03 Wim Taymans <wim@fluendo.com>
9205 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9207 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9208 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9209 when releasing sink pad. Fixes #425400.
9211 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9213 * docs/random/ensonic/dynlink.txt:
9214 More work on proposal for new core api.
9216 * docs/libs/gstreamer-libs-sections.txt:
9217 * libs/gst/base/gstbasetransform.h:
9218 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9220 * libs/gst/controller/gstcontroller.c:
9221 (on_object_controlled_property_changed),
9222 (gst_controller_sync_values),
9223 (gst_controller_set_interpolation_mode):
9224 * libs/gst/controller/gstcontroller.h:
9225 Less verbose logging add docs for unimplemented parts and correctly
9226 return when using unavailable parts.
9228 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9230 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9231 Move all the debug to the CLOCK category, and associate it with
9234 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9236 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9237 Make take_buffer a bit quicker by removing redundant checks
9238 caused by calling gst_adapter_take.
9240 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9242 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9245 * tests/check/Makefile.am:
9246 * tests/check/elements/.cvsignore:
9247 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9248 (GST_START_TEST), (multiqueue_suite):
9249 Add some dead simple unit tests for the 'multiqueue' element
9250 (some bits don't work yet and are disabled for now).
9252 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9254 * gst/gstelement.c: (gst_element_get_request_pad),
9255 (gst_element_class_get_request_pad_template):
9256 Make gst_element_get_request_pad() create request pads only for
9257 request pad templates and not for, say, sometimes pad templates.
9259 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9261 * docs/design/draft-klass.txt:
9262 Add example that needs more thinking.
9264 * docs/design/draft-missing-plugins.txt:
9265 More thoughts about wrapper plugins.
9267 * docs/random/ensonic/embedded.txt:
9268 * docs/random/ensonic/profiling.txt:
9271 2007-03-25 Wim Taymans <wim@fluendo.com>
9273 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9274 (gst_base_src_loop):
9275 Only push the segment events in the PLAYING state for live sources.
9277 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9279 * gst/gstpipeline.c: (gst_pipeline_change_state):
9280 Modify the clock distribution path in PAUSED->PLAYING so that we
9281 never attempt to choose a new clock unless we're actually leaving
9282 the PAUSED state for the first time. This prevents choosing a
9283 different clock when the state_change gets called for a 2nd time due
9284 to some element doing an async state change.
9286 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9288 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9289 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9290 (gst_pad_chain_unchecked), (gst_pad_push):
9291 Revert last commit. This needs some more thoughts.
9293 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9295 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9296 (gst_pad_chain_unchecked), (gst_pad_push):
9297 Check in set_caps if the caps are compatible with the pad and remove
9298 two functions that are redundant now. Fixes #421543.
9300 2007-03-22 Wim Taymans <wim@fluendo.com>
9302 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9303 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9304 Unref some more to make valgrind happy.
9306 2007-03-22 Wim Taymans <wim@fluendo.com>
9308 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9309 (gst_system_clock_id_wait_jitter),
9310 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9311 Fix anoying regression that survived a few releases. When adding an
9312 async entry while blocking on a sync entry, the sync entry will unblock
9313 but still be busy, so it should continue to wait instead of returning
9315 Add some comments here and there.
9317 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9318 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9319 Add testcase for this.
9321 2007-03-22 Wim Taymans <wim@fluendo.com>
9323 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9324 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9325 WRONG_STATE and can silently pause the task. All other cases should
9328 2007-03-22 Wim Taymans <wim@fluendo.com>
9330 Patch by: Ville Syrjala <syrjala at sci dot fi>
9332 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9333 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9336 2007-03-21 Michael Smith <msmith@fluendo.com>
9338 * docs/pwg/advanced-types.xml:
9339 Fix some errors in the typefinding docs pointed out on irc.
9341 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9343 * libs/gst/base/gstbasesrc.c:
9344 Clarify FIXME comment in the face of having added unlock_stop()
9346 2007-03-21 Wim Taymans <wim@fluendo.com>
9348 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9349 Prepare for release where we warn against possible app breakage in the
9350 case of live pipelines along with an env var to enable/disable live
9351 preroll mode (GST_COMPAT=[no-]live-preroll).
9353 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9355 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9356 So we should use correct constants for checking for None offset.
9358 2007-03-20 Wim Taymans <wim@fluendo.com>
9360 * docs/design/part-block.txt:
9361 Mention the fact that the newly switched element should be set to at
9364 2007-03-20 Wim Taymans <wim@fluendo.com>
9367 Fix compilation with registry disabled as spotted by Saur.
9369 2007-03-20 Wim Taymans <wim@fluendo.com>
9371 Patch by: Olivier Crete <tester at tester dot ca>
9373 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9374 Look at the pending state too when syncing the element state to the
9375 parent. Fixes #420133.
9377 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9379 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9380 (gst_base_sink_change_state):
9381 * libs/gst/base/gstbasesink.h:
9382 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9383 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9384 (gst_base_src_deactivate):
9385 * libs/gst/base/gstbasesrc.h:
9386 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9387 for sub-classes to correctly clear any state they set trying to
9388 unlock, such as clearing out unlock commands from a command fd.
9389 API: basesrc::unlock_stop
9390 API: basesink::unlock_stop
9392 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9393 (gst_fd_sink_render), (gst_fd_sink_unlock),
9394 (gst_fd_sink_unlock_stop):
9395 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9396 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9397 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9399 Implement unlock_stop in fdsrc and fdsink.
9400 Implement seeking in fdsrc when a seekable fd is passed, as in
9401 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9403 2007-03-19 Wim Taymans <wim@fluendo.com>
9405 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9407 * gst/gstelement.c: (gst_element_class_init):
9408 Fix pad-added and pad-removed signal signatures so that the pad type is
9409 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9411 2007-03-19 Wim Taymans <wim@fluendo.com>
9413 * docs/gst/gstreamer-sections.txt:
9414 Add new element field and method.
9416 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9417 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9418 (gst_bin_recalc_state), (gst_bin_get_state_func),
9419 (gst_bin_element_set_state), (gst_bin_change_state_func),
9420 (gst_bin_continue_func), (bin_bus_handler),
9421 (bin_push_state_continue), (bin_handle_async_start),
9422 (bin_handle_async_done), (gst_bin_handle_message_func):
9423 Make async state changes a bit smarter by using new ASYNC_START and
9424 ASYNC_DONE messages. This reduces the number of times we run the state
9425 recalculation thread.
9426 Don't change state of element with a pending ASYNC_START message.
9427 Deprecate STATE_DIRTY messages.
9429 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9430 (gst_element_get_state_func), (gst_element_continue_state),
9431 (gst_element_lost_state), (gst_element_set_state_func),
9432 (gst_element_change_state):
9434 Keep the state that was last set by the app in a new element field.
9435 Don't allow state changes when handling an element event.
9436 Post ASYNC_START and ASYNC_DONE messages.
9437 Change lost_state so that we go to PAUSED and wait for the parent to set
9438 us to PLAYING again (so latency calculation can be performed)
9439 Export gst_element_change_state() method so that subclasses can use it.
9440 API: gst_element_change_state()
9441 API: GST_STATE_TARGET
9443 * gst/gstpipeline.c: (gst_pipeline_class_init),
9444 (reset_stream_time), (gst_pipeline_change_state),
9445 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9446 Using the new ASYNC_START message we can reset the base_time when
9447 needed. This can then be used to implement base_time redistribution in
9448 flushing seeks so that we can remove the explicit seek handling.
9449 Perform latency query and configuration when going to PLAYING.
9451 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9452 (gst_base_sink_query), (gst_base_sink_change_state):
9453 Post new ASYNC_START/ASYNC_DONE messages.
9455 * tests/check/generic/sinks.c: (GST_START_TEST):
9456 Fix test because the bin will not set the async element to PLAYING right
9459 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9460 Make the message check a little stronger.
9461 Handle ASYNC messages.
9463 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9464 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9465 Expect ASYNC_DONE messages.
9467 2007-03-19 Wim Taymans <wim@fluendo.com>
9469 * docs/gst/gstreamer-sections.txt:
9470 * gst/gstmessage.c: (gst_message_new_async_start),
9471 (gst_message_new_async_done), (gst_message_parse_info),
9472 (gst_message_parse_async_start):
9474 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9477 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9479 * tools/gst-inspect.c:
9480 (print_plugin_automatic_install_info_codecs):
9481 Now that we don't check for the 'Codec' keyword any longer in the
9482 klass, we shouldn't spew a warning if the klass isn't a decoder or
9483 encoder (since it might be a Source/Network, for example).
9485 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9487 * tools/gst-inspect.c:
9488 (print_plugin_automatic_install_info_codecs):
9489 Don't require decoder/demuxer/depayloader elements or
9490 encoder/muxer/paylader elements to have 'Codec' as part of their
9491 factory class string when introspecting a plugin's capabilities.
9492 draft-klass.txt mentions that it might be removed in future, and
9493 flump3dec doesn't have it as part of its class string, so chances
9494 are others might also not have it.
9496 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9518 Update translations from translation project
9520 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9522 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9523 (gst_child_proxy_set_property):
9524 Invert precondition check to be alike the ones in the mimiced gobject
9527 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9529 * docs/design/draft-tagreading.txt:
9530 * docs/random/ensonic/audiobaseclasses.txt:
9531 Do some Architect work.
9533 * gst/gstobject.c: (gst_object_set_name):
9537 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9539 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9541 * gst/gstsystemclock.c: (gst_system_clock_init),
9542 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9543 Defer starting the async system clock thread until the first async
9544 wait is scheduled. Fixes #414986.
9546 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9548 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9549 (gst_single_queue_free):
9550 Fix small leak (free GstSingleQueue structure too, not only contents).
9552 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9554 * gst/gstbin.c:(gst_bin_add):
9555 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9556 * win32/common/libgstbase.def:
9557 * win32/common/libgstreamer.def:
9558 Add new exported functions.
9560 2007-03-09 Wim Taymans <wim@fluendo.com>
9562 * docs/plugins/gstreamer-plugins-sections.txt:
9565 2007-03-09 Wim Taymans <wim@fluendo.com>
9567 * docs/gst/gstreamer-sections.txt:
9568 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9570 Add metadata copy functions. Fixes #393099.
9571 API: gst_buffer_copy_metadata()
9573 * gst/gstutils.c: (gst_buffer_stamp):
9574 * libs/gst/base/gstbasetransform.c:
9575 (gst_base_transform_prepare_output_buffer):
9576 Use new metadata copy functions.
9578 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9580 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9581 (gst_identity_init), (gst_identity_check_perfect),
9582 (gst_identity_check_imperfect_timestamp),
9583 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9584 (gst_identity_set_property), (gst_identity_get_property):
9585 * plugins/elements/gstidentity.h:
9586 Separate out check-imperfect-timestamp and check-imperfect-offset.
9587 Put back check-perfect as it was to keep compatibility.
9589 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9591 * gst/gstelement.c: (gst_element_dispose):
9592 There's no need to warn if VOID_PENDING is not NONE here, as
9593 long as the state is NULL it's ok, and that's checked immediately
9596 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9598 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9599 Fix check for perfect stream to ignore buffers with -1
9600 offsets/offset ends when checking data contiguity.
9602 2007-03-08 Wim Taymans <wim@fluendo.com>
9604 * tools/gst-launch.c: (event_loop):
9605 Print INFO messages.
9607 2007-03-08 Wim Taymans <wim@fluendo.com>
9609 * libs/gst/base/gstbasetransform.c:
9610 (gst_base_transform_sink_eventfunc),
9611 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9612 (gst_base_transform_activate):
9613 * libs/gst/base/gstbasetransform.h:
9614 Add support for dropping buffers with custom GstFlowReturn.
9615 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9616 buffers or dropped buffers.
9618 * docs/libs/gstreamer-libs-sections.txt:
9619 docs for new custom return code.
9621 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9622 Use drop support in base class to implement drop-probability.
9624 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9626 * gst/gst.c: (load_plugin_func):
9627 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9628 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9629 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9630 Remove newlines at end of debug log strings.
9632 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9634 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9635 Only post bus message at max, once per buffer received.
9637 2007-03-07 Wim Taymans <wim@fluendo.com>
9639 * docs/design/Makefile.am:
9640 * docs/design/part-synchronisation.txt:
9641 Add doc about synchronisation
9643 * docs/design/draft-latency.txt:
9644 * docs/design/part-TODO.txt:
9645 * docs/design/part-clocks.txt:
9646 * docs/design/part-events.txt:
9647 * docs/design/part-gstbus.txt:
9648 * docs/design/part-gstpipeline.txt:
9649 * docs/design/part-live-source.txt:
9650 * docs/design/part-messages.txt:
9651 * docs/design/part-overview.txt:
9652 * docs/design/part-streams.txt:
9653 * docs/design/part-trickmodes.txt:
9654 Documentation updates.
9656 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9659 Update the doap file.
9661 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9663 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9664 Rename non-perfect to imperfect for Mike and for the sanctity of the
9666 Also make sure bus message gets emitted for data-incontiguities.
9668 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9670 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9671 (gst_identity_start):
9672 * plugins/elements/gstidentity.h:
9673 Emit bus message if check-perfect is true and we encounter a
9674 non-perfect stream between 2 consecutive buffers.
9677 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9682 === release 0.10.12 ===
9684 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9687 releasing 0.10.12, "Inevitable Demise"
9689 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9692 Version 0.10.11.2 (0.10.12 pre-release)
9693 Bump libtool versioning.
9695 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9697 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9698 Log flow-names and not numbers.
9700 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9703 Convert to new AG_GST style.
9705 2007-02-28 Wim Taymans <wim@fluendo.com>
9707 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9708 Don't unref query twice.
9710 2007-02-28 Wim Taymans <wim@fluendo.com>
9712 * gst/gstvalue.c: (gst_value_transform_object_string),
9713 (_gst_value_initialize):
9714 Implement GstObject -> string transform so we print object names
9715 when serializing GValues containing GstObjects.
9717 2007-02-28 Wim Taymans <wim@fluendo.com>
9719 * docs/gst/gstreamer-sections.txt:
9720 Add new stuff to docs.
9722 2007-02-28 Wim Taymans <wim@fluendo.com>
9724 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9725 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9726 (gst_base_sink_change_state):
9727 Improve latency query code.
9728 Don't leak latency events.
9730 * tests/check/gst/gstbin.c: (GST_START_TEST):
9733 2007-02-28 Wim Taymans <wim@fluendo.com>
9735 * gst/gstelement.c: (gst_element_message_full),
9736 (gst_element_get_state_func):
9738 Improve docs a little. Added Since: for new macro.
9740 * gst/gstobject.c: (gst_object_sink):
9741 * gst/gstpipeline.c: (gst_pipeline_change_state),
9742 (gst_pipeline_set_new_stream_time):
9743 * gst/gstpipeline.h:
9744 Improve debugging and docs.
9746 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9749 2007-02-28 Wim Taymans <wim@fluendo.com>
9751 * gst/gstelement.c: (gst_element_message_full),
9752 (gst_element_set_locked_state), (gst_element_get_state_func),
9753 (gst_element_change_state):
9754 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9755 Documentation updates.
9756 Small code cleanups.
9758 * gst/gstmessage.c: (gst_message_new_info),
9759 (gst_message_parse_info):
9761 API: gst_message_new_info()
9762 API: gst_message_parse_info()
9763 Add INFO message create and parse code.
9765 2007-02-28 Wim Taymans <wim@fluendo.com>
9767 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9768 (bin_query_latency_done):
9769 Also report the live parameter of a latency query.
9771 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9773 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9774 Copy the current generic/states example from -base and adapt so
9775 we can use the exact same code everywhere.
9776 Check a STATES_IGNORE_ELEMENTS env var which can be used
9777 to ignore certain element factories for this test, which is
9778 what is being done in -base
9779 * tests/check/Makefile.am:
9780 Mention this environment variable.
9782 2007-02-27 Wim Taymans <wim@fluendo.com>
9784 * docs/gst/gstreamer-sections.txt:
9785 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9786 (gst_bus_timed_pop), (gst_bus_pop):
9788 API: gst_bus_timed_pop()
9789 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9790 message to arrive on the bus.
9792 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9794 Two unit tests for new _timed_pop() function.
9796 2007-02-23 Wim Taymans <wim@fluendo.com>
9798 * gst/gstpipeline.c: (gst_pipeline_change_state),
9799 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9800 Don't ref a NULL clock in _provide_clock_func().
9801 Don't allow an INVALID delay.
9802 Don't try to calculate base_time with an invalid start_time.
9803 Also distribute and notify a NULL clock when it was selected.
9805 * tools/gst-launch.c: (event_loop):
9806 Don't crash when a NULL clock was selected in the pipeline.
9808 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9810 * docs/design/Makefile.am:
9811 * docs/design/draft-missing-plugins.txt:
9812 * docs/random/draft-missing-plugins.txt:
9813 Some small updates: update plugin system identifier prefix
9814 ('gstreamer.net' to 'gstreamer'), mention our new install
9815 API in libgstbaseutils rather than libgimme-codec, add
9816 reference to the online docs.
9818 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9820 * win32/common/config.h:
9821 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9822 use moap cl ci to only check in what is mentioned in the ChangeLog.
9824 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9826 * docs/gst/gstreamer-sections.txt:
9828 Fix up documentation to link to the correct GstGError section.
9829 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9831 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9833 * tools/gst-launch.c: (event_loop):
9834 Make sure that we actually show the important message part of a
9836 No need to check if the gerror is not NULL to free; first of all
9837 g_free accepts NULL; and second the default error handler would
9838 segfault if gerror was NULL.
9840 2007-02-21 Wim Taymans <wim@fluendo.com>
9842 * docs/gst/gstreamer-sections.txt:
9843 Removed docs as well.
9845 2007-02-21 Wim Taymans <wim@fluendo.com>
9847 * gst/gstmessage.c: (gst_message_parse_duration):
9849 Remove new messages for release.
9851 2007-02-20 Wim Taymans <wim@fluendo.com>
9853 * docs/design/part-gstghostpad.txt:
9854 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9855 (gst_ghost_pad_new_full):
9856 Make the ghostpad a parent of the internal pad again for better backward
9857 compatibility. Don't write code that relies on this however.
9859 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9860 (gst_pad_link_check_hierarchy):
9861 Require that parents should be GstElements in the hierarchy check.
9863 2007-02-20 Wim Taymans <wim@fluendo.com>
9865 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9866 (gst_bin_change_state_func), (bin_query_min_max_init),
9867 (bin_query_latency_fold), (bin_query_latency_done),
9870 Implement latency query.
9872 2007-02-20 Wim Taymans <wim@fluendo.com>
9874 * docs/design/part-gstghostpad.txt:
9875 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9876 (gst_ghost_pad_internal_do_activate_push),
9877 (gst_ghost_pad_internal_do_activate_pull),
9878 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9879 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9880 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9881 Do not set the internal pad as a parent anymore so we can avoid
9882 hierarchy linking errors when the ghostpad has no parent yet. This also
9883 fixes failed activation because of unlinked internal pads, which in
9884 turn fixes the impossible case where you have to activate a pad before
9885 you can add it to a running element.
9888 * gst/gstpad.c: (pre_activate), (post_activate),
9889 (gst_pad_set_active), (gst_pad_activate_pull),
9890 (gst_pad_activate_push), (gst_pad_check_pull_range):
9891 Add some more debug info.
9892 Mark activation mode in pre_activate so that we don't try to activate in
9893 endless loops. Fixes #385084.
9895 2007-02-19 Wim Taymans <wim@fluendo.com>
9897 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9898 (gst_base_transform_check_get_range):
9899 Implement a checkgetrange function instead of relying on the default
9900 core behaviour that assumes we can operate in pull mode if we have a
9901 getrange function. First step at fixing #385084.
9903 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9905 * gst/gstchildproxy.h:
9906 * libs/gst/base/gstbasesink.h:
9907 * libs/gst/base/gstbasesrc.h:
9908 * libs/gst/base/gstbasetransform.h:
9909 More docs coverage and some ChangeLog surgery (add missing names)
9911 2007-02-15 Wim Taymans <wim@fluendo.com>
9913 * docs/design/part-TODO.txt:
9914 * docs/design/part-activation.txt:
9915 * docs/design/part-block.txt:
9916 * docs/design/part-buffering.txt:
9917 * docs/design/part-clocks.txt:
9918 * docs/design/part-element-source.txt:
9919 * docs/design/part-events.txt:
9920 * docs/design/part-gstbin.txt:
9921 * docs/design/part-gstbus.txt:
9922 * docs/design/part-gstpipeline.txt:
9923 * docs/design/part-live-source.txt:
9924 * docs/design/part-messages.txt:
9925 * docs/design/part-overview.txt:
9926 * docs/design/part-qos.txt:
9927 * docs/design/part-query.txt:
9928 * docs/design/part-states.txt:
9929 * docs/design/part-trickmodes.txt:
9930 Some doc updates. Start renaming from stream_time to running_time where
9931 it was used wrongly.
9933 2007-02-15 Wim Taymans <wim@fluendo.com>
9935 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9936 Answer LATENCY query.
9938 2007-02-15 Wim Taymans <wim@fluendo.com>
9940 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9944 2007-02-15 Wim Taymans <wim@fluendo.com>
9946 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9947 (gst_pad_dispatcher):
9948 Improve debugging of default pad dispatcher and query functions.
9950 2007-02-15 Wim Taymans <wim@fluendo.com>
9952 * docs/gst/gstreamer-sections.txt:
9953 Remove old unused method.
9955 2007-02-13 Wim Taymans <wim@fluendo.com>
9957 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9960 2007-02-13 Wim Taymans <wim@fluendo.com>
9962 * docs/design/part-seeking.txt:
9965 * gst/gstsegment.c: (gst_segment_set_seek):
9966 Revert old bogus change that should make seeking work again.
9968 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9970 * docs/random/ensonic/dynlink.txt:
9971 * docs/random/ensonic/interfaces.txt:
9972 * docs/random/ensonic/receipies.txt:
9973 Possible dynamic reconnection api, plus some type fixes the other two
9976 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
9978 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9979 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9980 Also check for an absolute path following file:// in the filesrc
9981 element. Remove redundant check and call g_path_is_absolute() on the
9984 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9986 * docs/design/draft-klass.txt:
9987 Add existing category analysis.
9990 Fix doc example, framerate is a fraction.
9992 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9995 * docs/gst/Makefile.am:
9996 * docs/gst/gstreamer-sections.txt:
9997 * docs/libs/Makefile.am:
9998 Erm, forgot a bunch of --extra-dir.
10000 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10003 * docs/gst/Makefile.am:
10004 * docs/libs/Makefile.am:
10005 * docs/plugins/Makefile.am:
10006 Add crossreferences to glib/gobject docs.
10008 2007-02-12 Wim Taymans <wim@fluendo.com>
10010 * docs/design/draft-latency.txt:
10013 * docs/libs/gstreamer-libs-sections.txt:
10014 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10015 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10016 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10017 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10018 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10019 (gst_base_sink_get_position), (gst_base_sink_query),
10020 (gst_base_sink_change_state):
10021 * libs/gst/base/gstbasesink.h:
10022 API: gst_base_sink_query_latency() to let subclasses query the upstream
10024 API: gst_base_sink_get_latency() to let subclasses query the configured
10025 latency in the sink.
10026 Implement query and set latency.
10028 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10029 don't continue preroll when we are flushing. Fixes #405284.
10031 * tests/check/pipelines/stress.c: (change_state_timeout),
10032 (quit_timeout), (GST_START_TEST), (stress_suite):
10035 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10037 Patch by: René Stadler <mail at renestadler de>
10039 * docs/gst/gstreamer-sections.txt:
10040 * gst/gsttaglist.c: (_gst_tag_initialize):
10041 * gst/gsttaglist.h:
10042 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10044 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10046 * docs/libs/Makefile.am:
10047 Fix path to core docs.
10049 * gst/gstbin.c: (gst_bin_get_by_interface),
10050 (gst_bin_iterate_all_by_interface):
10051 Refix docs by also renaming 'interface' to 'iface' in implementation.
10053 * docs/gst/gstreamer-sections.txt:
10055 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10056 * gst/gstchildproxy.h:
10057 * gst/gstelementfactory.c:
10058 * gst/gstpadtemplate.h:
10059 * libs/gst/controller/gstcontroller.c:
10060 (gst_controlled_property_new):
10063 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10065 * gst/gstbin.h:(gst_bin_get_by_interface),
10066 (gst_bin_iterate_all_by_interface):
10067 Replace interface parameter name by iface as interface is
10068 a reserved keyword in Visual Studio for C++ projects so it removes
10069 a build error for application developpers using VS.
10070 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10071 Fix a bug on Windows in uri format check. Now the prefix checked
10072 is file:// and next we check if the path after file:// is absolute.
10073 * win32/common/libgstbase.def:
10074 * win32/common/libgstdataprotocol.def:
10075 * win32/common/libgstgstreamer.def:
10076 Add new exported functions.
10078 2007-02-09 Andy Wingo <wingo@pobox.com>
10080 * tests/check/pipelines/simple-launch-lines.c
10081 (simple_launch_lines_suite, test_tee): Disable tee test until I
10082 have time to fix it :-(
10084 * tests/check/Makefile.am (noinst_HEADERS):
10085 * tests/check/libs/libsabi.c:
10086 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10087 * tests/check/gst/gstabi.c:
10088 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10090 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10091 tests for push and pull tee behavior.
10093 * plugins/elements/gsttee.h:
10094 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10095 mark as deprecated as well as unimplemented. It was a crack idea.
10096 Add support for tee operating in pull mode, off by default.
10098 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10099 normal-case logs down to LOG, raise errors to WARNING.
10100 (gst_registry_xml_read_cache): Don't log before calling a function
10103 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10104 exit (registry finalize).
10105 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10106 DEBUG log when we emit signals that people don't even have the
10107 chance to connect to.
10108 (gst_registry_scan_path_level): Less logging in the normal case.
10110 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10112 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10114 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10115 Correctly generate EOS for non-seekable files. We don't have a total
10116 length for them and would get an unexpected end of file if we only
10117 special-cased for regular files. (Fixes: #404569)
10119 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10121 * tests/check/elements/filesrc.c: (GST_START_TEST),
10123 Add unit test for the GstURIHandler interface in filesrc. This also
10124 tests the newly added file://localhost/foo/bar support.
10126 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10128 * gst/gstelementfactory.h:
10129 The klass string is not a hierarchy. Add reference to the design doc
10130 for more information and common types.
10132 2007-02-02 Wim Taymans <wim@fluendo.com>
10134 * gst/gstquery.c: (gst_query_new_latency):
10135 Remove old structure field.
10137 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10139 * tools/gst-launch.1.in:
10140 Give example for network streaming (#351998)
10142 2007-02-02 Wim Taymans <wim@fluendo.com>
10144 * docs/gst/gstreamer-sections.txt:
10145 Add docs for new methods.
10147 * gst/gstevent.c: (gst_event_new_latency),
10148 (gst_event_parse_latency):
10150 Add new LATENCY event to configure latency in a pipeline.
10151 API: gst_event_new_latency
10152 API: gst_event_parse_latency
10154 * gst/gstmessage.c: (gst_message_new_buffering),
10155 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10156 (gst_message_new_latency), (gst_message_parse_buffering),
10157 (gst_message_parse_lost_preroll):
10158 * gst/gstmessage.h:
10159 Added messages used in draft-latency.
10160 API: gst_message_new_lost_preroll
10161 API: gst_message_parse_lost_preroll
10162 API: gst_message_new_prerolled
10163 API: gst_message_new_latency
10165 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10166 (gst_query_parse_latency):
10168 Implemented new latency query as in design doc.
10169 API: gst_query_new_latency
10170 API: gst_query_set_latency
10171 API: gst_query_parse_latency
10173 2007-02-02 Wim Taymans <wim@fluendo.com>
10175 * docs/design/draft-latency.txt:
10176 Slight redesign to allow for dynamic latency adjustments.
10178 * docs/design/part-negotiation.txt:
10181 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10183 reviewed by: Wim Taymans <wim@fluendo.com>
10185 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10186 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10187 Allow file://localhost/foo/bar URLs and correctly fail for every other
10188 hostname that one sets. This was gnomevfssrc is linked for those if
10189 installed as it can handle it (#403172)
10191 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10193 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10195 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10196 (unref_data), (gst_collect_pads_add_pad_full):
10197 * libs/gst/base/gstcollectpads.h:
10198 Don't put the previously added destroy notify in the GstCollectData
10199 struct as all it's padding is already used and we don't want to break
10200 ABI. Instead put in the pad's GObject data for now. This should be
10201 cleaned up for 0.11 (#402393).
10203 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10205 reviewed by: Wim Taymans <wim@fluendo.com>
10207 * docs/libs/gstreamer-libs-sections.txt:
10208 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10209 (unref_data), (gst_collect_pads_add_pad),
10210 (gst_collect_pads_add_pad_full):
10211 * libs/gst/base/gstcollectpads.h:
10212 API: Add function to specify a destroy notification for custom
10213 GstCollectData when adding new pads in GstCollectPads (#402393).
10215 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10218 Update Swedish translation (#378255).
10220 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10222 * docs/design/draft-klass.txt:
10223 Fix the previous change, this is a list of categories and not a hierarchy.
10225 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10227 * docs/design/draft-klass.txt:
10228 Add info about how to get a list of used classes.
10230 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10232 * plugins/elements/gsttypefindelement.c:
10233 (gst_type_find_element_chain_do_typefinding),
10234 (gst_type_find_element_change_state):
10235 Don't leak found caps in chain function (no idea why that never
10236 showed up as a leak anywhere).
10238 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10241 Fix and expand GstPluginDesc API docs.
10243 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10246 * gst/gstelementfactory.c:
10247 * gst/gstpadtemplate.h:
10250 * libs/gst/controller/gstcontroller.c:
10251 (gst_controlled_property_new):
10252 * tests/examples/controller/audio-example.c:
10255 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10258 comment about refining the xml deps
10260 * docs/manuals.mak:
10261 comments about moving away from jade for docs
10264 recommit the ifdefs to use the binary registry
10266 * gst/gstbin.c: (gst_bin_change_state_func):
10267 this break is obsolete
10269 * gst/gstelementfactory.h:
10270 better GST_ELEMENT_DETAILS docs, add comment about translation
10275 * gst/gstobject.c: (gst_signal_object_get_type):
10276 add G_UNLIKELY as usual
10278 * gst/gstpad.c: (gst_pad_event_default):
10279 add fall trhu comment
10281 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10282 (gst_registry_binary_initialize_magic),
10283 (gst_registry_binary_save_string),
10284 (gst_registry_binary_save_pad_template),
10285 (gst_registry_binary_save_feature),
10286 (gst_registry_binary_save_plugin),
10287 (gst_registry_binary_write_cache),
10288 (gst_registry_binary_check_magic),
10289 (gst_registry_binary_load_pad_template),
10290 (gst_registry_binary_load_feature),
10291 (gst_registry_binary_load_plugin),
10292 (gst_registry_binary_read_cache):
10293 comment typo and formatting
10295 * gst/gstutils.c: (gst_element_state_get_name),
10296 (gst_element_state_change_return_get_name):
10297 remove obsolete breaks
10299 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10300 add FIXME 0.11 and remove cpp comment
10302 2007-01-29 Edward Hervey <edward@fluendo.com>
10304 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10305 Fix print statement in an even more portable way.
10307 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10309 * docs/gst/gstreamer-sections.txt:
10311 API: add GST_ROUND_DOWN_* macros (#401781).
10313 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10315 * docs/gst/gstreamer.types.in:
10316 * gst/gstregistry.c: (gst_registry_class_init):
10317 Document registry signals and make gtk-doc pick them up (#401381).
10319 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10321 * docs/pwg/building-testapp.xml:
10322 Add some audioconverts and audioresample to the pipeline, and some
10323 more comments and error handling.
10325 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10327 * docs/manual/manual.xml:
10328 * docs/pwg/pwg.xml:
10329 Fix typo (#400987).
10331 2007-01-26 Wim Taymans <wim@fluendo.com>
10333 * gst/gstcaps.c: (gst_static_caps_get):
10334 Init caps flags too.
10336 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10338 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10340 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10341 If not using mmap'ed files try to seek to the end instead of the
10342 start to determine whether we can seek at all. This fixes the case
10343 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10344 seeks for everything afterwards fail. Fixes #400656
10346 2007-01-25 Wim Taymans <wim@fluendo.com>
10348 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10349 Add some refcount debugging.
10350 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10351 in multiple streaming threads.
10353 2007-01-25 Wim Taymans <wim@fluendo.com>
10355 Patch by: David Schleef <ds at schleef dot org>
10357 * docs/libs/gstreamer-libs-sections.txt:
10358 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10359 * libs/gst/base/gstadapter.h:
10360 API: gst_adapter_copy() that can reduce the amount of memcpy when
10361 getting data from the adapter. Fixes #388201.
10363 2007-01-25 Edward Hervey <edward@fluendo.com>
10365 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10366 In print statements, "%x" is for guint. Fixes build on macosx.
10368 2007-01-24 Edward Hervey <edward@fluendo.com>
10370 * plugins/elements/gstmultiqueue.c:
10371 (gst_multi_queue_loop):
10373 (single_queue_overrun_cb), (single_queue_underrun_cb),
10374 (single_queue_check_full), (gst_single_queue_new):
10375 Implement single queue growth system.
10376 This uses the extra-size properties, and will grow single queues by
10377 that much if one goes full whereas there are others empty. This is
10378 called extra-mode in the code.
10379 When a single queue's levels go back below the initial max-size
10380 limits, it is no longer in extra-mode. This is to ensure we don't
10381 consume too much memory.
10384 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10386 * gst/gst.c: (gst_init_get_option_group):
10387 Make warning about late g_thread_init() calls a bit more explicit,
10388 so that it's more obvious to application developers what they need
10389 to do if a user files a bug against their application.
10391 2007-01-22 Edward Hervey <edward@fluendo.com>
10393 * plugins/elements/gstmultiqueue.c:
10394 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10395 Remove previous hack of unsetting the flushing flag for the source pad
10396 instead of activating it. Instead, fix the source pad activate function
10397 so that it no longer depends on having a parent set or not.
10399 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10401 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10403 * docs/manual/basics-bus.xml:
10404 Fix example code, gst_element_unref() doesn't exist any longer.
10406 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10408 Patch by: Mark Nauwelaerts <manauw at skynet be>
10411 Fix two docs typoes (#399094).
10413 2007-01-19 Edward Hervey <edward@fluendo.com>
10415 * docs/faq/gst-uninstalled:
10416 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10417 depending on libgstbaseutils can work in uninstalled environment.
10419 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10421 * gst/gsttaglist.h:
10422 * gst/gsttagsetter.c:
10423 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10424 statement for new tag.
10426 2007-01-17 Edward Hervey <edward@fluendo.com>
10428 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10429 When dynamically creating single queues, activate sinkpad before adding
10431 We should be doing the same thing for the source pad, but we can't
10432 since it would call a method which needs the parent to be set in order
10433 to work propertly. Instead of activating the source pad, we just unset
10434 the flushing flag, which is the minimal requirement for adding a pad
10435 to an element in a state greater than READY.
10437 2007-01-17 Edward Hervey <edward@fluendo.com>
10439 * docs/faq/gst-uninstalled:
10440 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10443 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10445 * tests/check/gst/gstabi.c:
10446 * tests/check/gst/struct_hppa.h:
10447 * tests/check/libs/libsabi.c:
10448 * tests/check/libs/struct_hppa.h:
10449 Add ABI structs for HPPA (see #393796).
10451 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10453 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10454 Actually write ABI structs to the file specified in the GST_ABI
10455 environment variable, as the message we print claims we would.
10457 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10459 * tests/check/gst/gsttask.c:
10460 Fix header comment.
10462 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10464 * gst/gsttaglist.c: (_gst_tag_initialize):
10465 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10466 previous two entries.
10468 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10470 * docs/gst/gstreamer-sections.txt:
10471 * gst/gsttaglist.c: (_gst_tag_initialize):
10472 * gst/gsttaglist.h:
10473 Add tag support for beat-per-minute.
10475 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10477 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10478 (gst_registry_binary_initialize_magic),
10479 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10480 (gst_registry_binary_save_pad_template),
10481 (gst_registry_binary_save_feature),
10482 (gst_registry_binary_save_plugin),
10483 (gst_registry_binary_write_cache),
10484 (gst_registry_binary_check_magic),
10485 (gst_registry_binary_load_pad_template),
10486 (gst_registry_binary_load_feature),
10487 (gst_registry_binary_load_plugin),
10488 (gst_registry_binary_read_cache):
10489 * gst/gstregistrybinary.h:
10490 Use glib types, cleanup comments, impement interfaces and uri-types.
10492 2007-01-13 Andy Wingo <wingo@pobox.com>
10494 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10495 getrange() to return buffers with other caps, while we fix
10496 demuxers and typefind, or otherwise change part-negotiation.txt.
10498 2007-01-12 Andy Wingo <wingo@pobox.com>
10500 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10501 Factor start/stop into this private function instead of partially
10502 in activate functions and partially in the change_state function.
10503 Fixes setup before the element has changed from READY->PAUSED, as
10504 is the case in pull-mode pipelines.
10505 (gst_base_transform_sink_activate_push)
10506 (gst_base_transform_src_activate_pull): Refactor to use
10507 gst_base_transform_activate().
10508 (gst_base_transform_change_state): Removed, not needed any more.
10510 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10511 Truncate before fixating.
10513 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10514 Don't set_caps() if the result of fixating is ANY, as it's not
10515 supported, and not necessary in the case of a link with no
10516 template caps on either side. Fixes tests/check/libs/basesrc in
10517 some pull-mode tests.
10519 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10520 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10521 (gst_base_transform_src_activate_pull):
10522 Track the activation mode.
10523 (gst_base_transform_setcaps): In pull mode, when activating the
10524 src pad, after activating the sink pad, activate the sink pad's
10525 peer, as discussed in part-negotiation.txt.
10527 * libs/gst/base/gstbasesrc.h:
10528 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10529 vmethod, as in basesink.
10531 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10533 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10534 mode, first proxy the setcaps to the peer pad.
10535 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10536 new fixate vmethod.
10537 (gst_base_sink_default_activate_pull): Rename from
10538 gst_base_sink_activate_pull.
10539 (gst_base_sink_negotiate_pull): New function, performs negotiation
10540 in pull mode before calling ::activate_pull().
10541 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10542 vmethod instead of the default implementation. I have no idea how
10543 this worked before. Negotiate before calling activate_pull.
10545 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10546 sink pads in pull mode. In addition to being correct, fixes
10547 filesrc ! decodebin ! identity ! fakesink.
10548 (gst_pad_get_range, gst_pad_pull_range): Don't call
10549 gst_pad_set_caps() if the caps changes; instead error out with
10550 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10552 2007-01-12 Andy Wingo <wingo@pobox.com>
10554 * docs/design/part-negotiation.txt: Update with more policy.
10556 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10558 * libs/gst/check/gstbufferstraw.h:
10559 * libs/gst/check/gstcheck.h:
10560 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10563 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10565 * tests/check/Makefile.am:
10566 * tests/check/gst/.cvsignore:
10567 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10568 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10569 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10570 (GST_START_TEST), (gst_tag_setter_suite):
10571 Add minimal unit test for beforementioned GstTagSetter bug.
10573 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10575 Patch by: René Stadler <mail at renestadler dot de>
10577 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10578 gst_tag_list_merge() returns a new list, so it's not the best idea
10579 to ingore its return value. Effectively meant that tags could only
10580 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10581 Also add function guard to require a non-NULL taglist as input (has
10582 always been so due to gst_tag_list_copy(), just making it explicit).
10584 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10586 * docs/random/draft-missing-plugins.txt:
10587 Some additions: mention new API that is supposed to be used at the
10588 various stages; short blob about new gst-inspect introspection
10589 option; mention potential future problem with plugins that have
10590 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10592 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10594 * tools/gst-inspect.c:
10595 (print_plugin_automatic_install_info_codecs),
10596 (print_plugin_automatic_install_info_protocols),
10597 (print_plugin_automatic_install_info), (main):
10598 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10599 introspect plugin files and get machine-parsable output that corresponds
10600 to the last bit of the missing-plugin installer string (small gotcha:
10601 doesn't take into account ranks).
10603 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10606 * docs/gst/gstreamer-sections.txt:
10608 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10609 (gst_registry_lookup_locked):
10610 * gst/gstregistry.h:
10611 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10612 (gst_registry_binary_initialize_magic),
10613 (gst_registry_binary_save_string),
10614 (gst_registry_binary_save_pad_template),
10615 (gst_registry_binary_save_feature),
10616 (gst_registry_binary_save_plugin),
10617 (gst_registry_binary_write_cache),
10618 (gst_registry_binary_check_magic),
10619 (gst_registry_binary_load_pad_template),
10620 (gst_registry_binary_load_feature),
10621 (gst_registry_binary_load_plugin),
10622 (gst_registry_binary_read_cache):
10623 * gst/gstregistrybinary.h:
10624 * gst/gstregistryxml.c: (load_feature),
10625 (gst_registry_xml_read_cache):
10626 commit binary registry (disabled by default, see #359653)
10628 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10630 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10631 Fix 'make check' too.
10633 2007-01-10 Andy Wingo <wingo@pobox.com>
10635 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10638 * docs/design/part-negotiation.txt: Update with, um, one way that
10639 pull-mode negotiation might work?
10642 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10643 that the pad must be a src pad; makes sense to call it the other
10644 way in pull mode, and the logic is symmetric anyway.
10646 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10648 * plugins/elements/gstfilesink.c:
10649 Include <stdio.h> for fseeko().
10651 2007-01-10 Wim Taymans <wim@fluendo.com>
10655 Reserve LATENCY event.
10657 2007-01-09 Wim Taymans <wim@fluendo.com>
10659 * docs/design/draft-latency.txt:
10662 2007-01-09 Wim Taymans <wim@fluendo.com>
10664 * docs/design/draft-latency.txt:
10667 * gst/gstelement.h:
10668 * gst/gststructure.c:
10672 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10674 * tests/check/.cvsignore:
10675 Ignore test-registry.xml as well.
10677 2007-01-09 Wim Taymans <wim@fluendo.com>
10679 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10680 unref data at the end when we are done with the pad.
10682 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10684 * docs/gst/gstreamer-sections.txt:
10685 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10686 (init_post), (gst_deinit), (gst_update_registry):
10688 API: add gst_update_registry() (#391296).
10690 * tests/check/Makefile.am:
10691 * tests/check/gst/gstregistry.c:
10692 * tests/check/gst/.cvsignore:
10693 Simple unit test for the above.
10695 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10697 * gst/gstregistry.c: (gst_registry_scan_path_level):
10698 Plugin extension on HP-UX is .sl, add that to the list of approved
10699 plugin extensions (see #393796).
10701 * tests/check/gst/gstpad.c: (GST_START_TEST):
10702 ulong => gulong. Fixes compilation with HP-UX compiler.
10704 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10705 Fix compilation if valgrind headers are not available.
10707 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10709 * win32/common/libgstreamer.def:
10710 Add new exported function.
10711 * win32/vs6/libgstbase.dsp:
10712 Add gstdataqueue.c to the build.
10713 * win32/vs6/libgstcoreelements.dsp:
10714 Add gstmultiqueue.c to the build.
10716 2007-01-06 Andy Wingo <wingo@pobox.com>
10718 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10719 activate_pull(), providing for a way to specialize the process of
10720 spawning a thread to pull on the sink pad. There is a default
10723 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10724 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10725 (gst_base_sink_init): Renamed pad activation functions (inserting
10726 "_pad" in their names). Refactor to use the new activate_pull
10727 vmethod, as appropriate.
10728 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10729 default activate_pull function to start a task pulling from the
10730 sink pad, as before.
10732 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10733 on the pads if necessary, as in push()/chain(). Update docs.
10734 Shouldn't affect existing pull() usage as it is currently only
10735 being used on buffers without caps.
10737 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10739 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10741 Call g_thread_init() first thing in gst_init() / gst_check_init().
10742 When initialisation is done via gst_init_get_option_group() and
10743 GOption parsing, issue a warning if the GLib thread system has not
10744 been initialised yet by the time gst_init_get_option_group() is
10745 called, as it's quite likely other GLib functions such as
10746 g_option_context_new() have been called already then, and
10747 g_thread_init() must be called before any other GLib function. The
10748 application in question must be fixed in that case, since memory
10749 corruption might happen otherwise.
10750 We issue the warning because even if the GLib folks decide to work
10751 around the problem on their end in future, this is still an issue
10752 with all GLib versions >= 2.10.0, so we should warn until we depend
10753 on a GLib version we know to be safe.
10754 Update documentation as well.
10755 Closes bug #391278.
10757 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10759 * tools/gst-inspect.c: (main):
10760 * tools/gst-launch.c: (main):
10761 * tools/gst-typefind.c: (main):
10762 * tools/gst-xmlinspect.c: (main):
10763 Call g_thread_init() really really early, before any other GLib
10764 function (see #342564 and recent discussion on gtk-devel-list).
10766 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10768 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10770 * gst/gst_private.h:
10771 * gst/gstconfig.h.in:
10773 On win32, all the __declspec stuff for symbol exporting is
10774 apparently only needed with MSVC, but doesn't work with MingW.
10775 Fixes compilation with MingW and #391909.
10777 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10779 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10780 Change some GST_ERROR_OBJECT that aren't really errors to
10781 GST_WARNING_OBJECT in order to reduce terminal spam.
10783 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10785 * tests/check/Makefile.am:
10786 disable test again, as there seem to be still race problems
10788 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10790 * tests/check/Makefile.am:
10791 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10792 (GST_START_TEST), (queue_suite):
10793 enable queue test again, add tests for the leaky behaviour
10795 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10798 * tests/examples/Makefile.am:
10799 Compile adapter test/example only if the required headers are
10800 available (fixes #391915).
10802 2007-01-01 David Schleef <ds@schleef.org>
10805 Restore the previous signal handler for SIGSEGV instead of
10806 setting to default, since we may have stolen it away from
10807 someone. (i.e., Mono)
10809 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10811 * docs/random/draft-missing-plugins.txt:
10812 Some small additions and clarifications.
10814 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10816 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10817 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10818 since that can lead to random memory corruptions and crashes
10819 (may or may not be related to #383244, #386711, and #386711).
10821 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10823 * tests/check/.cvsignore:
10824 * tests/check/Makefile.am:
10825 sync .cvsignome and CLEANFILES
10827 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10829 * tests/check/Makefile.am:
10832 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10834 * docs/design/part-states.txt:
10835 two tiny additional comments
10837 * gst/gststructure.c:
10840 * tests/check/Makefile.am:
10841 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10843 disable test for now, unless it gets fixed
10845 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10847 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10849 fix race in underrun test
10851 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10853 * tests/check/elements/.cvsignore:
10856 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10858 try to narrow test failure
10860 2006-12-21 David Schleef <ds@schleef.org>
10862 * plugins/elements/gstfakesrc.c:
10863 Use g_random_int_range(), since it produces better random
10864 numbers in a range than almost-correct floating point code.
10866 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10868 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10869 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10870 (gst_check_teardown_sink_pad):
10871 do not automatically (de)activate pads
10873 * tests/check/Makefile.am:
10874 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10875 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10876 add new, yet simple tests for queue
10878 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10879 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10880 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10882 * tests/check/elements/identity.c: (cleanup_identity):
10883 consistent pad (de)activation
10885 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10887 Patch by: Sebastian Dröge <slomo ubuntu com>
10889 * libs/gst/base/gstcollectpads.c:
10890 Fix two doc typos (#387866).
10892 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10894 * docs/manual/advanced-dparams.xml:
10895 Fix typo (g_object_control_properties() doesn't exist).
10897 2006-12-19 Edward Hervey <edward@fluendo.com>
10899 * gst/gstsegment.c: (gst_segment_set_seek):
10900 Fine tune the cases where the segment start/stop values are really
10902 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10903 Add tests for the return values of gst_segment_set_seek().
10905 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10910 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10912 Fix incorrect documentation and flesh it out a bit more.
10913 Set default values for the max properties on the GParamSpec as well,
10914 so it shows up correctly in gst-inspect.
10916 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10918 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10919 Correct docs of queue, add more detail and crosslink it more.
10921 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10923 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10924 Print additional debug info when the stream isn't perfectly
10925 timestamped; don't try to use invalid durations.
10927 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10929 * docs/design/Makefile.am:
10930 Dist new design docs.
10932 2006-12-16 Wim Taymans <wim@fluendo.com>
10934 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10936 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10937 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10938 (gst_collect_pads_stop), (gst_collect_pads_event),
10939 (gst_collect_pads_chain):
10940 * libs/gst/base/gstcollectpads.h:
10941 Add refcounting to the collectpads data so we can track when it's safe
10942 to free the data. Fixes #383382.
10944 2006-12-15 Wim Taymans <wim@fluendo.com>
10946 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10947 (gst_collect_pads_remove_pad):
10948 Automatically activate/deactivate pads when they are added to a
10949 started/stoped collectpads.
10951 2006-12-15 Wim Taymans <wim@fluendo.com>
10953 * gst/gstelement.c: (gst_element_add_pad):
10954 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10955 * gst/gstpad.c: (gst_pad_init):
10956 Set pads to FLUSHING when they are created. Check, warn and fix when a
10957 demuxer adds an inactive pad to itself when running. Fixes #339326.
10959 2006-12-15 Wim Taymans <wim@fluendo.com>
10961 * gst/gstelement.c: (gst_element_class_init),
10962 (gst_element_default_send_event), (gst_element_send_event),
10963 (gst_element_default_query), (gst_element_query):
10964 Expose default element send_event and query handling as vmethods that
10965 subclasses can chain up to.
10967 2006-12-15 Wim Taymans <wim@fluendo.com>
10969 * gst/gstelement.c: (gst_element_set_state_func):
10970 Small documentation fixes.
10972 2006-12-15 Wim Taymans <wim@fluendo.com>
10974 * docs/design/draft-latency.txt:
10975 Checked in draft for handling latency in pipelines.
10977 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
10981 * gstreamer.spec.in:
10984 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
10986 * gst/gst.c: (init_pre), (init_post):
10987 init_pre() and init_post() might be called via our GOptionGroup or
10988 from gst_init(), and we should skip both of them if we've already
10989 been initialised, otherwise we will init some things twice or add
10990 two default log functions.
10992 2006-12-13 Edward Hervey <edward@fluendo.com>
10994 * docs/manual/basics-bus.xml:
10995 No, gst_main_loop does not exist. Its g_main_loop.
10996 Discovered by somebody who abused the copy-paste technique of coding :)
10998 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
11000 * gst/gstghostpad.c:
11001 Log ghostpad debug stuff to the GST_PADS category as well rather
11002 than just to the default category.
11004 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
11007 * gst/gst.c: (init_pre):
11008 Add some basic system details such as OS and architecture
11009 to the debug output if possible, courtesy of uname().
11011 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11013 * docs/gst/running.xml:
11014 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11015 environment variables.
11017 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11019 * tests/check/gst/gstbin.c: (GST_START_TEST):
11020 It is acceptable to have a refcount of 2 or 3 at this point in the
11021 test, because the pipeline might be just posting its state_change
11022 message. The next line then waits for that message to appear using
11023 bus_poll, so that should be fine too.
11025 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11027 * gst/gst.c: (ensure_current_registry_forking):
11028 Ignore EINTR when reading from the child registry pipe.
11029 Explicitly ignore the return value from close, since it makes no
11032 * gst/gstminiobject.c: (gst_mini_object_ref),
11033 (gst_mini_object_unref):
11034 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11036 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11037 When removing cached plugins, remove their features too, so they're
11038 not visible after they've disappeared.
11040 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11041 In the unlikely case that we are linking pads with no parents, don't
11042 crash trying to get the non-existent parent bin.
11044 * gst/parse/grammar.y:
11045 Output debug in the PIPELINE category
11047 2005-03-08 Wim Taymans <wim@fluendo.com>
11049 Patch by: René Stadler <mail at renestadler dot de>
11051 * gst/gstclock.c: (gst_clock_new_periodic_id):
11052 Reject invalid clock times for interval of periodic ids.
11055 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11057 * gst/gstelementfactory.c: (gst_element_factory_create):
11058 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11059 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11060 * tools/gst-inspect.c: (print_element_info):
11061 Fix refcounting of gst_plugin_feature_load to match the docs.
11064 2006-12-07 Wim Taymans <wim@fluendo.com>
11066 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11067 (gst_base_sink_get_position):
11068 Improve debugging of events.
11070 2006-12-07 Wim Taymans <wim@fluendo.com>
11072 Patch by: René Stadler <mail at renestadler dot de>
11074 * gst/gstclock.c: (gst_clock_id_wait):
11075 Make period ids add the interval to the origial requested time instead
11076 of the possibly updated time which can be wrong when there are multiple
11077 waiters for the same id. Fixes #382592.
11079 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11080 (gst_system_clock_id_wait_jitter_unlocked),
11081 (gst_system_clock_id_wait_jitter):
11082 Fix restart in the async notify thread when an async entry is added to
11083 the front of the list. Fixes #381492.
11085 * tests/check/gst/gstsystemclock.c: (store_callback),
11086 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11087 Added test for multiple async waits.
11088 Added test for async wait order.
11090 2006-12-07 Wim Taymans <wim@fluendo.com>
11092 * gst/gstbin.c: (gst_bin_query):
11093 Add some more docs about the POSITION query.
11095 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11098 Bump version nano - back to CVS.
11100 === release 0.10.11 ===
11102 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11105 releasing 0.10.11, "Love never runs on time"
11107 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11109 * win32/common/libgstbase.def:
11110 * win32/common/libgstreamer.def:
11111 * win32/vs8/libgstbase.vcproj:
11112 * win32/vs8/libgstcoreelements.vcproj:
11113 * win32/vs8/libgstreamer.vcproj:
11114 Fix compilation on win32 under VS8
11115 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11116 Partially fixes #381175
11118 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11120 * gst/gstvalue.c: (gst_value_compare_fraction):
11121 If someone is foolish enough to compare 2 fractions with denominator =
11122 0, return UNORDERED rather than aborting.
11124 2006-11-28 Edward Hervey <edward@fluendo.com>
11126 * libs/gst/base/Makefile.am:
11127 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11128 (gst_data_queue_base_init), (gst_data_queue_class_init),
11129 (gst_data_queue_init), (gst_data_queue_new),
11130 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11131 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11132 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11133 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11134 (gst_data_queue_set_flushing), (gst_data_queue_push),
11135 (gst_data_queue_pop), (gst_data_queue_drop_head),
11136 (gst_data_queue_set_property), (gst_data_queue_get_property):
11137 * libs/gst/base/gstdataqueue.h:
11138 New GstDataQueue object for threadsafe queueing. Most useful for
11139 elements that need some queueing functionnality.
11140 * docs/libs/gstreamer-libs-docs.sgml:
11141 * docs/libs/gstreamer-libs-sections.txt:
11142 Insert documentation for GstDataQueue
11143 * plugins/elements/Makefile.am:
11144 * plugins/elements/gstelements.c:
11145 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11146 (gst_multi_queue_class_init), (gst_multi_queue_init),
11147 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11148 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11149 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11150 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11151 (gst_multi_queue_loop), (gst_multi_queue_chain),
11152 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11153 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11154 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11155 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11156 (wake_up_next_non_linked), (compute_next_non_linked),
11157 (single_queue_overrun_cb), (single_queue_underrun_cb),
11158 (single_queue_check_full), (gst_single_queue_new):
11159 * plugins/elements/gstmultiqueue.h:
11160 New multiqueue element, using GstDataQueue. Used for queuing multiple
11162 Closes #344639 and #347785
11164 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11166 * docs/pwg/advanced-types.xml:
11167 add more missing type details
11169 * tools/gst-run.c: (main):
11170 remove unused variable
11172 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11174 * docs/libs/Makefile.am:
11175 * docs/libs/gstreamer-libs.types:
11176 add types of base classes to enable gobject specific stuff in the docs
11178 * docs/random/ensonic/embedded.txt:
11179 more ideas about isolating platform specific things
11181 2006-11-20 Wim Taymans <wim@fluendo.com>
11183 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11185 * libs/gst/check/gstcheck.h:
11186 Fix compilation and running against 0.9.4. Fixes #377332.
11188 2006-11-20 Wim Taymans <wim@fluendo.com>
11190 * gst/gstsegment.c: (gst_segment_set_seek),
11191 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11192 (gst_segment_to_running_time):
11193 Fix boundary checking in to_running_time() and to_stream_time().
11196 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11197 stream and running time can now be calculated for the complete
11200 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11202 * gst/gstpad.c: (gst_pad_push_event):
11203 Can't access event structure after giving away ownership of
11206 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11208 * docs/random/ensonic/embedded.txt:
11209 * docs/random/ensonic/profiling.txt:
11210 * docs/random/ensonic/receipies.txt:
11213 2006-11-13 Wim Taymans <wim@fluendo.com>
11215 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11218 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11220 2006-11-13 Wim Taymans <wim@fluendo.com>
11222 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11224 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11225 Store new length in segment duration so we don't keep on calling the
11226 potentially expensize get_size() call. Fixes #370865.
11228 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11230 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11232 * win32/common/libgstreamer.def:
11233 Add two missing symbols (#366492).
11235 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11237 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11238 (gst_adapter_take_buffer):
11239 Fix format string to use all its arguments.
11240 Remove useless >= check on a guint
11242 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11244 * tests/examples/adapter/.cvsignore:
11245 Ignore build file as commanded by the build-bot
11247 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11249 * tests/examples/adapter/Makefile.am:
11250 * tests/examples/adapter/adapter_test.c: (run_test_take),
11251 (run_test_take_buffer), (run_tests), (main):
11253 Add new files from the previous commit
11255 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11259 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11260 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11261 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11262 * libs/gst/base/gstadapter.h:
11263 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11264 (GST_START_TEST), (gst_adapter_suite):
11265 * tests/examples/Makefile.am:
11266 Do some optimisation work in GstAdapter to avoid copies in more cases.
11267 It could still do slightly better by merging buffers when
11268 gst_buffer_is_span_fast is true, but is already faster.
11270 Also, avoid traversing a single-linked list to append each incoming
11271 buffer inside the adapter.
11273 Add simple test app that times the adapter behaviour in different
11274 situations, and extend the unit test to check that bytes enter and
11275 exit the adapter in their original order.
11277 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11279 * docs/random/draft-missing-plugins.txt:
11280 Update: use element message instead of adding a new message
11281 type to the core; don't provide GStreamer API to initiate the
11282 plugin download, just provide API to compose the strings needed
11283 and let an external libgimmestuff handle the rest.
11285 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11287 * tools/gst-inspect.c: (print_element_properties_info):
11288 Print a string instead of 'unknown type' for GValueArray properties
11290 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11292 * docs/random/draft-missing-plugins.txt:
11295 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11297 * tests/examples/typefind/typefind.c: (type_found), (main):
11298 Make typefind element example work again (#371894); add a
11301 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11303 * docs/random/draft-missing-plugins.txt:
11304 Commit initial draft about how to deal with missing plugins,
11305 needs work (API too).
11307 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11309 * docs/pwg/advanced-types.xml:
11310 documents the new caps elements (see #363118)
11312 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11314 * gst/gstplugin.c: (gst_plugin_load_file):
11315 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11316 (gst_file_src_map_region), (gst_file_src_start):
11317 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11318 (gst_file_index_commit):
11319 Use g_strerror() instead of strerror() - we want UTF-8.
11321 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11323 Patch by: Peter Kjellerstedt <pkj at axis com>
11325 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11326 Another printf fix (#371493).
11328 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11330 * tests/check/gst/gsttag.c:
11331 relicence (okay with author=company)
11333 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11335 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11336 (gst_pad_push_event):
11337 Enhance debug and improve docs
11342 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11344 * docs/random/ensonic/distributed.txt:
11345 * docs/random/ensonic/profiling.txt:
11348 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11350 * docs/gst/gstreamer-sections.txt:
11351 add new API and fix the build
11353 * gst/gstbin.c: (gst_bin_recalc_state):
11354 * gst/gstelement.c: (gst_element_message_full),
11355 (gst_element_get_state_func), (gst_element_set_state_func):
11356 use new API and improve logging
11358 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11360 API: add function to get StateChangereturn names to improve logs
11362 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11364 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11365 I'm considering shooting the next person to put strerror stuff
11366 in the translateable part of the message.
11368 2006-11-03 Wim Taymans <wim@fluendo.com>
11370 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11371 Get the type and printf conversion specifiers right.
11373 2006-11-03 Wim Taymans <wim@fluendo.com>
11375 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11377 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11378 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11379 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11380 Some small cleanups. Improve debugging.
11382 Signal all waiting threads with a broadcast instead of just one.
11385 2006-11-03 Wim Taymans <wim@fluendo.com>
11387 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11388 (gst_fd_src_create):
11389 Add some debugging.
11390 Only update fd when it's different from the old.
11392 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11394 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11395 Printf fixes for PPC/OSX, take two (#369366).
11397 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11399 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11401 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11402 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11403 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11404 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11405 don't cast to long long for portability reasons, but use
11406 GLib's types instead.
11408 2006-10-30 Michael Smith <msmith@fluendo.com>
11410 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11411 Get the arguments to lseek() the right way around.
11414 2006-10-30 Wim Taymans <wim@fluendo.com>
11416 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11419 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11421 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11423 Patch by: Kjartan Maraas <kmaraas at gnome org>
11425 * docs/design/part-MT-refcounting.txt:
11426 * docs/random/wtay/capsnego2-docs:
11429 Typo fixes (#366212).
11431 2006-10-28 Wim Taymans <wim@fluendo.com>
11433 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11436 * win32/common/libgstbase.def:
11437 * win32/common/libgstreamer.def:
11438 * win32/vs8/libgstbase.vcproj:
11439 * win32/vs8/libgstcontroller.vcproj:
11440 Add needed entries in .def files.
11442 Rearrange def files in vs8 solutions. Fixes #366286.
11444 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11446 * win32/common/gstconfig.h:
11447 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11448 hand-made win32 gstconfig.h. Fixes #366321.
11450 2006-10-27 Wim Taymans <wim@fluendo.com>
11452 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11453 (gst_ghost_pad_new_full):
11454 Make acceptcaps return TRUE when we don't have a target, just like
11457 2006-10-27 Wim Taymans <wim@fluendo.com>
11459 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11460 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11462 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11464 * gst/gststructure.c: (gst_structure_id_set_value):
11465 If someone tries to set a non-UTF8 string field on a structure,
11466 don't just print a warning, but also ignore the request and do
11467 not change/add that field to the structure.
11469 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11470 Test for the above.
11472 2006-10-25 David Schleef <ds@schleef.org>
11475 g_hash_table_insert() needs a cast to a non-const pointer duh.
11477 2006-10-25 David Schleef <ds@schleef.org>
11481 Change name parameter of _gst_debug_register_funcptr to const
11482 to reflect the constness of its use in the function as well
11483 as to quiet a gcc warning.
11485 2006-10-25 Edward Hervey <edward@fluendo.com>
11487 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11488 Don't push the buffer if it's empty.
11491 2006-10-24 Wim Taymans <wim@fluendo.com>
11496 * libs/gst/base/gstbasetransform.c:
11497 (gst_base_transform_sink_eventfunc):
11498 Debug segment values *after* updating them as this is more
11501 2006-10-23 Wim Taymans <wim@fluendo.com>
11503 * docs/design/part-events.txt:
11506 * docs/design/part-block.txt:
11507 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11508 (gst_pad_push_event):
11509 Revert BLOCKING patch, it tries to be smart without really having a
11510 clear idea what or how. So, now we discard all FLUSHING events again on
11511 a blocking pad. Should fix gnonlin again.
11513 2006-10-23 Wim Taymans <wim@fluendo.com>
11515 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11517 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11518 (gst_base_src_start), (gst_base_src_activate_push):
11519 Make sure size is always initialized. Fixes #364388.
11521 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11523 * docs/random/ensonic/distributed.txt:
11524 add some ideas about doing distributed processing
11526 * docs/random/ensonic/profiling.txt:
11527 get_rusage look promising
11529 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11531 * docs/manual/basics-helloworld.xml:
11532 Add a cast in example to fix compile warning
11534 2006-10-18 Wim Taymans <wim@fluendo.com>
11536 * gst/gstsegment.c: (gst_segment_set_last_stop),
11537 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11538 Relax arg checking again, -1 is allowed.
11540 2006-10-18 Wim Taymans <wim@fluendo.com>
11542 * gst/gstsegment.c: (gst_segment_set_last_stop),
11543 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11544 _set_last_stop() must be with a value != -1
11545 A _TYPE_SET to -1 means seek to 0.
11546 Calc last_stop correctly for negative rates.
11547 Make sure we work with positive durations when updating a segment.
11549 2006-10-18 Wim Taymans <wim@fluendo.com>
11551 * docs/design/part-live-source.txt:
11555 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11558 Add an explicit cast to GstBuffer** to keep old code that added an
11559 explicit cast to GstMiniObject** for gst_mini_object_replace()
11560 compiling without warning.
11562 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11564 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11565 check for validity of dates
11567 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11569 * docs/gst/gstreamer-sections.txt:
11570 Forgot this one, makes gtk-doc shut up.
11572 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11574 Patch by: Peter Kjellerstedt <pkj at axis com>
11577 Don't define xmlNodePtr to gpointer if the core was built with
11578 --disable-loadsave and --disable-registry, this will break
11579 applications that want to use libxml2 but are buildling against a
11580 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11581 instead so we don't have to mess with the libxml2 namespace
11584 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11587 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11588 type-punned pointer warnings.
11590 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11592 * gst/gstelement.h:
11593 Add casts to the correct return type to state <=> state transition
11596 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11598 * docs/design/part-live-source.txt:
11599 describe howto handle latency
11601 * docs/random/ensonic/profiling.txt:
11604 * tools/gst-plot-timeline.py:
11605 fix log parsing for solaris, remove unused function
11607 2006-10-16 Wim Taymans <wim@fluendo.com>
11609 * docs/design/part-trickmodes.txt:
11611 Update some docs regarding reverse playback.
11613 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11615 Patch by: Marcus Granado <mrc dot gran at gmail com>
11617 * win32/vs8/grammar.vcproj:
11618 Error out with a warning if glib-genmarshal.exe is not in path,
11619 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11621 2006-10-13 Wim Taymans <wim@fluendo.com>
11623 * gst/gstsegment.c: (gst_segment_set_seek):
11624 When seeking to stop -1, set last_stop (current position) to the
11625 duration of the segment.
11627 2006-10-13 Wim Taymans <wim@fluendo.com>
11629 * gst/gstelement.h:
11630 Clarify _NO_PREROLL a bit more.
11635 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11636 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11637 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11638 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11639 due to wrong locking order. Fixes #361769.
11640 Remove some redundant/misplaced checks in pad_block.
11642 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11643 For negative rates, count backwards from the duration.
11645 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11647 * gst/gsterror.c: (_gst_library_errors_init):
11648 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11649 up with something better).
11651 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11653 * win32/vs6/libgstreamer.dsp:
11654 * win32/vs7/libgstreamer.vcproj:
11655 * win32/vs8/libgstreamer.vcproj:
11656 Don't reference glib-compat.c which is currently not used and not
11657 disted; add gstquark.c which was recently added. Fixes #361730.
11659 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11661 * win32/common/libgstbase.def:
11662 * win32/common/libgstcontroller.def:
11663 * win32/common/libgstreamer.def:
11664 Add gst_caps_merge() and a bunch of other recently-added functions.
11667 2006-10-11 Wim Taymans <wim@fluendo.com>
11669 * docs/plugins/gstreamer-plugins.args:
11670 * docs/plugins/inspect/plugin-coreelements.xml:
11671 * docs/plugins/inspect/plugin-coreindexers.xml:
11672 Update element args.
11674 * gst/gstsystemclock.c:
11675 Small comment update.
11677 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11678 (gst_tee_request_new_pad), (gst_tee_release_pad),
11679 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11680 (gst_tee_sink_activate_pull):
11681 * plugins/elements/gsttee.h:
11683 Add default property defines.
11684 Implement release pad function.
11685 Give properties better blubs etc.
11686 Activate pads before adding them to a running tee.
11687 Do simple buffer_alloc on the first requested pad.
11688 Post error when activation fails.
11690 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11692 * gst/gst.c: (ensure_current_registry_forking):
11693 Check return value of write() to make compiler happy.
11695 2006-10-11 Wim Taymans <wim@fluendo.com>
11697 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11699 * plugins/elements/gstqueue.c: (gst_queue_chain):
11700 Recheck queue filledness after signalling the overrun when we're about
11701 to leak downstream because we released the lock when emitting the signal
11702 and the queue could be empty again. Fixes #352345.
11704 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11706 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11707 Fix refcounting here too, just like we did for _new_valist() a few
11708 days ago (#357180) (thanks to René Stadler). Also remove all those
11709 'Since: 0.9' from the gtk-doc blobs.
11711 * tests/check/libs/controller.c: (controller_refcount_new_list),
11712 (gst_controller_suite):
11713 Unit test for the above.
11715 2006-10-10 Wim Taymans <wim@fluendo.com>
11717 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11719 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11720 (gst_pad_save_thyself):
11722 Write pad direction in XML output. Fixes #345496.
11724 2006-10-10 Wim Taymans <wim@fluendo.com>
11726 Patch by: René Stadler <mail at renestadler dot de>
11728 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11729 (gst_controller_new_list), (_gst_controller_dispose),
11730 (_gst_controller_finalize), (_gst_controller_class_init):
11731 Take ref to controlled object so that it cannot disappear.
11734 2006-10-10 Wim Taymans <wim@fluendo.com>
11736 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11737 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11738 (gst_check_teardown_sink_pad):
11739 Activate/deactivate pads in setup/teardown respectively.
11741 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11743 Patch by: Josep Torra Valles <josep@fluendo.com>
11746 Cast values when making gstenumtypes.h. This pacifies Forte
11747 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11748 in the enumeration.
11750 2006-10-09 Wim Taymans <wim@fluendo.com>
11752 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11753 Rename some more @cur to @start to fix docs.
11755 * gst/gstsegment.c: (gst_segment_set_seek):
11757 time and start must always stay in sync as defined in design doc.
11759 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11760 Rename param to fix docs.
11762 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11763 Check that start and time are in sync.
11765 * tests/check/pipelines/parse-launch.c:
11766 (gst_parse_test_element_change_state):
11767 Activate pad before adding to the element.
11769 2006-10-09 Wim Taymans <wim@fluendo.com>
11771 * docs/design/part-qos.txt:
11776 Update seek event docs regarding negative rates.
11777 Rename @cur to @start.
11779 * gst/gstsegment.c: (gst_segment_set_seek):
11780 * gst/gstsegment.h:
11781 Update set_seek docs regarding negative rates.
11782 Correctly update last_stop to @stop when dealing with negative
11784 Rename @cur to @start.
11786 * tests/check/gst/gstpad.c: (GST_START_TEST):
11787 Activate pads before trying to use them.
11789 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11790 (gst_segment_suite):
11791 Add simple check for segments and negative rates.
11793 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11795 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11796 * gst/gsttaglist.h:
11797 * docs/gst/gstreamer-sections.txt:
11798 API: add gst_tag_list_is_empty() (#360467).
11800 * tests/check/gst/gsttag.c: (GST_START_TEST):
11803 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11805 * gst/gstmessage.h:
11806 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11807 a value that doesn't fit on enumeration.
11809 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11811 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11812 Remove local debugging system and use Gstreamer's instead.
11814 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11816 Patch by: Josep Torra Valles <josep@fluendo.com>
11818 * common/m4/gst-error.m4:
11819 Disable warning of statement not reached on Forte.
11820 * gst/gstmessage.h:
11821 Fix warning on Forte (value doesn't fit on enumeration).
11822 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11823 Fix warning on Forte (value doesn't fit on enumeration).
11824 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11825 DEBUG macro says it takes minimum of 2 args and so Forte
11826 complains about the use with just 1 arg.
11827 * plugins/elements/gstfdsink.c:
11828 * plugins/elements/gstfdsrc.c:
11829 * plugins/elements/gstfilesink.c:
11830 * plugins/elements/gstfilesrc.c:
11831 Use correct return type for the uri handler implementations.
11833 All these fix warnings in Forte. Fixes bug #360860.
11835 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11837 * gst/gstelement.h:
11838 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11839 format string, so don't use G_GNUC_PRINTF for those versions.
11841 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11843 * gst/gsttaglist.c: (gst_is_tag_list):
11844 * gst/gsttaglist.h:
11845 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11847 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11848 Small test for the above.
11850 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11852 * gst/gsttaglist.h:
11853 Less tabs, more spaces.
11855 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11858 Those two function declarations do actually belong there, revert
11859 commit from yesterday that turned them intro macros.
11861 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11863 Patch by: Josep Torra Valles <josep@fluendo.com>
11865 * gst/gst.c: (gst_init_get_option_group):
11866 Fix empty declaration and type mismatch.
11867 * gst/gstbin.c: (gst_bin_change_state_func):
11869 * gst/gstelement.c: (gst_element_continue_state),
11870 (gst_element_set_state_func), (gst_element_change_state),
11871 (gst_element_change_state_func):
11872 Fix type mismatches.
11873 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11874 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11875 Cast as appropriate.
11876 * gst/gstobject.c: (gst_class_signal_connect):
11877 Cast as appropriate. The function pointer parameter really
11878 has the wrong type but would break API if we change it.
11880 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11881 order of including string.h.
11882 * gst/gstutils.c: (gst_element_state_get_name):
11883 Remove unreachable line.
11884 * gst/gstxml.c: (gst_xml_parse_doc):
11886 All these caught by Forte.
11888 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11890 Patch by: Josep Torra Valles <josep@fluendo.com>
11892 * common/m4/gst-error.m4:
11894 We need to disable warnings on Forte for empty declarations
11895 due to gst-indent adding ;s to lines that just use macros
11896 where the macro actually doesn't need a ; at end to end
11899 2006-10-06 Wim Taymans <wim@fluendo.com>
11901 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11902 (gst_file_sink_close_file), (gst_file_sink_event),
11903 (gst_file_sink_render):
11904 Add some FIXME for the NEWSEGMENT handling.
11906 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11908 * gst/parse/grammar.y:
11909 Remove static function gst_parse_element_lock as all it does
11910 is return. Looks like cruft from 0.8.
11912 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11914 Patch by: Josep Torra Valles <josep@fluendo.com>
11916 * common/m4/gst-error.m4:
11918 * libs/gst/net/Makefile.am:
11919 Fix a compilation issue with Forte on Solaris. inet_aton is in
11922 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11924 * gst/gstpad.c: (pre_activate):
11925 * gst/gstregistry.c: (gst_registry_scan_path_level):
11926 * gst/gstregistryxml.c: (load_plugin):
11927 * libs/gst/controller/gstcontroller.c:
11928 (gst_controlled_property_set_interpolation_mode):
11929 * libs/gst/dataprotocol/dataprotocol.c:
11930 (gst_dp_packet_from_event_1_0):
11931 * libs/gst/net/gstnetclientclock.c:
11932 (gst_net_client_clock_observe_times):
11933 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11936 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11939 * docs/gst/gstreamer-sections.txt:
11940 * gst/gstconfig.h.in:
11941 * gst/gstelement.h:
11943 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11944 whether we can use G_GNUC_PRINTF in other header files and at
11945 least check the printf format/arguments of debug messages and
11946 GST_ELEMENT_ERROR messages when the printf extension is not
11948 Replace more tabs with spaces in gstinfo.h and remove two spurious
11949 function declarations in GST_DISABLE_DEBUG part with macros.
11951 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
11953 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11954 More docs for the sync-message signal (mention that it is not
11955 emitted by default); log message structures of messages posted on
11958 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
11960 * gst/gst.c: (ensure_current_registry_forking):
11961 Use a pipe pair to receive status results from the forked child, and
11962 ignore the result from waitpid. Fixes #355499
11964 2006-10-02 Wim Taymans <wim@fluendo.com>
11966 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11967 (gst_ghost_pad_suite):
11970 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11973 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11975 2006-10-02 Edward Hervey <edward@fluendo.com>
11977 * docs/design/part-block.txt:
11978 Further explain the use of flushing on blocked pads.
11979 * docs/gst/gstreamer-sections.txt:
11980 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11981 (gst_pad_push_event):
11983 Added new GstPadFlag : GST_PAD_BLOCKING.
11984 Adds the notion of pads really blocking, which enables to properly
11985 handle FLUSH_START/FLUSH_STOP events on blocked pads.
11987 API: gst_pad_is_blocking()
11988 API: GST_PAD_IS_BLOCKING() macro
11989 API: GST_PAD_BLOCKING GstPadFlag
11991 2006-10-02 Wim Taymans <wim@fluendo.com>
11993 Patch by: mrcgran <mrc.gran at gmail dot com>
11995 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11996 Filter the proxied caps against the padtemplate if we have one.
11998 * gst/gstquery.c: (gst_query_new_segment):
11999 Add include for gstinfo.h so that compilation with
12000 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12002 2006-10-02 Wim Taymans <wim@fluendo.com>
12004 Patch by: Alessandro Decina <alessandro at nnva org>
12006 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12007 (gst_file_sink_set_location), (gst_file_sink_open_file),
12008 (gst_file_sink_close_file), (gst_file_sink_event),
12009 (gst_file_sink_render):
12010 Set file to NULL when closing filesink so that we can set a new filename
12011 in READY. Fixes #358613.
12013 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12015 Patch by: Alessandro Decina <alessandro at nnva org>
12017 * gst/gstevent.c: (_gst_event_copy):
12018 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12019 with event structures by setting the parent refcount address of the
12020 copied structure to the address of the refcount member of the newly
12021 copied event rather than the address of the refcount member of the
12022 original event. Fixes #358737.
12024 * tests/check/gst/gstevent.c: (GST_START_TEST):
12025 Unit test for the above.
12027 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12029 * docs/design/Makefile.am:
12030 Dist some more files.
12032 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12034 * tests/check/libs/controller.c: (GST_START_TEST),
12035 (gst_controller_suite):
12036 Add test for the previous fix; add some more tests
12037 for correct refcounting behaviour; fix a few leaks
12038 in test cases; call gst_controller_init() at start
12041 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12043 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12044 (gst_controller_set_from_list):
12045 Don't g_return_val_if_fail() on timed values with invalid timestamps
12046 inside a critical section without unlocking the mutex. Spotted by
12047 René Stadler. (#357617)
12048 Also, fix up refcounting properly: when returning an existing
12049 controller, we should increase the reference only once and not
12050 once per property and when trying to control a property again
12051 we should also increase the refcount.
12053 2006-09-29 Wim Taymans <wim@fluendo.com>
12055 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12056 * libs/gst/net/gstnettimeprovider.c:
12057 (gst_net_time_provider_thread):
12058 Stop reading commands when EOF as well.
12060 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12061 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12062 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12063 Unify description of the dump property.
12065 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12067 * tests/examples/manual/.cvsignore:
12068 OK, so it's actually cvsignore that needs changing. Stop laughing.
12070 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12072 * tests/examples/manual/Makefile.am:
12073 Gah, declare vars *before* using them
12075 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12077 * gst/gst.c: (init_pre), (scan_and_update_registry),
12078 (ensure_current_registry_nonforking),
12079 (ensure_current_registry_forking), (ensure_current_registry),
12080 (init_post), (gst_debug_help), (gst_deinit):
12081 * gst/gst_private.h:
12082 * gst/gstregistry.c: (gst_registry_finalize),
12083 (gst_registry_remove_features_for_plugin_unlocked),
12084 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12085 (gst_registry_scan_path),
12086 (_priv_gst_registry_remove_cache_plugins),
12087 (_priv_gst_registry_cleanup):
12088 * gst/gstregistry.h:
12089 Re-commit the registry changes, along with an extra fix:
12090 When a cached plugin is encountered at a different file path,
12091 update the stored path in the registry cache so that the parent
12092 process knows where it actually is now when it re-reads the registry
12093 cache. Fixes the thing that broke distcheck with the previous commit.
12095 * tests/check/Makefile.am:
12096 Clean up files named 'core' too when running make clean.
12098 * tests/examples/manual/Makefile.am:
12099 Set up a registry path for running these tests, and clean it properly
12102 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12105 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12106 want gmodule-no-export-2.0.pc instead so that we don't drag in
12107 --export-dynamic on every project that links to GStreamer.
12109 Also, make our export regex only match the start of symbols, rather
12110 than any symbol that contains '_gst' somewhere.
12112 * libs/gst/check/Makefile.am:
12113 The libgstcheck we build does however need export-dynamic, as it
12114 produces some symbols that don't match our _gst... style regex.
12117 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12119 * gst/gst.c: (init_pre), (scan_and_update_registry),
12120 (ensure_current_registry_nonforking),
12121 (ensure_current_registry_forking), (ensure_current_registry),
12122 (init_post), (gst_debug_help), (gst_deinit):
12123 * gst/gst_private.h:
12124 * gst/gstregistry.c: (gst_registry_finalize),
12125 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12126 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12127 (_gst_registry_cleanup):
12128 * gst/gstregistry.h:
12129 Revert previous change until I figure out why it breaks distcheck.
12131 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12133 * gst/gst.c: (init_pre), (scan_and_update_registry),
12134 (ensure_current_registry_nonforking),
12135 (ensure_current_registry_forking), (ensure_current_registry),
12136 (init_post), (gst_debug_help), (gst_deinit):
12138 Make init_pre and init_post take the full complement of GOptionFunc
12139 args so they can return useful GErrors. Make the registry updating
12142 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12143 ensure that the registry we're about to write out doesn't contain
12144 stale information about old-deleted plugin files.
12146 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12147 that deletion of plugin files is considered a registry change.
12149 * gst/gst_private.h:
12150 * gst/gstregistry.c: (gst_registry_finalize),
12151 (gst_registry_remove_features_for_plugin_unlocked),
12152 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12153 (gst_registry_scan_path),
12154 (_priv_gst_registry_remove_cache_plugins),
12155 (_priv_gst_registry_cleanup):
12156 * gst/gstregistry.h:
12157 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12158 by adding _priv prefix, so that they won't appear in the global
12159 symbol table. They still do atm though because of #318031. Move the
12160 prototypes to gst_private.h
12162 When removing a plugin, remove all features for that plugin too.
12165 2006-09-27 Wim Taymans <wim@fluendo.com>
12167 * docs/random/moving-plugins:
12168 Make it clear that the "compiled-in descriptions" really mean
12169 the element details.
12171 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12172 (gst_base_sink_wait_preroll):
12175 * docs/libs/gstreamer-libs-sections.txt:
12176 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12177 (gst_base_src_get_range), (gst_base_src_activate_push):
12178 * libs/gst/base/gstbasesrc.h:
12179 Added function to block while waiting for PLAYING, this function
12180 is used by live sources that block on the clock.
12181 API: gst_base_src_wait_playing()
12183 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12185 Patch by: Peter Kjellerstedt <pkj at axis com>
12188 gst-element-check.m4 is generated and should therefore be
12189 copied from the build dir rather than the source dir (#357593).
12190 'make distcheck' hasn't noticed this because we were disting
12191 the file as well, so stop doing that.
12193 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12195 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12196 Add some tests for gst_caps_intersect().
12198 * tools/gst-launch.c: (event_loop):
12199 Print all buffering percentages we get, even the 100% one.
12201 2006-09-26 Wim Taymans <wim@fluendo.com>
12203 * tools/gst-inspect.c: (print_element_properties_info),
12204 (print_signal_info):
12205 Fix printing of flags to match the look of enums.
12207 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12209 * gst/gstelementfactory.c:
12210 Fix typo in docs blurb.
12212 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12214 * gst/gsturi.c: (search_by_entry):
12215 Don't assert/crash here if a uri handler doesn't return any
12216 supported protocols. The list of protocols could be generated
12217 dynamically at runtime or at plugin registration, and an error
12218 in the underlying library shouldn't be fatal (#353301).
12220 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12223 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12224 (spotted by Peter Kjellerstedt).
12226 2006-09-23 Wim Taymans <wim@fluendo.com>
12228 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12230 * libs/gst/base/gstbasesrc.c:
12231 (gst_base_src_default_check_get_range), (gst_base_src_start),
12232 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12233 (gst_base_src_change_state):
12234 Match _start/_stop calls in the activate functions. Remove redundant
12235 _stop call from the state change function. Fixes #356910.
12236 Turn failure DEBUG into ERROR.
12238 2006-09-22 Wim Taymans <wim@fluendo.com>
12240 * docs/design/part-buffering.txt:
12241 * gst/gstmessage.c: (gst_message_new_buffering),
12242 (gst_message_parse_buffering):
12243 Update docs about buffering.
12245 * docs/design/part-trickmodes.txt:
12248 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12250 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12251 (gst_controller_new_list):
12252 Ref instances when returning them again (fixes #357180)
12254 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12256 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12257 Don't forget to release proxy lock when there's an error.
12259 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12262 Add extra initialisers for Caps things, to fix some plugin warnings
12265 2006-09-18 Wim Taymans <wim@fluendo.com>
12267 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12268 Also set template on the internal pad so that a getcaps from the
12269 target pad returns the template caps.
12271 2006-09-18 Wim Taymans <wim@fluendo.com>
12273 * gst/gstelement.c: (gst_element_post_message),
12274 (gst_element_dispose):
12275 Use _DEBUG_OBJECT some more.
12277 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12280 * tools/gst-launch.c: (main):
12281 If the toplevel element is not a GstPipeline, it must be put in a
12282 pipeline so that a bus and clock is selected.
12284 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12286 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12287 JITTER, RATE, and LATENCY query should be handled by the
12288 default case and not by the CONVERT query code.
12290 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12292 * gst/gstformat.c: (gst_format_register):
12293 Fix locking order (must take lock before using n_values).
12295 * gst/gstvalue.c: (gst_value_serialize_enum),
12296 (gst_value_deserialize_enum_iter_cmp),
12297 (gst_value_deserialize_enum):
12298 Fix serialisation/deserialisation of custom registered GstFormats.
12300 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12301 Unit test for custom format serialisation/deserialisation.
12303 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12305 * docs/pwg/building-boiler.xml:
12306 * plugins/elements/gstcapsfilter.c:
12307 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12310 2006-09-16 Edward Hervey <edward@fluendo.com>
12312 * libs/gst/base/gstbasetransform.c:
12313 (gst_base_transform_buffer_alloc):
12314 Check if requested caps are the same as the sinks caps IF
12315 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12317 This fixes the renegotiation issues stated in #352827.
12319 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12322 * docs/manual/advanced-autoplugging.xml:
12323 * tests/examples/Makefile.am:
12324 * tests/examples/manual/.cvsignore:
12325 * tests/examples/manual/Makefile.am:
12326 * tests/examples/manual/extract.pl:
12327 Extract the manual examples again like we used to do.
12330 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12332 * win32/common/config.h:
12335 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12338 Documents how to receive errors.
12340 2006-09-15 Wim Taymans <wim@fluendo.com>
12342 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12343 (event_loop), (main):
12344 Added some comments here and there.
12345 Post an application message when an interrupt is caught instead of doing
12346 an uncontrolled state change.
12347 Clean up the event loop.
12348 Handle buffering messages, pause/resume the pipeline.
12349 Make shutdown because of an interrupt more reliable.
12351 2006-09-15 Wim Taymans <wim@fluendo.com>
12353 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12354 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12355 (gst_base_sink_preroll_object):
12356 Make sure that our internal state is correct when we commit our state
12357 asynchronously. This solves a race where a state change to PLAYING
12358 could cause the sink to remain blocked in preroll in some situations.
12360 2006-09-15 Wim Taymans <wim@fluendo.com>
12362 * tools/gst-inspect.c: (print_element_properties_info),
12363 (print_signal_info):
12364 List flags as hex so it's easier to deal with.
12366 2006-09-15 Wim Taymans <wim@fluendo.com>
12368 * docs/libs/gstreamer-libs-sections.txt:
12369 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12370 (gst_base_sink_do_sync):
12371 * libs/gst/base/gstbasesink.h:
12372 Expose logic to wait for preroll so that subclasses such as audiosink
12373 can also use this method.
12374 API: gst_base_sink_wait_preroll()
12376 2006-09-15 Wim Taymans <wim@fluendo.com>
12378 * gst/gstobject.c: (gst_object_set_parent):
12379 * gst/gstpipeline.c: (do_pipeline_seek):
12380 Small cleanups in docs and code.
12382 * gst/gstsegment.c: (gst_segment_clip):
12383 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12384 if stop == start and start is in the segment, no clipping should be
12385 done. Also add a test for this.
12387 2006-09-15 Wim Taymans <wim@fluendo.com>
12389 * docs/design/part-buffering.txt:
12390 * docs/gst/gstreamer-sections.txt:
12391 * gst/gstmessage.c: (gst_message_new_buffering),
12392 (gst_message_parse_buffering):
12393 * gst/gstmessage.h:
12394 Added methods to create and parse BUFFERING messages.
12395 Added preliminary docs about buffering.
12396 API: gst_message_new_buffering
12397 API: gst_message_parse_buffering
12399 2006-09-06 Wim Taymans <wim@fluendo.com>
12402 Update documentation.
12404 * gst/gstelement.c: (gst_element_class_init),
12405 (gst_element_release_request_pad), (gst_element_set_clock),
12406 (gst_element_get_index), (gst_element_add_pad),
12407 (gst_element_remove_pad), (gst_element_get_random_pad),
12408 (gst_element_send_event), (gst_element_get_query_types),
12409 (gst_element_query), (gst_element_post_message),
12410 (gst_element_message_full), (gst_element_continue_state),
12411 (gst_element_lost_state), (gst_element_save_thyself),
12412 (gst_element_restore_thyself):
12413 Documentation updates.
12414 Rename last bit of the new-pad -> pad-added signal rename.
12415 Fix the case where an element query would only work if the source
12417 Avoid some useless type checking in message handling.
12422 Documentation updates.
12424 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12426 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12427 add an INFO line for when we actually update the fd
12429 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12434 === release 0.10.10 ===
12436 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12439 releasing 0.10.10, "Pais"
12441 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12443 * docs/manual/advanced-position.xml:
12444 Fix typo in sample code.
12446 2006-09-05 Wim Taymans <wim@fluendo.com>
12448 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12449 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12450 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12451 * libs/gst/net/gstnetclientclock.h:
12452 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12453 * libs/gst/net/gstnettimepacket.h:
12454 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12455 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12456 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12457 * libs/gst/net/gstnettimeprovider.h:
12458 Make stuff compile on windows. Fixes #345295.
12460 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12462 * gst/gst.c: (ensure_current_registry_forking):
12463 Print better details when child was terminated by signal.
12465 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12467 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12468 Print a warning rather than g_assert() if a plugin feature
12469 is a URI handler but returns no protocols (#353976).
12471 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12473 * docs/random/moving-plugins:
12476 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12478 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12479 Fix locking order, handle NULL function values properly.
12484 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12485 Initialise variable before using it and fix debug statement to
12486 print the address of the function rather than the address of the
12487 variable on the stack holding the address of the function.
12489 2006-09-01 Wim Taymans <wim@fluendo.com>
12491 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12492 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12493 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12494 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12495 (gst_ghost_pad_parent_unset),
12496 (gst_ghost_pad_internal_do_activate_push),
12497 (gst_ghost_pad_internal_do_activate_pull),
12498 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12499 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12500 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12501 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12502 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12503 (gst_ghost_pad_new_no_target_from_template),
12504 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12506 Avoid needless typechecking in macros.
12507 Since the internal pad is always present and never changes, there is
12508 no need to locking or ref when retrieving it.
12509 Improve debugging a bit.
12510 Handle link errors when setting the target. Fixes #341029.
12512 2006-09-01 Wim Taymans <wim@fluendo.com>
12514 * docs/libs/gstreamer-libs-sections.txt:
12515 * docs/plugins/gstreamer-plugins-sections.txt:
12516 Fix docs some more.
12518 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12519 (gst_collect_pads_event):
12520 * libs/gst/base/gstcollectpads.h:
12521 Documentation updates.
12522 Free queued buffer when removing a pad.
12524 2006-08-31 Michael Smith <msmith@fluendo.com>
12526 * gst/gstutils.c: (gst_element_link_pads),
12527 (gst_element_link_pads_filtered):
12528 Ensure that we set a capsfilter to NULL if we failed to link it
12529 when doing filtered linking, to avoid criticals.
12531 No need to check for unreffing srcpad, which is explicly NULLed
12532 above (a trivial code cleanup).
12534 2006-08-31 Wim Taymans <wim@fluendo.com>
12536 * docs/design/part-gstghostpad.txt:
12537 Update ascii art in documentation.
12539 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12540 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12541 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12542 (gst_ghost_pad_internal_do_activate_push),
12543 (gst_ghost_pad_internal_do_activate_pull),
12544 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12545 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12546 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12547 (gst_ghost_pad_set_target):
12548 Small cleanups and leak fixes.
12549 Remove some checks now that the internal pad is never NULL.
12550 Fix the case where linking pads without a target would create nasty
12551 criticals. Fixes #341029.
12552 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12553 value of _set_target().
12555 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12556 (gst_ghost_pad_suite):
12557 Some more tests for creating and linking untargeted ghostpads.
12559 2006-08-31 Edward Hervey <edward@fluendo.com>
12561 * docs/gst/gstreamer-sections.txt:
12562 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12563 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12564 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12565 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12566 (gst_ghost_pad_new_from_template),
12567 (gst_ghost_pad_new_no_target_from_template):
12568 * gst/gstghostpad.h:
12569 Refactored *_new() functions.
12570 Templates are now used as a g_object_new() parameter.
12571 Use template in _do_getcaps() if we don't have a target.
12572 Small documentation cleanups.
12573 Added two new constructors:
12574 gst_ghost_pad_new_from_template()
12575 gst_ghost_pad_new_no_target_from_template()
12576 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12577 (gst_ghost_pad_suite):
12578 Added tests for new ghostpad instanciation functions.
12580 API additions: gst_ghost_pad_new_from_template,
12581 gst_ghost_pad_new_no_target_from_template
12583 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12585 * docs/random/ensonic/profiling.txt:
12586 Ideas about qos profiling.
12588 2006-08-29 Wim Taymans <wim@fluendo.com>
12590 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12594 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12597 Improve and detypofy docs.
12599 * tests/check/Makefile.am:
12600 * tests/check/gst/.cvsignore:
12601 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12602 Add a basic test suite for GstXML.
12604 2006-08-29 Wim Taymans <wim@fluendo.com>
12606 * gst/gstelement.c: (activate_pads), (clear_caps),
12607 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12608 Clear the pad caps when the element shut down all of the pads and
12609 is not streaming data that could modify the caps.
12612 2006-08-28 Michael Smith <msmith@fluendo.com>
12614 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12615 Revert previous change; I misunderstood single-segment mode.
12617 2006-08-28 Michael Smith <msmith@fluendo.com>
12619 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12620 Unset DISCONT on buffers when using single-segment mode.
12622 2006-08-28 Wim Taymans <wim@fluendo.com>
12624 * gst/gstcaps.c: (gst_caps_merge_structure):
12626 Fix docs and indentation again.
12628 * tests/check/gst/gstquery.c: (GST_START_TEST):
12629 Fix leak in tests and add some more tests.
12631 2006-08-28 Edward Hervey <edward@fluendo.com>
12633 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12634 Inform GstSegment of the last stop position in order for the current
12635 segment to have a proper duration if it doesn't have a specific stop
12636 position from which a duration could be calculated.
12637 This bug was noticeable when a non-flushing, non-update new segment was
12638 followed by another segment (all buffers from the new segment were being
12641 2006-08-28 Wim Taymans <wim@fluendo.com>
12643 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12644 Small comment update.
12646 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12647 (gst_identity_transform_ip):
12648 Drop-probability is broken, mention this in the code with a
12649 FIXME and also in the property description.
12650 Make silent also be silent about the drop messages.
12652 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12654 * docs/manual/appendix-win32.xml:
12655 Remove mention of popt, we don't depend on that any
12656 longer (#353136). Add some comments pointing out that
12657 this section is slightly outdated.
12659 2006-08-28 Wim Taymans <wim@fluendo.com>
12661 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12663 * gst/gstquery.c: (gst_query_new_segment):
12664 * tests/check/gst/gstquery.c: (GST_START_TEST):
12665 Initialize variables when creating a new segment query.
12668 2006-08-28 Wim Taymans <wim@fluendo.com>
12670 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12672 * gst/gstelement.c: (gst_element_get_bus):
12673 * tests/check/gst/gstelement.c: (GST_START_TEST):
12674 Check for NULL before _reffing the bus. Fixes #353122.
12676 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12678 * docs/manual/basics-bus.xml:
12679 Docs update: fix wrong callback return value explanation; add
12680 some lines about the implicit relationship between main loop
12681 and main context; remove duplicate main loop variable declaration.
12683 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12685 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12686 Don't leak caps in unit test; add a few more simple
12689 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12691 * docs/gst/gstreamer-sections.txt:
12692 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12693 (gst_caps_structure_is_subset), (gst_caps_merge),
12694 (gst_caps_merge_structure):
12696 * libs/gst/base/gstbasetransform.c:
12697 (gst_base_transform_transform_caps):
12698 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12699 implement caps merging (fixes #352580)
12701 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12703 * tools/Makefile.am:
12704 * tools/gst-plot-timeline.py:
12705 add debug-log plotting developer tool (#340674)
12707 2006-08-23 Wim Taymans <wim@fluendo.com>
12709 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12710 (gst_pad_stop_task):
12711 Improve debugging for task functions.
12713 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12714 (gst_task_start), (gst_task_pause), (gst_task_join):
12715 Make sure that the task function started and finished after a
12717 Don't try to push the task function on the threadpool multiple
12719 Improve the g_warning message with some useful suggestions
12720 about how to fix the problem.
12722 2006-08-23 Wim Taymans <wim@fluendo.com>
12724 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12725 Handle RESYNC correctly in _proxy_getcaps.
12727 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12729 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12730 (gst_xml_parse_memory), (gst_xml_get_element):
12731 Chain up to parent class in dispose function and also
12732 unref the elements in the toplevel_elements GList.
12733 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12734 Always return a reference in gst_xml_get_element() rather
12735 than only sometimes.
12737 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12738 Don't leak GstXml object.
12740 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12742 * docs/gst/gstreamer-sections.txt:
12743 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12746 * libs/gst/base/gstbasetransform.c:
12747 (gst_base_transform_transform_caps):
12748 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12751 2006-08-21 Edward Hervey <edward@fluendo.com>
12753 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12754 Implement GObject::dispose virtual method in GstXML so we can free the
12755 top_elements GList.
12757 2006-08-21 Wim Taymans <wim@fluendo.com>
12759 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12760 (gst_buffer_create_sub):
12761 Copy duration/offset_end/caps when creating a subbuffer of the
12763 Make the subbuffer read-only when we make the metadata writable for
12764 now. Fixes #351768.
12766 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12767 Added check for metadata copy when creating subbuffers.
12769 2006-08-21 Edward Hervey <edward@fluendo.com>
12771 * libs/gst/base/gstbasetransform.c:
12772 (gst_base_transform_buffer_alloc):
12773 Only call downstream buffer_alloc if transform element is passthrough
12774 or always_in_place. Closes #350449.
12776 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12779 ChangeLog surgery to add comments to previous changes
12781 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12786 * gst/gstpad.c: (gst_pad_set_active):
12787 Be more verbose in the log
12789 * libs/gst/base/gstbasetransform.c:
12790 (gst_base_transform_transform_caps):
12791 Simplify caps to get rid of duplicates, fixes #345444
12793 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12797 Use these optimizations only internally.
12799 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12801 * gst/gstvalue.c: (gst_value_compare_list),
12802 (gst_value_compare_fraction_range),
12803 (gst_value_intersect_fraction_fraction_range),
12804 (gst_value_intersect_fraction_range_fraction_range),
12805 (gst_value_subtract_fraction_fraction_range),
12806 (gst_value_subtract_fraction_range_fraction_range),
12807 (gst_value_get_compare_func), (gst_value_compare),
12808 (gst_value_compare_with_func):
12810 Saves the expensive lookup of the compare function in many cases
12813 2006-08-18 Edward Hervey <edward@fluendo.com>
12815 * tests/check/gst/gstinfo.c: (gst_info_suite):
12816 Disable test that require gstdebug if it wasn't built in core.
12818 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12820 * docs/random/ensonic/logging.txt:
12823 * gst/gstinfo.c: (gst_debug_log_default):
12824 reorder fields, save some columns, add optional color codes for log
12827 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12829 * docs/random/ensonic/logging.txt:
12830 add ideas about making the logs a bit more useful
12832 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12834 * docs/pwg/advanced-events.xml:
12835 * docs/pwg/titlepage.xml:
12836 Update for 0.10 API (#340627). Add myself
12839 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12841 * docs/libs/gstreamer-libs-docs.sgml:
12842 * docs/libs/gstreamer-libs-sections.txt:
12843 * libs/gst/check/gstbufferstraw.c:
12844 Make gstcheck stuff show up in docs (still needs to
12845 be documented properly though).
12847 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12849 * docs/gst/gstreamer-sections.txt:
12851 * gst/gst.c: (init_post):
12852 * gst/gst_private.h:
12853 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12855 * gst/gstquery.c: (gst_query_new_position),
12856 (gst_query_set_position), (gst_query_parse_position),
12857 (gst_query_new_duration), (gst_query_set_duration),
12858 (gst_query_parse_duration), (gst_query_new_convert),
12859 (gst_query_set_convert), (gst_query_parse_convert),
12860 (gst_query_new_segment), (gst_query_set_segment),
12861 (gst_query_parse_segment), (gst_query_new_seeking),
12862 (gst_query_set_seeking), (gst_query_parse_seeking):
12863 Add internal helpers for pre-registering quarks from static strings
12864 and using the quark values directly instead of looking them up when
12865 creating and parsing queries. Can be used for event construction too.
12868 2006-08-16 Wim Taymans <wim@fluendo.com>
12873 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12875 * gst/gstutils.c: (gst_util_set_value_from_string):
12876 Fix memleak (#351502).
12878 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12879 Add unit test for most of gst_util_set_value_from_string()
12880 (not that one would want to encourage use of this function).
12882 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12884 * libs/gst/check/gstcheck.h:
12885 Use const gchar * variables in fail_unless_equals_string
12886 macro to avoid compiler warnings (and don't use tabs for
12889 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12891 * tools/gst-launch.c: (print_tag):
12892 More space on the left for the tag names, to cater
12893 for the 'extended comment' tag (not touching the
12894 string for the first line since it's translated).
12896 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12898 * libs/gst/check/gstcheck.h:
12899 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12900 print something when they fail.
12902 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12904 * docs/gst/gstreamer-sections.txt:
12905 * gst/gsttaglist.c: (_gst_tag_initialize):
12906 * gst/gsttaglist.h:
12907 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12908 Also change merge function for GST_TAG_COMMENT to
12911 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12913 * gst/gstinfo.c: (gst_debug_print_object):
12914 Make GST_PTR_FORMAT print messages as well.
12916 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12917 (GST_START_TEST), (gst_info_suite):
12920 2006-08-14 Edward Hervey <edward@fluendo.com>
12922 * gst/gstelementfactory.c: (gst_element_register):
12923 If the GstElementClass doesn't have a GstElementDetails with all fields
12924 filled up correctly (longname, description AND author), then error out
12925 nicely instead of crashing.
12927 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12929 * gst/gststructure.c:
12930 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12933 Expand on the difference between arrays and lists as we use them.
12935 2006-08-14 Wim Taymans <wim@fluendo.com>
12937 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12938 If the parent state change function failed, don't assume we can safely
12939 stop the source, this will be done when the pads are deactivated.
12941 2006-08-14 Wim Taymans <wim@fluendo.com>
12944 * gst/gsttask.c: (gst_task_join):
12947 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12948 (gst_pad_stop_task):
12949 When pad (de)activation failed for some reason, restore the old
12950 activation mode and set the pad to flushing instead of assuming the
12951 pad is deactivated.
12952 If the _task_join() failed, reinstall the task on the pad so that it can
12953 be stopped later and return an error.
12955 2006-08-11 Andy Wingo <wingo@pobox.com>
12958 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12959 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12960 is only for users of API that don't want to see deprecated
12961 functions in the headers; people that want to compile out
12962 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12963 CFLAGS. Fixes the build of multifdsink, or will soon..
12965 2006-08-11 Wim Taymans <wim@fluendo.com>
12967 * docs/gst/gstreamer-sections.txt:
12968 Add GstClockClass vmethod docs.
12971 Mark #endif with comment for associated #if
12973 * gst/gstclock.c: (gst_clock_id_wait):
12975 Add vmethod wait_jitter to avoid an unneeded _get_time() for
12976 most clock implementations.
12978 Flesh out docs about resolution methods.
12979 API: GstClockClass::wait_jitter
12981 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12982 (gst_system_clock_async_thread),
12983 (gst_system_clock_id_wait_jitter_unlocked),
12984 (gst_system_clock_id_wait_jitter):
12985 Use base class wait_jitter variant for improved performance
12986 due to less clock polling.
12988 2006-08-11 Edward Hervey <edward@fluendo.com>
12990 * gst/gst.c: (gst_init_check), (init_post):
12991 Set gst as being initialized before scanning/updating the registry,
12992 since there might be my python plugin loader that calls gst_init() and
12993 we don't want to loop back in.
12996 2006-08-11 Wim Taymans <wim@fluendo.com>
12998 * docs/design/part-qos.txt:
12999 Bring docs in line with the code. Mostly the sign of the jitter was
13000 wrong in the docs. Fixes #349943.
13003 Fix the docs for the jitter.
13005 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13006 (gst_event_parse_tag), (gst_event_new_buffer_size),
13007 (gst_event_parse_buffer_size), (gst_event_parse_qos),
13008 (gst_event_new_seek), (gst_event_parse_seek),
13009 (gst_event_new_navigation):
13010 Make sure the GstStructure has no parent when creating custom
13012 Add some more argument checking so that we avoid 0.0 rates.
13013 Flesh out the docs for the QoS event some more.
13015 2006-08-11 Wim Taymans <wim@fluendo.com>
13017 * docs/gst/gstreamer-sections.txt:
13018 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13019 (ensure_current_registry_forking), (ensure_current_registry),
13020 (parse_one_option), (parse_goption_arg), (gst_deinit),
13021 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13024 Added API and command line option to disable registry forking in
13025 addition to the environment variable.
13026 Constify some static arrays.
13027 Added some more debug.
13028 Don't deinit twice.
13029 API: gst_registry_fork_is_enabled()
13030 API: gst_registry_fork_set_enabled()
13031 API: --gst-disable-registry-fork command line option
13034 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13036 * gst/gst.c: (gst_init):
13037 Fix typo in error message.
13039 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13041 * libs/gst/controller/gstcontroller.h:
13042 fix ABI size-correction
13044 * tests/check/libs/gdp.c: (gst_dp_suite):
13045 make tests that use deprecated API conditional
13047 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13049 * docs/libs/gstreamer-libs-sections.txt:
13050 * libs/gst/controller/gstcontroller.c:
13051 (_gst_controller_get_property), (_gst_controller_set_property),
13052 (_gst_controller_init), (_gst_controller_class_init):
13053 * libs/gst/controller/gstcontroller.h:
13054 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13055 (gst_object_set_control_rate):
13056 API: add gst_object_{s,g}et_control_rate(), add private data section,
13059 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13060 * libs/gst/dataprotocol/dataprotocol.h:
13061 add deprecation guards to make gtk-doc happy and allow disabling cruft
13063 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13065 * tests/check/Makefile.am:
13066 * tests/check/gst/.cvsignore:
13067 Let's enable the new unit test as well.
13069 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13072 * docs/gst/gstreamer-sections.txt:
13073 * gst/gstconfig.h.in:
13074 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13075 (_gst_info_printf_extension_ptr),
13076 (_gst_info_printf_extension_segment):
13077 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13078 register that lets us easily dump GstSegments into debug
13081 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13082 (info_segment_format_printf_extension), (gst_info_suite):
13083 Add simple unit test that logs a bunch of different segments (not
13084 valgrinded at the moment because of leaks in
13085 gst_debug_add_log_function).
13087 2006-08-09 Edward Hervey <edward@fluendo.com>
13089 * libs/gst/base/gstbasetransform.c:
13090 (gst_base_transform_buffer_alloc):
13091 Even if we can't figure out the proper format to request downstream,
13092 call buffer_alloc() downstream with the input parameters without setting
13093 the caps on the srcpad. This will force negotiation in the chain
13097 2006-08-08 Edward Hervey <edward@fluendo.com>
13099 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13100 Unlinking from a pad without a target is now a perfectly valid case
13101 which should NOT raise an assertion.
13102 This case would happen if a linked ghostpad its target set to NULL after
13103 it was previously linked.
13105 2006-08-08 Edward Hervey <edward@fluendo.com>
13107 * tests/check/libs/gdp.c:
13108 Also comment out the test (see below).
13110 2006-08-08 Edward Hervey <edward@fluendo.com>
13112 * tests/check/libs/gdp.c: (gst_dp_suite):
13113 Use the architecture information from config.h and not gcc macros
13114 in order to properly disable a test that fails on PPC64.
13116 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13118 * gst/gstelement.c: (gst_element_remove_pad):
13119 Don't crash printing the warning if the pad has no parent.
13121 2006-08-02 Wim Taymans <wim@fluendo.com>
13123 * libs/gst/dataprotocol/dataprotocol.c:
13124 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13125 (gst_dp_crc), (gst_dp_header_payload_length),
13126 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13127 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13128 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13129 (gst_dp_event_from_packet), (gst_dp_validate_header),
13130 (gst_dp_validate_payload):
13131 Make debug category static
13132 Constify the crc table.
13133 Do some more arg checking in public functions.
13134 Fix some docs and do some small cleanups.
13136 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13137 Add some more checks to see if GDP deals with bogus input.
13139 2006-07-31 Wim Taymans <wim@fluendo.com>
13141 * gst/gstvalue.c: (gst_value_compare_list):
13142 Fix GstValueList comparison code. Fixes #347293.
13144 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13145 Check to test GstValueList comparison.
13147 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13149 * gst/gstelementfactory.c: (gst_element_factory_create):
13150 Remove unnecessary ref/unref pair
13152 * gst/parse/grammar.y:
13153 Make sure to free the parse buffer on all code paths.
13154 Move a g_free up to the error handler where it's easier to see.
13156 * tests/check/gst/gstevent.c: (test_event):
13157 Extending timeout for downstream travelling events to 10 seconds to
13158 hopefully avoid intermittent failure on the buildbots.
13160 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13161 Don't manually set the state of the src element - it will happen as a
13162 natural consequence of the pipeline changing state, and that way it
13163 will do it in the right order too.
13165 2006-07-31 Wim Taymans <wim@fluendo.com>
13167 * libs/gst/base/gstbasetransform.c:
13168 (gst_base_transform_buffer_alloc):
13169 Use OBJECT_LOCK and refcounting to get the pad caps in the
13170 buffer_alloc function because the caps could change while we are
13171 busy with them. Fixes #349105
13173 2006-07-31 Wim Taymans <wim@fluendo.com>
13175 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13176 Protect _PAD_CAPS with OBJECT_LOCK.
13178 2006-07-31 Wim Taymans <wim@fluendo.com>
13180 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13181 (gst_pad_get_property), (gst_pad_activate_pull),
13182 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13183 (gst_pad_set_activate_function),
13184 (gst_pad_set_activatepull_function),
13185 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13186 (gst_pad_set_getrange_function),
13187 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13188 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13189 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13190 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13191 (gst_pad_set_acceptcaps_function),
13192 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13193 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13194 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13195 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13196 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13197 (gst_pad_configure_sink), (gst_pad_configure_src),
13198 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13199 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13200 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13201 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13202 (gst_pad_send_event):
13203 Use _DEBUG_OBJECT when it makes sense.
13204 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13205 Small cleanups and code reflows.
13206 Avoid caps refcounting in _accept_caps.
13207 Refactor alloc_buffer so that the code performed on the peer is in a
13208 separate function. Also if the pad does not implement a buffer alloc
13209 function, we should still check if the pad is flushing before falling
13210 back to the default allocator.
13212 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13214 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13215 Make all uses of identity and fakesink have silent=true to avoid
13216 serialising every passing data structure, which is breaking tests
13217 on FC4 for some unknown reason.
13219 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13221 * gst/parse/Makefile.am:
13222 * gst/parse/grammar.y:
13223 * gst/parse/parse.l:
13224 Reverted previous patch as it required to bump the flex dependency to
13225 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13227 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13229 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13231 * gst/parse/Makefile.am:
13232 * gst/parse/grammar.y:
13233 * gst/parse/parse.l:
13234 push & pop the state of the lexer for reentrant use case
13237 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13239 * libs/gst/base/gstbasesrc.h:
13240 Note in the docs that the ::newsegment vfunc is not actually used by
13243 2006-07-28 Wim Taymans <wim@fluendo.com>
13245 * libs/gst/base/gstcollectpads.c:
13246 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13247 (gst_collect_pads_clear), (gst_collect_pads_flush),
13248 (gst_collect_pads_event), (gst_collect_pads_chain):
13249 When flushing a pad, also clear the queued buffer so that we don't
13250 accidentally use it when we shouldn't.
13251 Fix leaks by inreffing incomming buffer.
13252 Flush out queued buffers in case of errors.
13255 2006-07-28 Wim Taymans <wim@fluendo.com>
13257 * docs/random/phonon-gst:
13258 Random notes about a Phonon backend.
13260 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13262 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13264 * tests/check/libs/gdp.c: (gst_dp_suite):
13265 Take a whack at fixing the ppc compile using a different define to
13266 disable the broken test.
13268 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13269 Remove excess g_print()
13271 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13273 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13274 Oops, meant to uncomment this line too to dampen the noise a bit.
13276 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13278 * gst/parse/grammar.y:
13279 * gst/parse/parse.l:
13280 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13281 (GST_START_TEST), (parse_suite):
13282 Fix some of the leaks exposed by extending the parse-launch testsuite,
13283 and move the 3 I can't figure out into a separate test that won't run
13284 the pipelines unless the appropriate line is uncommented.
13286 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13288 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13289 Requesting 0 bytes before the end of the file should result in
13290 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13293 2006-07-27 Wim Taymans <wim@fluendo.com>
13295 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13296 Fix useless assert, a uint is always positive.
13298 * gst/gststructure.c: (gst_structure_nth_field_name),
13299 (gst_structure_foreach), (gst_structure_map_in_place):
13300 Check input arguments for public functions to avoid obvious crashes.
13302 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13303 * plugins/elements/gstfakesink.h:
13304 Do less useless typechecking.
13306 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13308 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13309 Do not use mmap() by default since there are a number of error
13310 conditions that we would like to handle in a non-fatal way that
13311 will result in a SIGBUS if we use mmap(). Examples: external
13312 devices (USB harddrive, portable music player) being unplugged
13313 while in use; file on mounted CD/DVD that can't be read because
13314 the medium is partly damaged. Fixes #348455 and #348475.
13316 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13319 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13320 rates are a gdouble
13322 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13324 * gst/gstregistry.c:
13325 Move big documentation comment into class section header, so that it
13326 appears in the API docs.
13328 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13330 * docs/gst/gstreamer-sections.txt:
13331 Oops. Commit the docs additions too for new API.
13332 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13334 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13336 * gst/gststructure.c: (gst_structure_id_set),
13337 (gst_structure_id_set_valist):
13338 * gst/gststructure.h:
13339 Add API for setting values into structures without performing
13340 a quark lookup, if the appropriate quark is already known.
13342 API: gst_structure_id_set
13343 API: gst_structure_id_set_valist
13345 * gst/parse/grammar.y:
13346 * gst/parse/parse.l:
13347 Remove some dead code shown by the coverage information.
13348 Don't throw a critical g_warning when encountering a syntax error,
13349 just warn and let the normal error path handle it.
13351 * plugins/elements/gstelements.c:
13352 Bump the rank of filesink up to PRIMARY so that it is preferred over
13353 gnomevfssink for file:// sink uri's
13355 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13356 (GST_START_TEST), (run_delayed_test),
13357 (gst_parse_test_element_base_init),
13358 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13359 (gst_parse_test_element_change_state),
13360 (gst_register_parse_element), (parse_suite):
13361 Beef up the tests for parse syntax to check that more error cases
13362 fail as they are supposed to. Increases the test coverage a bit.
13364 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13366 * docs/manual/basics-elements.xml:
13367 Fix gst_element_link() example.
13370 Mention in API docs that one should usually gst_bin_add()
13371 elements to a bin or pipeline before doing the linking.
13373 2006-07-26 Wim Taymans <wim@fluendo.com>
13375 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13376 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13377 Avoid function call for known types by keeping the buffer and
13378 subbuffer GType global.
13380 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13381 Random silly optimisations in read() path.
13383 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13385 * tools/gst-launch.c: (main):
13386 If the top-level of the parse is a normal bin, it doesn't do the
13387 right logic to run as a top-level element, so place it inside a
13390 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13392 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13393 Remove superfluous g_object_notify() calls, GObject does
13394 that for us automatically.
13396 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13399 on Win32, use dllspec to export the debug category symbols
13401 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13403 * gst/gsttaglist.c: (_gst_tag_initialize):
13404 Allow more than one GST_TAG_IMAGE per taglist.
13406 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13408 * gst/gstminiobject.c:
13410 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13411 (gst_fd_src_create):
13412 log recurring events at LOG level
13413 add more debug for when the fd gets set
13415 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13417 * gst/gstparse.c: (gst_parse_launch):
13418 Also remove reentrance checks if flex is MT safe (#348179)
13419 Fix my empty ChangeLog entry below
13421 2006-07-21 Andy Wingo <wingo@pobox.com>
13423 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13425 * libs/gst/check/Makefile.am
13426 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13427 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13428 * libs/gst/check/gstbufferstraw.h:
13429 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13430 functions, thus proving I am still a GStreamer haxor. OK I wrote
13431 them a long time ago, but anyways.
13433 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13436 * gst/gstparse.c: (gst_parse_launch):
13437 Check for flex version and omit mutex if we have a MT save flex
13440 2006-07-21 Wim Taymans <wim@fluendo.com>
13442 * gst/gstparse.c: (gst_parse_launch):
13443 Protect recursive calls to _parse with a recursive mutex
13446 2006-07-21 Wim Taymans <wim@fluendo.com>
13448 * tests/check/gst/gstpad.c: (GST_START_TEST):
13451 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13453 * gst/gstparse.c: (gst_parse_launch):
13454 Do not hang on recursive usage of gst_parse_launch()
13456 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13458 * gst/gsttaglist.c:
13459 Add some more docs, comments and FIXME 0.11s here and there
13460 and also fix some typos.
13462 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13464 * gst/gstsegment.h:
13465 Convert tabs to spaces for better readability.
13467 2006-07-20 Edward Hervey <edward@fluendo.com>
13469 * tests/check/libs/gdp.c: (gst_dp_suite):
13470 the test_buffer test fails at line 140 on ppc64 at the following
13472 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13473 GST_BUFFER_FLAG_IN_CAPS),
13474 "GST_BUFFER_IN_CAPS flag should have been copied !");
13475 See bug #348114 for more details.
13477 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13479 * docs/pwg/advanced-scheduling.xml:
13481 Fix typos (#348000).
13483 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13485 * docs/pwg/intro-basics.xml:
13486 Fix wrong links (#347927).
13488 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13490 * gst/gstregistry.h:
13491 * gst/gstregistryxml.c: (load_feature),
13492 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13493 * win32/common/config.h:
13494 make --disable-index work (#342564)
13496 2006-07-18 Wim Taymans <wim@fluendo.com>
13498 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13502 The attached patch adds two missing defines to gsttrace.h when tracing
13503 is disabled. It also corrects one existing define.
13506 2006-07-17 Wim Taymans <wim@fluendo.com>
13508 * docs/gst/gstreamer-sections.txt:
13509 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13511 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13512 Add two functions to check and change the SIGSEGV behaviour
13513 when loading plugins.
13514 Don't mess with the SIGSEGV handler when we were told not to.
13516 API: gst_segtrap_is_enabled
13517 API: gst_segtrap_set_enabled
13519 2006-07-14 Wim Taymans <wim@fluendo.com>
13521 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13522 * tests/check/elements/filesrc.c: (GST_START_TEST):
13523 Revert fix for regression in #347408 after release.
13525 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13527 Patch by: Antoine Tremblay <hexa00 at gmail com>
13529 * gst/gstutils.c: (gst_element_unlink):
13530 Free iterator when done (#347311).
13532 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13533 And add a test case for this.
13535 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13538 Bump nano back to CVS
13540 === release 0.10.9 ===
13542 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13545 releasing 0.10.9, "On the road again"
13547 2006-07-13 Wim Taymans <wim@fluendo.com>
13549 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13550 * tests/check/elements/filesrc.c: (GST_START_TEST):
13551 Revert pull-0 fix for release. Disable check. Fixes #347408.
13553 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13555 * libs/gst/dataprotocol/dataprotocol.c:
13556 (gst_dp_event_from_packet_1_0):
13557 Fixes #347337: failure to deserialize event packets with
13558 empty payload (only event type)
13560 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13563 do not install a .c file in the header directory
13565 2006-07-13 Edward Hervey <edward@fluendo.com>
13567 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13568 GhostPad no longer implicitely use the padtemplates of the targets.
13571 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13573 * gst/gstvalue.c: (gst_value_compare_list),
13574 (gst_value_compare_array), (_gst_value_initialize):
13575 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13576 Make GstValueArray comparison be order dependent as designed.
13577 Add checks for value lists and value array comparisons.
13580 2006-07-11 Edward Hervey <edward@fluendo.com>
13582 * gst/gstbin.c: (activate_pads),
13583 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13584 (gst_bin_change_state_func):
13585 (de)activate src pads before calling state_change on the childs.
13586 This is to avoid the case where a src ghostpad is blocked (holding the
13587 stream lock), which would block the deactivation of the ghostpad's
13589 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13590 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13591 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13592 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13593 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13594 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13595 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13596 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13597 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13598 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13599 (gst_ghost_pad_class_init),
13600 (gst_ghost_pad_internal_do_activate_push),
13601 (gst_ghost_pad_internal_do_activate_pull),
13602 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13603 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13604 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13605 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13606 GhostPads now create their internal GstProxyPad at creation (and not
13607 when they're linked, as it was being done previously).
13608 The internal and target pads are linked straight away.
13609 The data will also travel through the other pad in order to make
13610 pad blocking and probes non-hackish (the probe/block now really happens
13611 on the GhostPad and not on the target).
13612 * gst/gstpad.c: (gst_pad_set_blocked_async),
13613 (gst_pad_link_prepare), (gst_pad_push_event):
13614 Remove previous ghostpad cruft.
13615 * gst/gstutils.c: (gst_pad_add_data_probe),
13616 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13617 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13618 (gst_pad_remove_buffer_probe):
13619 Remove previous ghost pad cruft.
13620 Added more detailed debug statements.
13621 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13622 Fix the testsuite for refcounting changes.
13623 The comments about who has references were correct, but the refcount
13624 being checked wasn't the same (!?!).
13628 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13630 * docs/gst/gstreamer-sections.txt:
13631 * gst/gstconfig.h.in:
13632 More docs for configuration options, add docs to gtk-doc.
13634 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13637 * gst/gstconfig.h.in:
13638 * win32/common/config.h:
13639 Fix build when disabling tracing (fixes #344016). Also start to document
13640 the defines that disable the sub-systems.
13642 2006-07-10 Edward Hervey <edward@fluendo.com>
13644 * gst/gst.c: (ensure_current_registry_forking):
13645 let's make valgrind happy...
13647 2006-07-09 Wim Taymans <wim@fluendo.com>
13649 * gst/gstelement.c: (activate_pads),
13650 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13651 Better pad activation code: Reset the collect value too on resync.
13654 2006-07-09 Wim Taymans <wim@fluendo.com>
13656 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13657 (gst_pad_activate_push):
13658 Use some more macros where it makes sense.
13659 Allow pad mode switching instead of asserting. When a pad
13660 is activated in one mode and we activate it in another,
13661 deactivate it first before activating it in a different mode.
13664 2006-07-08 Andy Wingo <wingo@pobox.com>
13666 * tools/gst-launch.c (main): Handle err == NULL.
13668 * gst/gst.c (init_post, ensure_current_registry)
13669 (ensure_current_registry_forking)
13670 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13671 factoring out the registry scanning into separate functions. Don't
13672 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13673 Better environment var name/interface suggestions accepted.
13675 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13677 * gst/gstobject.c: (gst_object_set_name_default),
13678 (gst_object_set_name):
13679 Random micro-optimisation: don't use a hash table
13680 with strings as keys and the usual strdup/strcmp
13681 involved, but rather just use the GQuark of the
13682 type name as key, since it needs to be looked up
13683 anyway to get the type name string.
13685 * tests/check/gst/gstobject.c: (GST_START_TEST):
13688 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13690 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13691 (gst_bin_iterate_all_by_interface):
13692 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13693 GTypes are gulongs and thus the top 4 bytes might be cut
13694 off on some platforms when doing GPOINTER_TO_INT, leading
13695 to invalid GTypes and bad things happening (see RH bug #179654).
13696 Also add a check to make sure the type passed in is really
13699 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13704 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13708 * gst-element-check.m4:
13709 * gst-element-check.m4.in:
13710 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13711 instead of the unversioned gst-inspect (#324176, #168659).
13713 2006-07-06 Wim Taymans <wim@fluendo.com>
13715 * gst/gstmessage.h:
13716 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13719 2006-07-06 Wim Taymans <wim@fluendo.com>
13721 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13722 (gst_base_src_wait), (gst_base_src_update_length),
13723 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13724 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13725 (gst_base_src_loop), (gst_base_src_start),
13726 (gst_base_src_activate_pull):
13728 blocksize == 0 now means the default blocksize when working in push
13730 Remove some pointless asserts in _wait function.
13731 Fix offset/length calculations and EOS handling. We can now pull 0
13732 bytes as well, which is allowed.
13733 use _check_get_range() to decide if we can operate in _pull based
13735 Fix refcounting leak when check_get_range function was not
13737 API GstBaseSrc::blocksize range can be 0 too now (default)
13739 * tests/check/elements/filesrc.c: (GST_START_TEST),
13741 Added check to test _get_range() behaviour.
13743 2006-07-06 Wim Taymans <wim@fluendo.com>
13745 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13746 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13747 (gst_pad_pull_range):
13749 Lots of comments and docs added to the pad functions.
13750 Flesh out the expected behaviour of the get_range() functions.
13752 2006-07-06 Wim Taymans <wim@fluendo.com>
13757 * gst/gstiterator.h:
13761 Remove comma at end of enumerator list.
13763 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13765 * win32/common/libgstbase.def:
13766 * win32/common/libgstdataprotocol.def:
13767 * win32/common/libsgtreamer.def:
13768 Add new exported functions.
13770 2006-07-05 Wim Taymans <wim@fluendo.com>
13772 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13773 Add some more docs here and there.
13775 2006-07-05 Wim Taymans <wim@fluendo.com>
13777 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13778 (gst_base_sink_loop), (gst_base_sink_get_position):
13779 When operating in pull mode update the offset so that we
13782 2006-07-05 Wim Taymans <wim@fluendo.com>
13784 * gst/gstregistryxml.c: (read_string):
13785 Avoid strdup. (will happen in libxml, but hey!)
13788 Add some more docs.
13790 2006-07-05 Wim Taymans <wim@fluendo.com>
13792 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13793 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13794 (gst_buffer_suite):
13795 No point in checking if the size of the subbuffer > 0, the
13796 code handles it correclty as demonstrated by unit test.
13797 Also add a unit test for the zero sized _new_and_alloc and
13798 _copy. Fixes #346663.
13800 2006-07-05 Wim Taymans <wim@fluendo.com>
13802 * libs/gst/base/gstbasetransform.c:
13803 (gst_base_transform_prepare_output_buffer),
13804 (gst_base_transform_buffer_alloc),
13805 (gst_base_transform_handle_buffer):
13806 Make sure the buffer we pass to transform_ip has a refcount of
13807 1 and thus is writable. Fixes #343196
13809 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13811 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13812 (gst_file_src_init), (gst_file_src_set_property),
13813 (gst_file_src_get_property), (gst_file_src_map_region):
13814 * plugins/elements/gstfilesrc.h:
13815 Add "sequential" property, off by default, to use madvise and hint
13816 to the kernel that sequential access is desired.
13817 Touch all retrieved pages by default to ensure they are pulled
13818 into memory. (Closes #345720)
13820 2006-07-03 Wim Taymans <wim@fluendo.com>
13822 * docs/design/part-block.txt:
13823 * docs/design/part-dynamic.txt:
13824 Small docs updates.
13826 2006-07-03 Wim Taymans <wim@fluendo.com>
13828 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13829 (gst_caps_unref), (gst_static_caps_get),
13830 (gst_caps_append_structure):
13831 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13832 Use GSlice when the glib we build against is >= 2.10
13834 2006-07-03 Wim Taymans <wim@fluendo.com>
13836 * gst/gstelement.c: (gst_element_pads_activate):
13837 Small cleanup in pad activation code.
13839 2006-07-03 Wim Taymans <wim@fluendo.com>
13841 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13843 * gst/gst-i18n-app.h:
13844 * gst/gst-i18n-lib.h:
13845 * tools/gst-inspect.c: (print_signal_info):
13846 The attached patch will make the inclusion of gettext.h unconditional in
13847 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13848 libintl.h in tools/gst-inspect.c.
13849 This allows use of --disable-nls again and fixes #344642.
13851 2006-07-03 Edward Hervey <edward@fluendo.com>
13853 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13854 Implement pad blocking on events according to part-block.txt.
13855 More comments on behaviour.
13856 * tests/check/gst/gstevent.c: (test_event):
13857 Send event to peer pad of blocked pad (else it will block).
13859 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13861 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13862 (gst_check_run_suite):
13863 if we get the wrong message, give us the types as string
13864 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13866 * tests/check/elements/filesrc.c: (GST_START_TEST):
13867 add a test for trying to open a non-existing file
13869 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13871 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13872 add a test for adding self
13874 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13876 * libs/gst/check/gstcheck.h:
13877 add some assert_ as alias for fail_unless_*
13878 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13879 increase test coverage
13881 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13884 include lcov.mak for lcov coverage generation
13885 * tools/Makefile.am:
13888 2006-07-02 Edward Hervey <edward@fluendo.com>
13890 * tests/check/elements/.cvsignore:
13893 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13896 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13897 * tests/check/Makefile.am:
13898 clean up gcov files
13900 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13902 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13903 remove gst_caps_simplify; it was not declared and not used
13904 and deprecated in 0.8
13906 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13908 * docs/faq/gst-uninstalled:
13909 don't put empty paths on PYTHONPATH
13910 * docs/gst/gstreamer-sections.txt:
13911 remove some symbols that are not there
13913 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13915 * gst/gstcaps.c: (gst_caps_compare_structures):
13917 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13918 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13921 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13923 * libs/gst/dataprotocol/Makefile.am:
13924 build dataprotocol test by linking to the lib, instead of
13925 compiling the source, so we get coverage
13926 * tests/check/Makefile.am:
13927 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13928 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13929 add a test for filesrc
13931 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13933 * tests/check/gst/gststructure.c: (GST_START_TEST),
13934 (gst_structure_suite):
13935 Push coverage from 59.04% to 70.00%
13937 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13939 * tests/check/Makefile.am:
13940 gst-inspect every element; this makes sure that we also get
13941 coverage on element's get/set functions
13943 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13946 set CFLAGS and friends to -O0 if gcov is being used
13949 * libs/gst/base/Makefile.am:
13950 * libs/gst/check/Makefile.am:
13951 * libs/gst/controller/Makefile.am:
13952 * libs/gst/dataprotocol/Makefile.am:
13953 * libs/gst/net/Makefile.am:
13954 * plugins/elements/Makefile.am:
13955 * plugins/indexers/Makefile.am:
13956 add makefile rules to generate gcov data and clean up
13957 * tests/check/Makefile.am:
13958 add a coverage target that generates an html overview
13961 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13963 * tests/check/elements/fakesink.c:
13964 * tests/check/elements/fakesrc.c:
13965 * tests/check/elements/fdsrc.c:
13966 * tests/check/elements/identity.c:
13967 * tests/check/generic/sinks.c: (gst_sinks_suite):
13968 * tests/check/generic/states.c:
13969 * tests/check/gst/gst.c:
13970 * tests/check/gst/gstabi.c:
13971 * tests/check/gst/gstbin.c:
13972 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13973 * tests/check/gst/gstbus.c: (gst_bus_suite):
13974 * tests/check/gst/gstcaps.c: (GST_START_TEST):
13975 * tests/check/gst/gstelement.c:
13976 * tests/check/gst/gstevent.c: (gst_event_suite):
13977 * tests/check/gst/gstghostpad.c:
13978 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13979 * tests/check/gst/gstmessage.c: (gst_message_suite):
13980 * tests/check/gst/gstminiobject.c:
13981 * tests/check/gst/gstobject.c:
13982 * tests/check/gst/gstpad.c:
13983 * tests/check/gst/gstpipeline.c:
13984 * tests/check/gst/gstplugin.c:
13985 * tests/check/gst/gstquery.c: (gst_query_suite):
13986 * tests/check/gst/gstsegment.c: (gst_segment_suite):
13987 * tests/check/gst/gststructure.c:
13988 * tests/check/gst/gstsystemclock.c:
13989 * tests/check/gst/gsttag.c:
13990 * tests/check/gst/gsttask.c: (gst_task_suite):
13991 * tests/check/gst/gstutils.c:
13992 * tests/check/gst/gstvalue.c:
13993 * tests/check/libs/adapter.c:
13994 * tests/check/libs/basesrc.c:
13995 * tests/check/libs/collectpads.c:
13996 * tests/check/libs/controller.c:
13997 * tests/check/libs/gdp.c: (gst_dp_suite):
13998 * tests/check/libs/gstnetclientclock.c:
13999 * tests/check/libs/gstnettimeprovider.c:
14000 * tests/check/libs/libsabi.c: (libsabi_suite):
14001 * tests/check/libs/typefindhelper.c:
14002 * tests/check/pipelines/cleanup.c:
14003 * tests/check/pipelines/parse-launch.c:
14004 * tests/check/pipelines/simple-launch-lines.c:
14005 * tests/check/pipelines/stress.c: (stress_suite):
14008 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14010 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14011 * libs/gst/check/gstcheck.h:
14012 create a macro and function so that the simple unit test
14013 case can be just one macro to create main()
14015 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14017 * gst/gstbin.c: (gst_bin_restore_thyself):
14018 * gst/gstxml.c: (gst_xml_make_element):
14019 Fix deserialisation from XML. Set parent manually
14020 instead of using gst_bin_add(), since gst_bin_add()
14021 will unlink all pads of the element being added.
14024 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14026 Patch by: Peter Kjellerstedt <pkj at axis com>
14028 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14029 Fix missing g_strdup() and double free when using the
14030 --gst-plugin-load command line option (#346097).
14032 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14035 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14037 * libs/gst/net/gstnetclientclock.c:
14038 * libs/gst/net/gstnettimeprovider.c:
14039 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14041 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14043 * docs/manual/advanced-dataaccess.xml:
14044 Fix buffer probe example compilation in
14047 2006-06-22 Edward Hervey <edward@fluendo.com>
14049 * gst/gstelement.c: (gst_element_pads_activate):
14050 We need to deactivate src pads first and then sink pads.
14051 The reason is the src pads might be blocking while holding the streaming
14052 lock, so we need to deactivate them first so that deactivating the sink
14053 pads doesn't block (since it will require the streaming lock).
14055 2006-06-22 Wim Taymans <wim@fluendo.com>
14057 * libs/gst/base/gstbasetransform.c:
14058 (gst_base_transform_buffer_alloc):
14059 Forgot to remove two unneeded unrefs.
14060 Simplify a check _is_equal allready checks the obvious case.
14062 2006-06-22 Wim Taymans <wim@fluendo.com>
14064 * docs/design/part-block.txt:
14065 Some docs about what pad_block should do.
14067 2006-06-22 Wim Taymans <wim@fluendo.com>
14069 * gst/gstcaps.c: (gst_caps_replace):
14070 Fix crasher when passed NULL. Doc clarification.
14071 Optimize for the trivial case.
14073 * gst/gstpipeline.c: (gst_pipeline_change_state):
14076 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14077 Small documentation cleanup.
14079 * libs/gst/base/gstbasetransform.c:
14080 (gst_base_transform_buffer_alloc):
14081 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14082 is what we need and it avoids a whole lot of redundant
14083 refcount operations.
14085 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14087 Patch by: Philip Jägenstedt <philip at lysator liu se>
14089 * docs/manual/advanced-dataaccess.xml:
14090 Fix 'Embedding static elements' section to use
14091 GST_PLUGIN_DEFINE_STATIC (#345607).
14093 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14095 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14096 Attempt to 'fix' spuriously failing test case: it seems like the
14097 timeout of half a second is simply too small when the system is under
14098 load otherwise, and the timeout doesn't really seem to serve any
14099 particular purpose here. Give the pipeline a few seconds to preroll
14100 first, and then give it another half a second to go from PAUSED to
14101 PLAYING and marshal the message into the main thread.
14103 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14105 * tools/gst-feedback-m.m:
14106 Don't only use unversioned tools, try versioned tools as well
14109 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14111 * gst/gstbus.c: (gst_bus_class_init):
14112 Fix some typos, make docs more explicit.
14114 2006-06-20 Wim Taymans <wim@fluendo.com>
14116 * tests/check/gst/gstghostpad.c: (block_callback),
14117 (GST_START_TEST), (gst_ghost_pad_suite):
14118 Added some more ghostpad tests, mainly blocking
14121 2006-06-16 Wim Taymans <wim@fluendo.com>
14123 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14124 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14125 (gst_file_sink_event), (gst_file_sink_render):
14126 * plugins/elements/gstfilesink.h:
14127 Check if we can seek in the file instead of assuming
14128 we always can. Post an error when we are asked to seek in a
14129 non-seekable file (like a fifo). Fixes #343312.
14132 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14134 * tools/gst-launch.1.in:
14135 Un-garble (fourcc) bit in filtered caps section.
14137 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14139 * docs/manual/advanced-autoplugging.xml:
14140 * docs/manual/basics-helloworld.xml:
14141 * docs/manual/highlevel-components.xml:
14142 Don't leak bus reference in sample code.
14144 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14147 Add default for new --enable-plugin-docs switch.
14150 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14153 * docs/Makefile.am:
14154 Use new ENABLE_PLUGIN_DOCS conditional.
14156 2006-06-14 Wim Taymans <wim@fluendo.com>
14158 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14159 Make it clear with a FIXME and a real define what the #if 0
14160 previously disabled.
14162 2006-06-14 Wim Taymans <wim@fluendo.com>
14164 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14165 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14166 * libs/gst/base/gstbasetransform.c:
14167 (gst_base_transform_sink_eventfunc):
14168 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14169 Don't randomly and silently reset a segment when the format
14170 changes as this is a bug somewhere upstream. Fixes #330379.
14172 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14174 Patch by: Wouter Paesen <wouter at kangaroot net>
14176 * libs/gst/controller/gstcontroller.c:
14177 (gst_controlled_property_new):
14178 Fix controlling of float properties (#344849).
14180 * tests/check/libs/controller.c:
14181 (gst_test_mono_source_get_property),
14182 (gst_test_mono_source_set_property),
14183 (gst_test_mono_source_class_init), (GST_START_TEST):
14184 While we're at it, add some float stuff to unit test.
14186 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14189 * docs/images/gdp-header.svg:
14191 * docs/libs/Makefile.am:
14192 * docs/libs/gdp-header.png:
14193 * libs/gst/dataprotocol/dataprotocol.c:
14194 add it to the API docs
14195 * docs/manual/intro-motivation.xml:
14198 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14200 * gst/gst.c: (scan_and_update_registry), (init_post):
14201 If the fork()'ed child process can't write the updated registry cache
14202 file to disk for some reason, make it exit with a failure exit code,
14203 so that the parent can then re-scan the plugins itself and update the
14204 registry structures in memory and work with that (rather than failing
14205 when creating elements because seemingly no plugins are available).
14206 Refactor registry scanning code into separate function for this and
14207 also separate fork() and non-fork() code paths. Fixes #344748.
14209 2006-06-13 Wim Taymans <wim@fluendo.com>
14211 * docs/manual/advanced-dataaccess.xml:
14212 Fix wrong PluginDesc. Fixes #344755.
14214 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14216 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14217 Fix silly bug that prevented us from creating
14218 ~/.gstreamer-0.10 and writing the registry in one
14219 go (the first call to g_mkstemp() would overwrite the
14220 placeholder in the template string, so the second call
14221 to g_mkstemp() after creating the missing directory
14222 would then error out with 'invalid argument').
14224 2006-06-13 Edward Hervey <edward@fluendo.com>
14226 * gst/gst.c: (init_post):
14229 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14231 * gst/glib-compat-private.h:
14232 * gst/glib-compat.c:
14233 * gst/glib-compat.h:
14234 * gst/gstvalue.c: (gst_value_serialize_flags):
14235 remove GLib 2.6 compatibility code
14237 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14239 * gst/parse/Makefile.am:
14240 Fix build with 'make -j N' even more (#340016).
14242 2006-06-12 Wim Taymans <wim@fluendo.com>
14244 * docs/gst/gstreamer-sections.txt:
14247 2006-06-12 Wim Taymans <wim@fluendo.com>
14249 * gst/gstsegment.c: (gst_segment_set_duration),
14250 (gst_segment_set_last_stop), (gst_segment_set_seek),
14251 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14252 (gst_segment_to_running_time), (gst_segment_clip):
14253 Use G_UNLIKELY to help the compiler a bit.
14255 2006-06-12 Wim Taymans <wim@fluendo.com>
14257 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14259 * gst/gstevent.c: (gst_event_get_type):
14260 * gst/gstmessage.c:
14261 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14263 constify quark registration strings. Fixes #344115
14264 Avoid unneeded type checking is _pad_push() by internally
14265 calling gst_pad_chain_unchecked().
14267 2006-06-12 Wim Taymans <wim@fluendo.com>
14269 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14270 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14271 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14272 (gst_buffer_is_span_fast), (gst_buffer_span):
14273 Init _type for consistency.
14274 Use _FLAGS macro to avoid type check.
14275 Avoid unneeded type checks in subbufer code.
14277 2006-06-12 Wim Taymans <wim@fluendo.com>
14279 * gst/gst.c: (gst_debug_help):
14280 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14281 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14282 (gst_plugin_feature_list_free):
14283 * gst/gstregistry.c: (gst_registry_add_plugin),
14284 (gst_registry_add_feature), (gst_registry_plugin_filter),
14285 (gst_registry_feature_filter), (gst_registry_find_plugin),
14286 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14287 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14288 * gst/gstregistryxml.c: (load_feature),
14289 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14290 * gst/gstminiobject.c: (gst_mini_object_unref),
14291 (gst_mini_object_replace), (gst_value_mini_object_free),
14292 (gst_value_mini_object_copy):
14293 Use _CAST macros to avoid unneeded type checking.
14294 Added some more G_UNLIKELY.
14296 2006-06-12 Wim Taymans <wim@fluendo.com>
14299 Avoid unneeded type checking.
14300 API: GST_BUFFER_IS_DISCONT
14302 * gst/gstminiobject.h:
14303 Avoid type check in flag accessor.
14305 * gst/gstelementfactory.h:
14307 * gst/gstpluginfeature.h:
14309 API: GST_ELEMENT_FACTORY_CAST
14310 API: GST_PLUGIN_CAST
14311 API: GST_PLUGIN_FEATURE_CAST
14313 2006-06-12 Wim Taymans <wim@fluendo.com>
14315 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14316 (gst_object_unref):
14317 Add G_UNLIKELY in type registration.
14318 Avoid type check in _ref/_unref since that is also
14321 2006-06-12 Wim Taymans <wim@fluendo.com>
14323 * gst/gsterror.c: (gst_g_error_get_type):
14324 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14325 (gst_static_pad_template_get_type):
14326 * gst/gsttaglist.c: (gst_tag_list_get_type):
14327 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14328 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14329 * gst/gsturi.c: (gst_uri_handler_get_type):
14330 * gst/gstvalue.c: (gst_date_get_type):
14331 * gst/gstxml.c: (gst_xml_get_type):
14332 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14333 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14334 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14335 Add G_UNLIKELY in type registration.
14337 2006-06-12 Wim Taymans <wim@fluendo.com>
14339 * tools/gst-inspect.c: (print_signal_info):
14340 Properly print enum values.
14342 2006-06-12 Wim Taymans <wim@fluendo.com>
14344 * gst/gstinfo.c: (gst_debug_set_active),
14345 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14347 Add some G_[UN]LIKELY.
14348 Maintain __gst_debug_min to avoid formatting the arguments of
14349 debug messages that will be dropped anyway to avoid a lot of
14350 overhead from the debugging system.
14352 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14355 * po/POTFILES.skip:
14356 add missing files containing translatable strings, tell intltool about
14359 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14361 * tests/check/libs/.cvsignore:
14362 add test-binary to ignore list
14364 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14366 * docs/libs/gstreamer-libs-docs.sgml:
14367 reorder (put dp into a chapter) and indent
14369 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14374 === release 0.10.8 ===
14376 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14379 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14381 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14383 * gst/gst.c: (init_post):
14384 move pid declaration to declaration block
14386 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14388 * gst/gst.c: (init_post):
14389 use _exit() instead of exit() in our forked child; this ensures
14390 that none of the registered exit handlers from whatever is using
14391 GStreamer get executed. This fixes gnome-mixer-applet failing
14392 to load, because ORBit would shut down.
14393 Spotted by: Edward Hervey <edward@fluendo.com>
14394 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14397 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14402 === release 0.10.7 ===
14404 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14407 releasing 0.10.7, "Soepeke, ik zie ou"
14409 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14432 * win32/common/config.h:
14433 0.10.6.2 prerelease
14435 2006-06-07 Wim Taymans <wim@fluendo.com>
14437 * gst/gstindex.c: (gst_index_gtype_resolver):
14438 * tools/gst-xmlinspect.c: (print_plugin_info):
14439 Fix leak spotted by coverity checker. Fixes #343827
14440 Fix another other leak found by paolo borelli.
14442 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14444 * libs/gst/dataprotocol/dataprotocol.c:
14445 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14446 (gst_dp_version_get_type), (gst_dp_init),
14447 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14448 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14449 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14450 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14451 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14452 (gst_dp_packetizer_free):
14453 * libs/gst/dataprotocol/dataprotocol.h:
14454 API: add a GstDPPacketizer object, and create/free functions
14455 API: add GstDPVersion enum
14456 Add 1.0 event function that uses the string serialization
14457 Serialize more useful buffer flags
14460 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14462 * tests/check/Makefile.am:
14463 * tests/check/gst/gstabi.c:
14464 * tests/check/gst/struct_ppc64.h:
14465 * tests/check/libs/libsabi.c:
14466 * tests/check/libs/struct_ppc64.h:
14467 add ppc64 structure sizes
14469 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14471 * tests/check/Makefile.am:
14472 * tests/check/gst/gstabi.c:
14473 * tests/check/gst/struct_x86_64.h:
14474 * tests/check/libs/libsabi.c:
14475 * tests/check/libs/struct_x86_64.h:
14476 generate and add structure size lists for x86_64
14478 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14480 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14481 * libs/gst/check/gstcheck.h:
14482 factor out the method from tests that checks size of structures,
14483 and add code to generate the header containing these sizes
14484 * tests/check/gst/gstabi.c: (GST_START_TEST):
14485 * tests/check/gst/struct_i386.h:
14486 * tests/check/libs/libsabi.c: (GST_START_TEST):
14487 * tests/check/libs/struct_i386.h:
14490 2006-06-06 Michael Smith <msmith@fluendo.com>
14492 * gst/gstsegment.h:
14493 Don't use c++-style comments, fixes #343929
14495 2006-06-05 Edward Hervey <edward@fluendo.com>
14498 plugin_paths is not used if we build without registry support.
14500 * gst/gstsegment.c: (gst_segment_copy):
14501 _copy() was always returning NULL...
14503 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14505 * libs/gst/dataprotocol/dataprotocol.c:
14506 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14507 (gst_dp_packet_from_event):
14508 factor out CRC code
14510 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14512 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14513 make sure we unset caps
14515 2006-06-02 Michael Smith <msmith@fluendo.com>
14517 * libs/gst/check/gstcheck.c: (gst_check_init),
14518 (gst_check_chain_func):
14519 * libs/gst/check/gstcheck.h:
14520 Add a cond/mutex to the check support lib, signal this whenever we
14521 add to the buffers list. This will allow tests to not busy-wait on
14524 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14526 * libs/gst/dataprotocol/dataprotocol.c:
14527 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14528 (gst_dp_packet_from_event):
14529 factor out some common header init code
14531 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14533 * docs/libs/gstreamer-libs-sections.txt:
14534 * docs/libs/tmpl/gstdataprotocol.sgml:
14535 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14536 * libs/gst/dataprotocol/dataprotocol.h:
14537 API: make gst_dp_crc() public
14539 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14541 * plugins/indexers/gstindexers.c: (plugin_init):
14542 conditionally register fileindexer (fixes #343598)
14544 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14546 * gst/gsttagsetter.h:
14547 Can't cast ifaces to a class
14549 * libs/gst/net/gstnetclientclock.h:
14550 * libs/gst/net/gstnettimeprovider.h:
14551 * plugins/elements/gstfakesink.h:
14552 * plugins/elements/gstfakesrc.h:
14553 * plugins/elements/gstfdsink.h:
14554 * plugins/elements/gstfdsrc.h:
14555 * plugins/elements/gstfilesink.h:
14556 * plugins/elements/gstfilesrc.h:
14557 * plugins/elements/gstidentity.h:
14558 * plugins/elements/gstqueue.h:
14559 * plugins/elements/gsttee.h:
14560 * plugins/indexers/gstfileindex.c:
14561 * plugins/indexers/gstmemindex.c:
14562 * tests/old/examples/plugins/example.h:
14563 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14565 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14567 * libs/gst/dataprotocol/dataprotocol.c:
14568 (gst_dp_header_from_buffer):
14569 make sure we zero the whole ABI-compatible area
14571 2006-06-01 Wim Taymans <wim@fluendo.com>
14573 Patch by: Alessandro Decina <alessandro at nnva dot org>
14575 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14576 Make sure the EOS flag is cleared from pads after a flush
14577 or stop. Fixes #343538.
14579 * tests/check/libs/collectpads.c: (GST_START_TEST),
14580 (gst_collect_pads_suite):
14581 Added test for collectpads reusage after EOS.
14583 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14586 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14587 * win32/common/libgstbase.def:
14588 export gst_collect_pads_set_flushing
14589 * win32/common/libgstreamer.def:
14590 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14591 gst_value_fraction_multiply
14592 * win32/vs6/gst_inspect.dsp:
14593 add a link to intl.lib
14595 2006-05-30 Wim Taymans <wim@fluendo.com>
14597 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14598 (gst_collect_pads_chain):
14599 Handle the case where a pad is removed from the collection
14600 that could cause the other pads to become collectable.
14602 2006-05-30 Wim Taymans <wim@fluendo.com>
14604 * gst/gstelement.c:
14605 Clarify the use of _release_request_pad() and
14606 _get_request_pad() a bit better.
14608 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14609 (gst_adapter_take_buffer):
14610 Fix some doc and comment typos.
14612 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14614 * docs/gst/gstreamer-sections.txt:
14615 * docs/libs/gstreamer-libs-sections.txt:
14616 add declared symbols
14618 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14620 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14621 Add debug that can be enabled using a #define at the top of the file,
14622 for dumping stats about how late/early we were when waking up from
14623 waiting on the clock.
14625 2006-05-30 Wim Taymans <wim@fluendo.com>
14627 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14628 When rebuilding the pad list, don't leak the previous list.
14630 2006-05-30 Wim Taymans <wim@fluendo.com>
14632 Patch by: Lutz Mueller <lutz at topfrose dot de>
14634 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14635 (gst_base_src_get_query_types), (gst_base_src_update_length):
14636 Publish supported query types.
14637 Update last_stop field in get_range mode so the position
14638 query works. Fixes #342321.
14640 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14642 * docs/gst/gstreamer-sections.txt:
14643 * gst/gsttaglist.c: (_gst_tag_initialize):
14644 * gst/gsttaglist.h:
14645 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14647 2006-05-30 Wim Taymans <wim@fluendo.com>
14649 Patch by: Alessandro Decina <alessandro at nnva dot org>
14651 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14652 Unlock mutex when removing an unknown pad.
14655 * tests/check/Makefile.am:
14656 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14657 (push_event), (setup), (teardown), (GST_START_TEST),
14658 (gst_collect_pads_suite), (main):
14659 Added collecpads check, disabled for now as check crashes for
14662 2006-05-29 Wim Taymans <wim@fluendo.com>
14664 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14665 Don't leak pads lists.
14667 2006-05-29 Wim Taymans <wim@fluendo.com>
14669 * docs/libs/gstreamer-libs-sections.txt:
14670 * libs/gst/base/gstcollectpads.c:
14671 (gst_collect_pads_set_flushing_unlocked),
14672 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14673 (gst_collect_pads_stop):
14674 * libs/gst/base/gstcollectpads.h:
14675 API: gst_collect_pads_set_flushing()
14676 Added api to set the pads to flushing, useful for seeking
14677 code in elements using collectpads.
14678 Clear segment when receiving a flush.
14680 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14682 * gst/gst.c: (add_path_func), (init_post):
14683 Don't scan registry paths passed via --gst-plugin-path immediately
14684 (will crash, because absolutely nothing is set up and no types are
14685 registered etc.); do this later in init_post(). Fixes #343057.
14687 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14689 * gst/gst.c: (init_post):
14690 if we have fork, fork while reading/rebuilding the registry
14691 so the parent doesn't take the hit of having all plugins loaded
14692 in memory. Fixes #342777.
14694 Check if we have fork()
14695 * win32/common/config.h.in:
14698 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14700 * plugins/elements/gstelements.c:
14701 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14702 (gst_file_src_init), (gst_file_src_set_property),
14703 (gst_file_src_get_property), (gst_file_src_start):
14704 * plugins/elements/gstfilesrc.h:
14705 API: GstFileSrc::use-mmap
14707 Add a use-mmap property to enable easier testing of all code paths.
14708 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14709 in the absence of gnomevfssrc. (Closes #340501)
14711 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14713 * tools/gst-inspect.c:
14714 Add missing include, removes warning of ngettext not being defined on
14717 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14719 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14720 Handle NULL input and output pointers silently as a failed conversion,
14721 rather than g_warnings.
14723 2006-05-25 Wim Taymans <wim@fluendo.com>
14725 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14726 Initialize variable before using. Fixes #342820.
14728 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14730 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14731 Fix off-by-one bug that would only allow peeks of N-1 bytes
14732 from the start even if the buffer to typefind on contains
14733 in fact N bytes of data (makes vorbis typefinding from a
14734 vorbis identification header buffer work).
14736 * tests/check/Makefile.am:
14737 * tests/check/libs/.cvsignore:
14738 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14739 (gst_typefindhelper_suite), (main), (foobar_typefind),
14741 Add very basic unit test for gst_type_find_helper_for_buffer()
14742 that checks for the problem fixed above.
14744 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14746 * tools/gst-inspect.c: (print_interfaces),
14747 (print_element_properties_info), (print_element_list), (main):
14748 add more translatable strings
14750 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14752 Patch by: Julien Moutte <julien at moutte net>
14754 * docs/gst/gstreamer-sections.txt:
14755 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14757 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14758 (gst_fake_sink_preroll):
14759 * plugins/elements/gstfakesink.h:
14760 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14762 2006-05-23 Wim Taymans <wim@fluendo.com>
14764 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14766 Added _CUSTOM error and success GstFlowReturn that can be
14767 used be elements internally.
14768 Added macro to check for SUCCESS flowreturns.
14769 API: GST_FLOW_CUSTOM_SUCCESS
14770 API: GST_FLOW_CUSTOM_ERROR
14771 API: GST_FLOW_IS_SUCCESS
14773 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14774 Added check for GstFlowReturn sanity.
14776 2006-05-23 Wim Taymans <wim@fluendo.com>
14778 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14780 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14781 (gst_collect_pads_event):
14782 clear/reset segment info in FLUSH_STOP.
14785 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14787 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14788 (gst_collect_pads_check_collected):
14789 Flush queued buffer on _stop(), fixes playing again (#342454)
14791 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14793 * tests/check/gst/gststructure.c: (GST_START_TEST),
14794 (gst_structure_suite):
14795 add a test for a complete structure
14797 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14799 * docs/faq/developing.xml:
14800 * docs/faq/faq.xml:
14801 * docs/faq/troubleshooting.xml:
14802 * docs/faq/using.xml:
14803 Some minor FAQ updates that won't change the fact that
14804 our FAQ is badly structured, full of information hardly
14805 anyone new to GStreamer needs to know and lacking lots
14806 of information people constantly ask for.
14808 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14810 * gst/gstpad.c: (gst_pad_set_caps):
14811 Short-circuit gst_pad_set_caps if setting the existing
14812 caps pointer again, and avoid printing debug and
14813 reffing/unreffing the caps.
14815 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14816 There's actually no need to set the caps before pushing -
14817 the acceptcaps method will handle it anyway.
14819 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14821 * docs/gst/gstreamer-sections.txt:
14822 * win32/common/libgstreamer.def:
14823 * gst/gstutils.c: (gst_element_seek_simple):
14825 API: add gst_element_seek_simple() (#342238).
14827 2006-05-18 Edward Hervey <edward@fluendo.com>
14829 * gst/gsttypefind.c: (gst_type_find_get_type):
14830 * gst/gsttypefind.h:
14831 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14832 registered for GstTypeFind pointers. This allows wrapping the structure
14833 in bindings (i.e. gst-python).
14835 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14837 * gst/gsttagsetter.c:
14838 Docs additions and fixes (see #339918).
14840 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14842 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14843 The caps intersection algorithm can produce multiple copies of the
14844 caps. Until that is fixed, we need to simplify the result to be
14845 sure whether the allowed caps are fixed or not.
14847 * plugins/elements/gstqueue.c: (gst_queue_init),
14848 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14849 (gst_queue_push_one):
14850 Proxied buffer alloc should not set the caps on the source pad.
14851 When pushing buffers, we always accept the caps change that triggers.
14852 This prevents negotiation errors caused by caps changing mid-stream
14853 and then being refused on our source pad (because upstream is now
14854 refusing those caps).
14856 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14858 * tests/examples/helloworld/helloworld.c: (main):
14859 Must plug audioconvert and audioresample between decoder
14862 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14864 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14865 (load_feature), (load_plugin):
14866 Allow empty strings for some of the plugin fields so we don't
14867 drop valid plugin entries that were written out correctly
14870 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14872 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14873 Use g_remove and g_rename instead of remove and rename that don't
14874 handle utf8 characters. rename was failing for users who had specific
14875 characters in their name then the registry was built at each
14877 * win32/vs6/gst_inspect.dsp:
14878 * win32/vs6/gst_launch.dsp:
14879 * win32/vs6/libgstbase.dsp:
14880 * win32/vs6/libgstcoreelements.dsp:
14881 * win32/vs6/libgstreamer.dsp:
14882 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14883 build of libgstreamer and clean unused libraries in projects link
14886 2006-05-17 Edward Hervey <edward@fluendo.com>
14888 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14889 The queue is not responsible for pushing an EOS when receiving a fatal
14890 flow error. It's up to the real element driving the pipeline to do that.
14892 2006-05-16 Edward Hervey <edward@fluendo.com>
14894 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14895 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14896 buffer returned a fatal error. It should just send an EOS and stop
14898 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14899 when pushing buffers on the queue and will be able to handle the event.
14901 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14903 * docs/manual/basics-bins.xml:
14904 * docs/manual/basics-init.xml:
14905 Fix typos and minor errors in sample code (#341856).
14907 2006-05-16 Wim Taymans <wim@fluendo.com>
14909 * docs/design/part-qos.txt:
14910 Fix indexes in formulas to make more sense.
14912 2006-05-15 Wim Taymans <wim@fluendo.com>
14914 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14915 Don't report POSITION based on clock time if sync is
14916 disabled in a sink.
14918 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14921 Add cast to make compiler happy - refcount variable was a gint
14922 in GstObject but is a guint in GObject and g_atomic_int_get()
14925 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14927 * gst/parse/Makefile.am:
14928 chain commands using &&, which also makes parallel make work
14930 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14932 * docs/gst/gstreamer-sections.txt:
14935 * gst/gstmessage.h:
14938 === release 0.10.6 ===
14940 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14943 releasing 0.10.6, "Take the cannoli"
14945 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14947 * tools/gst-launch.c: (print_tag):
14948 Fix use of uninitialized variable in the hypothetical
14949 case that some broken plugin creates a GST_TAG_IMAGE
14950 tag containing a NULL buffer (#341667).
14952 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
14954 * tools/gst-launch.c: (print_tag):
14955 Print something more intelligible for image tags when
14956 using the -t switch (#341556).
14958 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
14963 define GST_MAJORMINOR so we have it available in win32/common/config.h
14964 Possibly remove it from our Makefile.am files later
14965 * win32/common/config.h:
14966 * win32/common/config.h.in:
14967 added GST_MAJORMINOR
14968 * win32/common/gstenumtypes.c: (register_gst_resource_error):
14969 * win32/common/gstversion.h:
14972 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
14975 Update win32 files listing.
14976 * win32/common/gstversion.h:
14977 Add GST_MAJORMINOR definition.
14978 * win32/common/libgstreamer.def:
14979 Add new exported functions.
14981 2006-05-12 Michael Smith <msmith@fluendo.com>
14983 * gst/gstplugin.c: (gst_plugin_load_file):
14984 If an so file has no plugin entry point, unload the module.
14986 2006-05-11 Wim Taymans <wim@fluendo.com>
14988 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14989 (gst_queue_set_property):
14990 Don't forget to signal the _chain or _loop function
14991 when the queue size or thresholds change since that might
14992 cause them to make progres again.
14994 2006-05-11 Stefan Kost <ensonic@users.sf.net>
14996 * gst/gstclock.c: (gst_clock_class_init):
14997 * gst/gstindex.c: (gst_index_class_init):
14998 * gst/gstobject.c: (gst_object_class_init):
14999 * gst/gstpad.c: (gst_pad_class_init):
15000 * gst/gstpipeline.c: (gst_pipeline_class_init):
15001 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15002 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15003 * libs/gst/base/gstbasetransform.c:
15004 (gst_base_transform_class_init):
15005 * libs/gst/net/gstnetclientclock.c:
15006 (gst_net_client_clock_class_init):
15007 * libs/gst/net/gstnettimeprovider.c:
15008 (gst_net_time_provider_class_init):
15009 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15010 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15011 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15012 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15013 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15014 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15015 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15016 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15017 * plugins/elements/gsttee.c: (gst_tee_class_init):
15018 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15019 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15020 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15022 2006-05-11 Wim Taymans <wim@fluendo.com>
15024 * gst/gstbuffer.c: (_gst_buffer_initialize):
15025 Register subbufer along with the buffer type so that
15026 it does not accidentally gets registered from N
15027 different streaming threads in a non threadsafe way.
15029 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15033 * gst/gstmessage.h:
15034 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15035 gst_event_ref() and gst_message_ref() functions again
15036 (ugly hack, please do fix if there's a better way besides
15037 overrides.txt, which doesn't seem to work).
15039 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15041 * libs/gst/check/gstcheck.h:
15042 add an assert for setting state to avoid lots of repetitive code
15045 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15047 * gst/gstvalue.c: (gst_value_serialize_flags):
15048 fix a leak if no flags are set
15049 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15052 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15054 * docs/manual/basics-pads.xml:
15055 Expand a bit on caps and filtered links and update
15056 examples that were still using the no longer existing
15057 gst_pad_link_filtered() (#338206).
15059 2006-05-10 Wim Taymans <wim@fluendo.com>
15061 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15062 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15063 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15064 (gst_collect_pads_stop):
15065 * libs/gst/base/gstcollectpads.h:
15066 No need to call _stop in _finalize.
15067 Iterate the main pad list in _finalize.
15068 Added some more debug.
15069 Free lists and data in the right order.
15070 Also free data whem doing _remove_pad when stopped for
15071 backward compatibility protect ::started with PAD_LOCK as
15074 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15076 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15077 (gst_structure_parse_value):
15079 rename a method so that it actually says what it does better
15081 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15083 * gst/gstevent.c: (_gst_event_initialize):
15084 * gst/gstformat.c: (_gst_format_initialize):
15085 make sure some essential types used by events are registered
15086 as part of gst_init()
15087 * gst/gstvalue.c: (gst_value_serialize_flags):
15088 if no flags are set, serialize them to a value that represents NONE
15089 so that deserializing them works
15090 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15091 add tests for serialization and deserialization of flags
15093 2006-05-10 Wim Taymans <wim@fluendo.com>
15095 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15096 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15097 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15098 (gst_collect_pads_event), (gst_collect_pads_chain):
15101 Catch and return errors from the collect function
15102 Refuse data on eos pads.
15104 2006-05-10 Edward Hervey <edward@fluendo.com>
15106 * gst/gstinterface.h:
15107 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15108 GInterface type checking.
15109 They were previously using non-defined macros.
15111 2006-05-09 Wim Taymans <wim@fluendo.com>
15113 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15114 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15115 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15116 (gst_collect_pads_start), (gst_collect_pads_stop),
15117 (gst_collect_pads_peek), (gst_collect_pads_pop),
15118 (gst_collect_pads_available), (gst_collect_pads_read),
15119 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15120 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15121 (gst_collect_pads_chain):
15122 * libs/gst/base/gstcollectpads.h:
15123 Clean up the mess that is collectpads, add comments and
15124 FIXMEs where needed.
15125 Maintain a separate pad list so we can add pads while
15126 collecting the other ones. For this we need a new separate
15128 Fix memory leak in finalize.
15129 Refactor some weird code to set/unset pad flushing flags, mark
15131 Don't crash in _available, _read, _flush when we're EOS.
15133 * tests/check/libs/.cvsignore:
15134 Ignore adapter check binary.
15136 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15138 * gst/gstindex.c: (gst_index_resolver_get_type):
15139 * plugins/elements/gstfakesink.c:
15140 (gst_fake_sink_state_error_get_type):
15141 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15142 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15143 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15144 Const-ify GEnumValue arrays.
15146 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15148 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15149 Add test case for flags + gst_buffer_make_metadata_writable().
15151 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15153 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15154 gst_buffer_make_metadata_writable() should maintain the
15155 buffer flags (those that make sense at least) (see #340859).
15157 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15159 * tools/gst-inspect.c:
15160 * tools/gst-launch.c:
15161 * tools/gst-typefind.c:
15162 * tools/gst-xmlinspect.c:
15164 Fix up includes: need to include stdlib.h in tools.h for exit().
15166 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15168 * gst/gsttaglist.c: (_gst_tag_initialize):
15169 * gst/gsttaglist.h:
15170 API: add GST_TAG_IMAGE tag (#340721).
15172 2006-05-08 Wim Taymans <wim@fluendo.com>
15175 Added some docs for the segment query.
15177 2006-05-08 Wim Taymans <wim@fluendo.com>
15179 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15180 (gst_base_src_loop), (gst_base_src_change_state):
15181 Always push non-flushing serialized events in the streaming
15184 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15186 * gst/gsterror.c: (_gst_stream_errors_init):
15187 Add a missing error string.
15189 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15191 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15192 Add applied_rate to the debug
15194 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15195 Copy applied_rate into the outgoing NEWSEGMENT event
15197 2006-05-08 Wim Taymans <wim@fluendo.com>
15199 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15201 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15202 (gst_base_sink_change_state):
15203 call ::unlock before taking the PREROLL_LOCK so we can safely
15204 handle elements that lock in ::render.
15207 2006-05-08 Edward Hervey <edward@fluendo.com>
15209 * autogen.sh: (CONFIGURE_DEF_OPT):
15210 Darwin's libtoolize is in fact called glibtoolize.
15211 Adding glibtoolize to the list of accepted names for libtoolize.
15213 2006-05-08 Wim Taymans <wim@fluendo.com>
15215 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15216 Unify error handling, don't post an error message
15217 when a push() returns EOS but perform our normal EOS
15218 handling code. Fixes #340772.
15220 2006-05-08 Wim Taymans <wim@fluendo.com>
15222 * docs/design/part-overview.txt:
15223 Make upsteam/downstream concepts more clear.
15224 Give an example of serialized/non-serialized events.
15226 * docs/design/part-events.txt:
15227 * docs/design/part-streams.txt:
15228 Mention applied_rate.
15230 * docs/design/part-trickmodes.txt:
15231 Mention applied rate, flesh out some more use cases.
15233 * gst/gstevent.c: (gst_event_new_new_segment),
15234 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15235 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15236 (gst_event_parse_tag), (gst_event_new_buffer_size),
15237 (gst_event_parse_buffer_size), (gst_event_new_qos),
15238 (gst_event_parse_qos), (gst_event_parse_seek),
15239 (gst_event_new_navigation):
15241 Add applied_rate field to NEWSEGMENT event.
15242 API: gst_event_new_new_segment_full()
15243 API: gst_event_parse_new_segment_full()
15245 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15246 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15247 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15248 * gst/gstsegment.h:
15249 Add applied_rate to GstSegment structure.
15250 Make calculation of stream_time and running_time more correct
15251 wrt rate/applied_rate.
15252 Add some more docs.
15253 API: GstSegment::applied_rate field
15254 API: gst_segment_set_newsegment_full();
15256 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15257 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15258 * libs/gst/base/gstbasetransform.c:
15259 (gst_base_transform_sink_eventfunc),
15260 (gst_base_transform_handle_buffer):
15261 Parse and use applied_rate in the GstSegment field.
15263 * tests/check/gst/gstevent.c: (GST_START_TEST):
15264 Add check for applied_rate field.
15266 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15267 (gstsegments_suite):
15268 Add more checks for various GstSegment operations.
15270 2006-05-08 Wim Taymans <wim@fluendo.com>
15272 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15273 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15274 (gst_base_sink_get_position), (gst_base_sink_change_state):
15275 Store the sync time of the buffer end position separatly in a
15276 new variable eos_rtime so we can properly sync the EOS event.
15278 Fix the docs for gst_base_sink_set_qos_enabled().
15279 Don't set segment start to invalid value when we receive a
15280 non TIME newsegment.
15281 get closer to handling position reporting for negative rates
15284 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15287 Docs about how to print caps for debug purposes.
15289 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15290 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15292 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15294 * gst/gstelement.c:
15295 use full enum names and preprend a '%' in docs strings to make recent
15296 gtk-doc turn that into a link
15298 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15300 * docs/manual/basics-bins.xml:
15301 * docs/manual/basics-bus.xml:
15302 * docs/manual/basics-pads.xml:
15303 Some typo fixes, some additions, some clarifications.
15305 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15307 * tools/gst-inspect.c: (main):
15308 * tools/gst-launch.c: (main):
15309 * tools/gst-run.c: (main):
15310 * tools/gst-typefind.c: (main):
15311 * tools/gst-xmlinspect.c: (main):
15312 Use the string passed to g_option_context_new() for
15313 what it's intended for - the program name is already
15316 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15318 * tools/Makefile.am:
15319 * tools/gst-inspect.c: (main):
15320 * tools/gst-launch.c: (main):
15321 * tools/gst-xmlinspect.c: (main):
15323 Add back --version command line option (#340460).
15325 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15326 Add --version option and use GOption for argument parsing; refactor a
15327 bit; accept directories as arguments and recurse into them; lastly,
15328 print a decent error message when things go wrong.
15330 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15332 * docs/manual/basics-bins.xml:
15333 Don't mention GstThread (#340611)
15334 * docs/manual/basics-elements.xml:
15335 Update link to GObject tutorial (#340607)
15337 2006-05-05 Wim Taymans <wim@fluendo.com>
15340 * gst/gstminiobject.c:
15341 Add note about refcounting and miniobject/buffer writeability
15342 to docs. Fixes #340604
15344 * gst/gstelementfactory.h:
15345 Added some explanation about @klass.
15347 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15349 * docs/manual/intro-motivation.xml:
15350 * docs/manual/manual.xml:
15351 Avoid CORBA & Bonobo references (#340598)
15353 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15355 * docs/manual/basics-bus.xml:
15356 * docs/manual/basics-pads.xml:
15357 Fix up some inaccuracies and omissions (#340609)
15359 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15361 * gst/gstghostpad.c:
15362 Small typo in docs (#340625)
15364 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15366 * gst/parse/Makefile.am:
15367 Make 'make -j' proof (see #340698).
15369 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15372 Require GLib-2.8 here as well.
15374 2006-05-05 Wim Taymans <wim@fluendo.com>
15376 * gst/glib-compat.c:
15377 * gst/gst.c: (init_pre):
15378 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15379 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15380 (gst_object_dispatch_properties_changed):
15382 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15383 * gst/gststructure.c: (gst_structure_set_valist):
15384 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15385 Remove pre glib2.8 compatibility, fixes #340508
15387 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15389 * gst/gsttaglist.h:
15390 Mention type of tags in doc blurbs.
15392 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15394 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15395 (gst_pad_configure_src), (gst_pad_push):
15396 Restore acceptcaps checking behaviour now that good plugins have
15399 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15401 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15408 * gst/gstmessage.c:
15412 * gst/parse/Makefile.am:
15413 * libs/gst/base/gstadapter.c:
15414 * libs/gst/base/gstbasesrc.c:
15415 * libs/gst/base/gstpushsrc.c:
15416 * libs/gst/base/gsttypefindhelper.c:
15417 * plugins/elements/gstfakesrc.c:
15418 * plugins/elements/gstidentity.c:
15419 Make sure gstprivate.h and/or config.h are
15420 always included first, otherwise some of our
15421 defines (like _FILE_OFFSET_BITS) might be
15422 redefined in the system headers. Fixes build
15423 on opensolaris (#340016).
15425 2006-05-04 Wim Taymans <wim@fluendo.com>
15427 * docs/libs/gstreamer-libs-sections.txt:
15428 API: addition: gst_adapter_take_buffer()
15430 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15431 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15432 (gst_adapter_available_fast):
15433 * libs/gst/base/gstadapter.h:
15434 Prepare for optimizing the hell out of this hugely inefficient
15436 Added gst_adapter_take_buffer() so we can at least start thinking
15437 about subbuffering and merging.
15438 Added some comments.
15440 * tests/check/Makefile.am:
15441 * tests/check/libs/adapter.c: (GST_START_TEST),
15442 (gst_adapter_suite), (main):
15443 Added GstAdapter check.
15445 2006-05-04 Wim Taymans <wim@fluendo.com>
15447 * docs/design/part-overview.txt:
15448 Fix some typos, add blurb about buffer flags.
15450 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15452 * docs/libs/gstreamer-libs-sections.txt:
15453 make sure GstBaseTransformClass shows up in the docs
15454 * libs/gst/base/gstbasetransform.c:
15455 * libs/gst/base/gstbasetransform.h:
15456 move docs so gtk-doc picks it up now
15458 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15460 * docs/libs/gstreamer-libs-sections.txt:
15461 add missing symbols to docs
15463 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15465 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15466 back out the newsegment handling change, see #340060 for ongoing
15469 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15471 * tools/gst-run.c: (get_candidates), (main):
15472 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15473 work); fix typo in error message. Fixes #340079.
15475 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15477 * common/Makefile.am:
15478 * docs/Makefile.am:
15479 * docs/faq/Makefile.am:
15480 * docs/gst/Makefile.am:
15481 * docs/libs/Makefile.am:
15482 * docs/manual/Makefile.am:
15483 * docs/plugins/Makefile.am:
15484 * docs/pwg/Makefile.am:
15485 * docs/slides/Makefile.am:
15487 * common/upload.mak:
15488 move upload.mak to common
15490 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15492 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15493 add more asserts on refcounts
15494 do more cleanup at end of tests
15495 fix test leaks showing in FC5
15497 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15499 * plugins/elements/gsttypefindelement.c:
15500 (gst_type_find_element_handle_event):
15501 reverted wrong change and reflowed code to avoid others falling into
15504 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15506 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15507 fix changelog entry about last collectpads change,
15508 add notes about proper fix
15510 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15513 * gst/gstregistry.c: (gst_registry_scan_path_level),
15514 (gst_registry_scan_path):
15515 * gst/gstregistry.h:
15516 only write out registry if it has changed, fixes #338339
15518 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15521 * gst/gstpipeline.c:
15522 * plugins/elements/gstcapsfilter.c:
15523 * plugins/elements/gstfakesink.c:
15524 * plugins/elements/gstfakesrc.c:
15525 * plugins/elements/gstfdsink.c:
15526 * plugins/elements/gstfdsrc.c:
15527 * plugins/elements/gstfilesink.c:
15528 * plugins/elements/gstfilesrc.c:
15529 * plugins/elements/gstidentity.c:
15530 * plugins/elements/gstqueue.c:
15531 * plugins/elements/gsttee.c:
15532 * plugins/elements/gsttypefindelement.c:
15533 (gst_type_find_element_handle_event):
15534 make GstElementDetails const
15536 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15538 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15539 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15540 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15541 more detailed debug and formatting cleanup,
15542 forward newsegments to src-pad (so that e.g. adder not eats them)
15544 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15546 * gst/gstutils.c: (gst_element_link_pads):
15547 cleanup double code
15549 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15551 * libs/gst/controller/gstcontroller.c:
15552 (gst_controller_sync_values):
15554 * tests/check/libs/controller.c: (GST_START_TEST),
15555 (gst_controller_suite):
15556 a new test for live value handling
15558 2006-04-28 Wim Taymans <wim@fluendo.com>
15560 * gst/gstutils.c: (push_and_ref):
15561 Added some more docs.
15562 Fix refcount issue whith gst_element_found_tags() helper
15563 function. Fixes #338335
15565 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15566 Added testsuite for gst_element_found_tags().
15568 2006-04-28 Michael Smith <msmith@fluendo.com>
15570 * gst/gstvalue.c: (gst_value_serialize_flags):
15571 Avoid NULL dereference when trying to serialize flags containing
15574 2006-04-28 Michael Smith <msmith@fluendo.com>
15576 * plugins/elements/gsttypefindelement.c:
15577 (gst_type_find_element_handle_event):
15578 If we get EOS before any data is accumulated, don't use
15579 uninitialised local variables.
15581 2006-04-28 Michael Smith <msmith@fluendo.com>
15583 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15584 (gst_dp_event_from_packet):
15585 Fixes in reading/writing events over GDP (not currently used?) -
15586 dereferencing NULL events for unknown/invalid event types, memory
15587 leak, and change g_warning to GST_WARNING.
15589 2006-04-28 Wim Taymans <wim@fluendo.com>
15591 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15592 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15593 (gst_base_sink_get_position), (gst_base_sink_change_state):
15594 When frame dropping is enabled, we should not ignore frames
15595 without a duration.
15596 Update some documentation.
15598 2006-04-28 Wim Taymans <wim@fluendo.com>
15600 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15601 (gst_base_src_send_event), (gst_base_src_change_state):
15602 Documentation updates.
15604 2006-04-28 Wim Taymans <wim@fluendo.com>
15606 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15607 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15608 handle EAGAIN, EINTR and short writes correctly. Also clean
15609 up some error cases, avoid a deadlock on bad file descriptors and
15610 use GST_DEBUG_OBJECT.
15613 2006-04-28 Wim Taymans <wim@fluendo.com>
15615 * gst/gstvalue.c: (gst_value_serialize_buffer),
15616 (gst_value_deserialize_buffer):
15617 Don't try to serialize a GValue with a NULL buffer.
15620 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15621 Added check for serialisation of NULL buffers.
15623 2006-04-28 Wim Taymans <wim@fluendo.com>
15625 * gst/gstminiobject.c: (gst_value_take_mini_object):
15626 Taking a NULL miniobject is valid, fix the case where
15627 we try to unref the NULL miniobject.
15629 2006-04-28 Wim Taymans <wim@fluendo.com>
15631 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15633 * gst/gstbin.c: (gst_bin_handle_message_func):
15635 Don't leak bin refcount when a state recalc is
15636 in progress and we delay another one #339808.
15638 2006-04-28 Wim Taymans <wim@fluendo.com>
15640 * docs/design/part-TODO.txt:
15641 Mention QoS as an ongoing work item.
15643 * docs/design/part-buffering.txt:
15644 New doc about buffering that needs to be fleshed out
15647 * docs/design/part-qos.txt:
15648 More QoS policy for decoders/demuxers/transforms
15650 * docs/design/part-trickmodes.txt:
15653 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15658 === release 0.10.5 ===
15660 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15663 releasing 0.10.5, "Fogo"
15665 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15667 patch by: Wim Taymans
15669 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15670 (gst_pad_configure_src), (gst_pad_push):
15671 * gst/gstpipeline.c: (gst_pipeline_init):
15672 Fix internal data flow errors. Fixes #338711.
15674 2006-04-12 Wim Taymans <wim@fluendo.com>
15676 * tests/check/gst/gstelement.c: (GST_START_TEST):
15677 Don't leak the factory.
15679 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15682 * win32/common/config.h:
15685 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15687 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15688 (gst_controller_unset_all):
15689 Free allocated GstTimedValues when freeing list nodes.
15690 Should fix leaks 'make check-valgrind' complains about.
15692 * win32/common/libgstcontroller.def:
15693 Add gst_controller_unset_all.
15695 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15697 * docs/libs/gstreamer-libs-sections.txt:
15698 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15699 (gst_controller_unset_all):
15700 * libs/gst/controller/gstcontroller.h:
15701 API: Added new method gst_controller_unset_all()
15702 fixed gst_controller_unset()
15703 * tests/check/libs/controller.c: (GST_START_TEST),
15704 (gst_controller_suite):
15705 Added two testcases for new and fixed method
15707 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15709 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15710 MSG_DONTWAIT is not defined on Cygwin, so work
15711 around that (fixes #317048).
15713 2006-04-11 Wim Taymans <wim@fluendo.com>
15715 * gst/gstelementfactory.c: (gst_element_register),
15716 (gst_element_factory_create), (gst_element_factory_make):
15719 Updated docs (Fixes #131079)
15721 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15724 * tests/check/gst/gstelement.c: (GST_START_TEST),
15725 (gst_element_suite):
15726 Added testcase for elementfactory class field.
15728 2006-04-10 Wim Taymans <wim@fluendo.com>
15730 * gst/gstsegment.c:
15731 Added some more docs.
15733 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15734 (gst_base_sink_reset_qos):
15735 Calculate more accurate rate values.
15737 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15739 * gst/gst_private.h:
15740 add a new #ifdef to use __declspec(dllimport) only for
15741 other modules and not for gstreamer core
15742 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15743 use gst_guint64_to_gdouble for conversion
15744 * win32/common/libgstreamer.def:
15745 add new exported functions
15746 * win32/vs6/gst_inspect.dsp:
15747 * win32/vs6/gst_launch.dsp:
15748 * win32/vs6/libgstbase.dsp:
15749 * win32/vs6/libgstcontroller.dsp:
15750 * win32/vs6/libgstcoreelements.dsp:
15751 * win32/vs6/libgstdataprotocol.dsp:
15752 * win32/vs6/libgstnet.dsp:
15753 update project files
15755 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15757 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15758 * gst/gstclock.c: (gst_clock_class_init):
15759 * gst/gstelement.c: (gst_element_class_init):
15760 * gst/gstindex.c: (gst_index_class_init):
15761 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15762 * gst/gstobject.c: (gst_object_class_init),
15763 (gst_signal_object_class_init):
15764 * gst/gstpad.c: (gst_pad_class_init):
15765 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15766 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15767 * gst/gstregistry.c: (gst_registry_class_init):
15768 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15769 * gst/gsttask.c: (gst_task_class_init):
15770 * gst/gstxml.c: (gst_xml_class_init):
15771 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15772 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15773 (gst_base_src_loop):
15774 * libs/gst/controller/gstcontroller.c:/
15775 (_gst_controller_class_init):
15776 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15777 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15778 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15779 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15780 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15781 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15783 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15785 * gst/gstpad.c: (gst_pad_link):
15786 Must set peer pads before calling the link function, otherwise
15787 a task started from a link function might get a flow-not-linked
15788 result when trying to push because the other thread where the
15789 linking happens hasn't had a chance to set the peers yet. This
15790 might happen for example when a queue gets linked to a downstream
15791 element, as queue starts a streaming task when its source pad
15792 gets linked. Happens in real life when playing back flac/musepack
15793 files in playbin (#332390).
15795 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15799 * libs/gst/base/gstadapter.h:
15800 * libs/gst/base/gstbasesink.h:
15801 * libs/gst/base/gstbasesrc.h:
15802 * libs/gst/base/gstbasetransform.h:
15803 * libs/gst/base/gstcollectpads.h:
15804 * libs/gst/base/gstpushsrc.h:
15805 Fix broken GObject macros
15807 2006-04-07 Wim Taymans <wim@fluendo.com>
15809 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15810 Initialize start and stop times, thanks valgrind.
15812 2006-04-07 Wim Taymans <wim@fluendo.com>
15814 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15815 Be a bit nicer to badly behaving upstream elements that expect
15816 us to deal with non TIME segments and timestamps (such as fakesrc
15819 2006-04-07 Wim Taymans <wim@fluendo.com>
15822 Small documentation clarification about the signal watch.
15824 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15825 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15826 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15827 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15828 (gst_base_sink_get_position_last),
15829 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15830 Convert and store timestamps in stream time and running time, the
15831 raw timestamps are not useful, also document this better.
15832 Use different window sizes for good and bad QoS observations so
15833 we react to badness a little quicker.
15834 Keep track of the amount of rendered and dropped buffers.
15835 Send QoS timestamps in running time.
15837 * libs/gst/base/gstbasetransform.c:
15838 (gst_base_transform_sink_eventfunc),
15839 (gst_base_transform_handle_buffer):
15840 Compare QoS timestamps against running time.
15842 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15845 Typo fixes in docs.
15847 2006-04-06 Michael Smith <msmith@fluendo.com>
15849 * gst/gstpad.c: (gst_pad_set_property):
15850 Use g_value_get_object() instead of g_value_dup_gst_object(),
15851 to avoid double-reffing the pad template (which we then sink,
15852 so this worked previously if (and only if) the pad template
15855 * gst/gstpadtemplate.c: (gst_pad_template_init),
15856 (gst_pad_template_pad_created):
15857 Never return floating references to pad templates, create
15858 them as initially-sunken.
15860 Document an extra function (and make this stop sinking our
15861 pad template, since that is now guaranteed to do nothing,
15862 since we created it sunken).
15864 * gst/gstghostpad.c:
15867 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15869 * gst/gstinfo.c: (__gst_in_valgrind):
15872 * plugins/elements/gsttypefindelement.c:
15873 (gst_type_find_element_chain):
15874 Don't leak buffer caps.
15876 2006-04-06 Michael Smith <msmith@fluendo.com>
15878 * gst/parse/grammar.y:
15879 Fix a leak in parse-launch for any source-or-sink named element
15882 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15883 Unref the pipeline if it exists after we've failed parsing.
15885 2006-04-05 Michael Smith <msmith@fluendo.com>
15887 * gst/gstpipeline.c: (gst_pipeline_init):
15888 When we create a pipeline bus, initially create it in flushing mode.
15889 Fixes leaks in at least one test, and makes a new pipeline work the
15890 same as one that has gone to READY and then back to NULL.
15892 * gst/gstelement.c:
15895 2006-04-05 Michael Smith <msmith@fluendo.com>
15897 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15898 Unref a pad we reffed.
15899 * tests/check/gst/gstutils.c: (GST_START_TEST):
15902 2006-04-05 Michael Smith <msmith@fluendo.com>
15904 * gst/gstquery.c: (gst_query_set_formats),
15905 (gst_query_set_formatsv):
15906 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15908 2006-04-05 Michael Smith <msmith@fluendo.com>
15910 * tests/check/generic/sinks.c: (GST_START_TEST):
15911 Fix a variety of memleaks in sinks check, which are only sometimes
15912 shown by running the tests under valgrind (weird?).
15914 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15916 * docs/version.entities.in:
15917 Fix the substituted entity name after thomas' changes on the
15920 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15922 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15925 2006-04-05 Andy Wingo <wingo@pobox.com>
15927 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15929 * libs/gst/base/gstbasetransform.c
15930 (gst_base_transform_sink_eventfunc): When resetting our segment on
15931 FLUSH_STOP, also update the flag saying we haven't seen a
15934 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15936 Patch by: Paolo Borelli <pborelli at katamail dot com>
15938 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15939 (gst_plugin_check_license):
15940 minor clean-ups: G_DEFINE_TYPE already takes care of the
15941 parent_class stuff, no need to do it twice. Mark array of
15942 license strings as constant. (#337103)
15944 2006-04-04 Michael Smith <msmith@fluendo.com>
15946 * tools/gst-inspect.c: (print_element_list):
15947 Free the right plugin list; fixes a memory leak.
15949 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15951 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15953 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15954 Don't error out on empty buffers (#336945).
15956 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
15958 * docs/libs/gstreamer-libs-sections.txt:
15959 * gst/gsttaglist.c:
15960 * libs/gst/base/gstbasesink.c:
15961 * libs/gst/base/gstbasesink.h:
15962 * libs/gst/base/gstbasesrc.c:
15963 * libs/gst/base/gstbasesrc.h:
15964 Documentation updates. Make BaseSink and BaseSrc docs contain the
15965 class structure so that people can actually see the prototypes for
15966 virtual functions they're supposed to be overriding.
15968 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15970 * plugins/elements/gsttypefindelement.c:
15971 (gst_type_find_element_chain):
15972 More debug info; when skipping typefinding, send cached
15973 events in all cases.
15975 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
15978 use new AS_VERSION and AS_NANO macros
15979 * gst/gst-i18n-lib.h:
15982 * gst/gstversion.h.in:
15983 * win32/common/config.h:
15984 * win32/common/config.h.in:
15987 2006-03-31 Michael Smith <msmith@fluendo.com>
15989 * plugins/elements/gsttypefindelement.c:
15990 (gst_type_find_element_chain):
15991 Do not typefind content if the buffers already have caps.
15992 Neccesary for icydemux (#333657), and the right thing to do anyway.
15994 2006-03-30 Wim Taymans <wim@fluendo.com>
15996 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15997 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15998 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15999 (gst_base_sink_record_qos_observation),
16000 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16001 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16002 (gst_base_sink_change_state):
16003 More QoS measurements as described in the design doc.
16004 Get rid of ringbuffer with observations, running average is
16005 more simple and equally good.
16006 Calculates valid proportion now.
16007 Added beginning of flood measurement.
16009 2006-03-29 Wim Taymans <wim@fluendo.com>
16011 * docs/design/part-qos.txt:
16013 Small documentation updates and additions.
16015 2006-03-29 Wim Taymans <wim@fluendo.com>
16017 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16018 (gst_base_src_send_event), (gst_base_src_loop),
16019 (gst_base_src_change_state):
16020 Perform the EOS logic when we reach the segment stop position.
16021 Fix compilation on gcc4.1
16023 2006-03-29 Wim Taymans <wim@fluendo.com>
16025 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16027 * plugins/elements/gstqueue.c: (gst_queue_init),
16028 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16029 (gst_queue_set_property):
16030 * plugins/elements/gstqueue.h:
16031 In queue, when EOS is received, if minimum threshold > max_size -
16032 current_level, there is chance that queue blocks forever in conditional
16033 item del wait. This is because the queue is not emptied completely due
16034 to minimum threshold. Here is another approach. Instead of setting
16035 cur_levels to max in EOS, just zero all minimum threshold levels. This
16036 should make sure that queue gives out all data. When going to READY
16037 (stop) state, just reset the original minimum threshold levels.
16040 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16042 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16043 (gst_type_find_element_handle_event),
16044 (gst_type_find_element_send_cached_events),
16045 (gst_type_find_element_change_state):
16046 * plugins/elements/gsttypefindelement.h:
16047 When typefinding is done in push mode, we should cache
16048 events we receive during typefinding instead of just
16049 dropping them (e.g. newsegment, custom events from
16050 dvdreadsrc etc.) and then send them out once we've
16051 determined the type of the stream (and decodebin
16052 has had a chance to plug in a decoder/demuxer).
16054 2006-03-27 Wim Taymans <wim@fluendo.com>
16056 * docs/design/part-qos.txt:
16059 2006-03-27 Wim Taymans <wim@fluendo.com>
16061 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16063 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16064 (gst_base_src_send_event), (gst_base_src_change_state):
16065 Handle element seek correctly when we are streaming.
16068 2006-03-24 Michael Smith <msmith@fluendo.com>
16070 * docs/faq/gst-uninstalled:
16071 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16072 allow you to correctly run intalled applications built against old
16073 core, using plugins that require updated core (e.g. running
16074 installed totem against a full uninstalled gstreamer stack)
16076 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16078 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16081 2006-03-24 Wim Taymans <wim@fluendo.com>
16083 * docs/gst/gstreamer-sections.txt:
16084 Rearrange the order of the methods so that related methods
16085 are grouped together in sections.
16087 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16089 * gst/gstelement.c:
16090 Little clarification in the docs
16092 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16096 * plugins/elements/gstidentity.c:
16097 * plugins/elements/gstqueue.c:
16098 * plugins/elements/gsttee.c:
16099 * plugins/elements/gsttypefindelement.c:
16100 GST_ELEMENT_DETAILS formatting
16102 2006-03-24 Wim Taymans <wim@fluendo.com>
16104 * libs/gst/base/gstbasesink.h:
16105 Only add fields, not insert or we break ABI.
16107 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16109 * win32/common/libgstbase.def:
16110 * win32/common/libgstreamer.def:
16111 Update, add recently added functions.
16113 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16115 * docs/gst/gstreamer-sections.txt:
16116 * gst/gstutils.c: (gst_pad_query_peer_position),
16117 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16119 API: add some new utility functions:
16120 - gst_pad_query_peer_position()
16121 - gst_pad_query_peer_duration()
16122 - gst_pad_query_peer_convert()
16124 2006-03-23 Wim Taymans <wim@fluendo.com>
16126 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16127 (gst_base_sink_init), (gst_base_sink_finalize),
16128 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16129 (gst_base_sink_set_property), (gst_base_sink_get_property),
16130 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16131 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16132 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16133 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16134 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16135 (gst_base_sink_preroll_object), (gst_base_sink_event),
16136 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16137 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16138 (gst_base_sink_query), (gst_base_sink_change_state):
16139 Decouple max-lateness and the fact that QoS messages are generated
16140 with a new property (qos).
16141 added API: GstBaseSink::async_play()
16142 Add vmethod so subclasses can be notified of ASYNC playing
16144 Collect timestamp start and stop to report better current
16145 position in EOS/PLAYING/PAUSED/READY/NULL.
16146 Refactor QoS/frame dropping and other measurements.
16147 API: GstBaseSrc::qos
16150 * libs/gst/base/gstbasesink.h:
16151 Added Private struct.
16152 API: gst_base_sink_set_qos_enabled()
16153 API: gst_base_sink_is_qos_enabled()
16155 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16157 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16158 If compiling against GLib-2.8 or newer, try to read the
16159 registry file using GMappedFile first before falling back
16160 to fopen() + fread() (#332151).
16162 2006-03-22 Wim Taymans <wim@fluendo.com>
16164 * gst/gstinfo.c: (gst_debug_set_active),
16165 (gst_debug_category_set_threshold):
16166 Disable debugging unless explicitly activated.
16169 2006-03-22 Wim Taymans <wim@fluendo.com>
16171 * gst/gstelement.c: (gst_element_set_locked_state),
16172 (gst_element_dispose):
16173 Cleanup the error case.
16175 * gst/gstobject.c: (gst_object_dispose):
16176 print a critical when some object was disposed with
16177 a parent, also revive the object since it might
16180 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16182 * tools/gst-launch.1.in:
16185 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16188 * tests/check/Makefile.am:
16189 disable some tests when we don't have a registry
16190 * tests/check/gst/gstutils.c: (gst_utils_suite):
16191 don't build the part that needs parsing
16193 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16196 * tests/examples/Makefile.am:
16197 fix --disable-parse build
16199 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16201 * tools/gst-feedback.1.in:
16202 Fix typo: s/feeback/feedback/ (#133494).
16204 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16206 * tools/Makefile.am:
16207 * tools/gst-launch.1.in:
16208 Add FILES section and correct entry about GST_REGISTRY_PATH
16209 environment variable (#133495; #133494).
16211 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16213 * tools/Makefile.am:
16214 * tools/gst-md5sum.1.in:
16215 * tools/gst-md5sum.c:
16216 Remove gst-md5sum and man page (the md5sink element
16217 required was removed ages ago)
16219 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16221 * gst/gststructure.c: (gst_structure_id_set_value):
16222 Make sure that string fields in structures/taglists
16223 contain valid UTF-8 - we don't want to pass rubbish to
16224 applications because of a buggy plugin (cp. #334167).
16226 2006-03-21 Edward Hervey <edward@fluendo.com>
16228 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16229 (gst_bin_handle_message_func):
16230 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16231 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16232 (gst_element_set_bus_func):
16233 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16234 * gst/gstminiobject.c: (gst_value_set_mini_object),
16235 (gst_value_take_mini_object):
16236 * gst/gstpad.c: (gst_pad_set_pad_template):
16237 * gst/gstpipeline.c: (gst_pipeline_dispose),
16238 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16239 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16240 (gst_collect_pads_chain):
16241 * libs/gst/net/gstnettimeprovider.c:
16242 (gst_net_time_provider_set_property):
16243 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16244 It's in fact all issues with gst_*object_replace().
16246 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16248 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16250 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16251 * pkgconfig/gstreamer-check.pc.in:
16252 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16254 2006-03-21 Edward Hervey <edward@fluendo.com>
16258 * gst/gstmessage.h:
16259 gst_[buffer|event|message]_ref() macros are replaced by a static
16260 inline functions because gcc-4.1 will about if the return value
16262 * tests/check/gst/gstevent.c: (event_probe):
16263 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16265 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16268 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16269 the type' case. (Closes: #335195 for now). In the future, when we
16270 depend on GLib 2.10, we could also intern the type name using
16271 g_intern_static_string()
16273 2006-03-20 Wim Taymans <wim@fluendo.com>
16275 * gst/gstbin.c: (gst_bin_handle_message_func),
16276 (bin_query_max_init), (bin_query_position_fold),
16277 (bin_query_position_done), (gst_bin_query):
16278 Position query should also take max of all streams.
16280 2006-03-20 Wim Taymans <wim@fluendo.com>
16282 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16283 (gst_fake_src_finalize):
16284 Fix leaks in fakesrc.
16286 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16287 Fix leaks in the testcase.
16289 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16291 * gst/gst_private.h:
16292 add win32 specific import decoration(__declspec(dllimport))
16293 for all extern GstDebugCategory * variables
16294 * win32/common/libgstbase.def:
16295 * win32/common/libgstcontroller.def:
16296 * win32/common/libgstreamer.def:
16297 Add some exports, remove empty lines
16298 * win32/common/libgstdataprotocol.def:
16299 * win32/common/libgstdataprotocol.dsp:
16300 * win32/common/libgstnet.def:
16301 * win32/common/libgstnet.dsp:
16302 new project files and exportation files added
16304 2006-03-19 Wim Taymans <wim@fluendo.com>
16306 * tests/check/libs/basesrc.c: (eos_event_counter):
16307 Use proper return value for probe.
16309 2006-03-17 Wim Taymans <wim@fluendo.com>
16311 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16313 Don't leak buffers, caps and pads on negotiation errors.
16315 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16317 * docs/faq/cvs.xml:
16318 * docs/faq/dependencies.xml:
16319 * docs/faq/developing.xml:
16320 * docs/faq/faq.xml:
16321 * docs/faq/general.xml:
16322 * docs/faq/getting.xml:
16323 * docs/faq/legal.xml:
16324 * docs/faq/troubleshooting.xml:
16325 * docs/faq/using.xml:
16326 Faq review and update.
16328 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16330 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16332 Don't pound the cpu to pieces by checking get_caps when accept_caps
16333 is called with the same caps as the pad already has.
16334 Use GST_DEBUG_OBJECT when outputting caps change information.
16336 2006-03-15 Wim Taymans <wim@fluendo.com>
16338 * gst/gstclock.c: (gst_clock_class_init):
16341 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16346 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16347 (gst_pad_accept_caps), (gst_pad_configure_sink),
16348 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16349 Make the default acceptcaps behaviour be to check the requested
16350 caps against the gst_pad_get_caps output.
16352 Ensure that gst_pad_accept_caps is used to check caps when a pad
16353 doesn't have a setcaps function, so that pads automatically refuse
16354 caps that they don't allow in their pad template. (Fixes #332986)
16356 When a buffer with attached caps is pushed, ensure that the source
16357 pad receives those caps even if the element didn't call
16358 gst_pad_set_caps first.
16360 2006-03-15 Wim Taymans <wim@fluendo.com>
16362 * libs/gst/base/gstadapter.c:
16365 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16367 * win32/common/libgstbase.def:
16368 * win32/common/libgstcontroller.def:
16369 * win32/common/libgstreamer.def:
16370 Add a whole bunch of missing functions (#334434).
16372 2006-03-14 Wim Taymans <wim@fluendo.com>
16374 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16375 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16376 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16377 Better debug info when we receive a segment event.
16378 Reorganize a bit so we can pass the get_times() results around.
16379 Use the segment format when calculating the running time.
16380 Don't do QoS is sync is disabled or we have no clock or the
16381 element does not want us to sync to the clock.
16382 Don't drop buffers if QoS is disabled for now.
16384 2006-03-14 Wim Taymans <wim@fluendo.com>
16386 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16387 Marked the stats property as unimplemented so people don't get
16389 Add debug message when regression goes wrong.
16390 Added some more docs.
16392 2006-03-14 Wim Taymans <wim@fluendo.com>
16394 * gst/gstsegment.c: (gst_segment_to_stream_time):
16395 Return correct return type in case of errors.
16397 2006-03-14 Wim Taymans <wim@fluendo.com>
16399 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16400 Don't segfault on invalid formats.
16402 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16404 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16405 Can't use gst_segment_to_running_time() when the segment
16406 is not in GST_TIME_FORMAT (like with filesink, for example).
16407 Stops flac encoding pipelines from spewing critical warnings
16410 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16412 * gst/gstpipeline.c: (gst_pipeline_class_init):
16413 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16415 * plugins/elements/gsttypefindelement.c:
16416 (gst_type_find_element_handle_event):
16417 Don't try to typefind empty streams.
16419 2006-03-14 Wim Taymans <wim@fluendo.com>
16421 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16422 (gst_base_sink_do_qos):
16423 Separate QoS calculation.
16424 Only drop buffers when lateness is bigger than the
16425 duration of the buffer.
16427 2006-03-13 Wim Taymans <wim@fluendo.com>
16429 * gst/gstpipeline.c: (gst_pipeline_set_property),
16430 (gst_pipeline_get_property), (do_pipeline_seek),
16431 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16432 (gst_pipeline_get_delay):
16433 Don't deadlock when reading properties.
16435 2006-03-13 Wim Taymans <wim@fluendo.com>
16437 * libs/gst/base/gstbasetransform.c:
16438 (gst_base_transform_class_init), (gst_base_transform_init),
16439 (gst_base_transform_sink_event),
16440 (gst_base_transform_sink_eventfunc),
16441 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16442 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16443 (gst_base_transform_set_property),
16444 (gst_base_transform_get_property),
16445 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16446 (gst_base_transform_set_qos_enabled),
16447 (gst_base_transform_is_qos_enabled):
16448 * libs/gst/base/gstbasetransform.h:
16449 Make basetransform virtual method for src events too.
16450 Handle QOS in basetransform.
16451 API: gst_base_transform_update_qos()
16452 API: gst_base_transform_set_qos_enabled()
16453 API: gst_base_transform_is_qos_enabled()
16455 2006-03-13 Wim Taymans <wim@fluendo.com>
16457 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16458 (gst_base_sink_do_sync):
16460 Use QOS debug category.
16462 2006-03-13 Wim Taymans <wim@fluendo.com>
16464 * plugins/elements/gstqueue.c:
16465 Very small doc update.
16467 2006-03-13 Wim Taymans <wim@fluendo.com>
16469 * gst/gst_private.h:
16470 * gst/gstinfo.c: (_gst_debug_init):
16471 Added QOS debug category
16473 2006-03-13 Wim Taymans <wim@fluendo.com>
16475 * docs/gst/gstreamer-sections.txt:
16476 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16478 * gst/gstbus.c: (gst_bus_class_init):
16481 * gst/gstelement.c: (gst_element_set_locked_state):
16482 * gst/gstsegment.c:
16483 Documentation updates.
16485 * gst/gstpipeline.c: (gst_pipeline_get_type),
16486 (gst_pipeline_class_init), (gst_pipeline_init),
16487 (gst_pipeline_dispose), (gst_pipeline_set_property),
16488 (gst_pipeline_get_property), (do_pipeline_seek),
16489 (gst_pipeline_send_event), (gst_pipeline_change_state),
16490 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16491 (gst_pipeline_get_delay):
16492 * gst/gstpipeline.h:
16493 Added methods for setting the delay.
16494 API: gst_pipeline_set_delay()
16495 API: gst_pipeline_get_delay()
16496 Add pipeline debug category
16499 Don't reset stream time when seek failed.
16501 2006-03-13 Wim Taymans <wim@fluendo.com>
16503 * docs/design/draft-klass.txt:
16504 * docs/design/part-clocks.txt:
16505 * docs/design/part-events.txt:
16506 * docs/design/part-gstbin.txt:
16507 * docs/design/part-gstpipeline.txt:
16508 * docs/design/part-messages.txt:
16509 * docs/design/part-negotiation.txt:
16510 * docs/design/part-overview.txt:
16511 * docs/design/part-preroll.txt:
16512 * docs/design/part-seeking.txt:
16513 * docs/design/part-states.txt:
16514 * docs/design/part-streams.txt:
16515 Documentation updates.
16517 2006-03-12 Julien MOUTTE <julien@moutte.net>
16519 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16520 us to leak strings...
16522 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16524 * libs/gst/net/gstnettimeprovider.c:
16526 * win32/common/config.h:
16529 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16531 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16534 Don't check for libgnomeui (leftover from old examples
16535 that aren't built or disted any longer) (#334303).
16537 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16539 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16540 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16541 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16542 there's no space left on the device.
16544 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16547 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16548 to cast the input to GstClockTime before comparing with
16549 another GstClockTime value.
16551 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16556 === release 0.10.4 ===
16558 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16561 releasing 0.10.4, "Light"
16563 2006-03-10 Michael Smith <msmith@fluendo.com>
16565 * libs/gst/dataprotocol/dataprotocol.c:
16566 Fix docs for dataprocotol to not get the return types completely
16567 wrong for a few functions.
16569 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16571 * docs/gst/gstreamer-sections.txt:
16572 * gst/gstpipeline.c: (gst_pipeline_class_init),
16573 (gst_pipeline_init), (gst_pipeline_set_property),
16574 (gst_pipeline_get_property), (gst_pipeline_change_state),
16575 (gst_pipeline_set_auto_flush_bus),
16576 (gst_pipeline_get_auto_flush_bus):
16577 * gst/gstpipeline.h:
16578 Add new API: gst_pipeline_set_auto_flush_bus() and
16579 gst_pipeline_get_auto_flush_bus() to disable automatic
16580 flushing of the pipeline's GstBus when going from READY
16581 to NULL state (#332045).
16583 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16585 * docs/gst/gstreamer-sections.txt:
16586 * gst/gsturi.c: (gst_uri_has_protocol):
16588 Add new API: gst_uri_has_protocol() (#333779).
16590 2006-03-09 Wim Taymans <wim@fluendo.com>
16592 * gst/gstclock.c: (gst_clock_entry_new),
16593 (gst_clock_id_compare_func), (gst_clock_id_wait),
16594 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16595 (gst_clock_init), (gst_clock_get_internal_time),
16596 (gst_clock_set_master), (do_linear_regression),
16597 (gst_clock_add_observation), (gst_clock_set_property):
16601 Fix a possible segfault when the window-size is made smaller.
16602 Calculate jitter before performing the clock wait. Ideally
16603 the clock implementation should calculate jitter but we need
16604 API breakage for that.
16606 * gst/gstsystemclock.c: (gst_system_clock_init):
16609 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16610 Remove leftover else
16612 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16613 (gst_systemclock_suite):
16614 Added check to test GST_CLOCK_DIFF.
16616 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16618 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16619 (gst_type_find_helper_get_range):
16620 If we are provided with the size, we should implement
16621 GstTypeFind::get_length, so that typefind functions who
16622 want to can actually peek at the middle of a file.
16624 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16626 * docs/manual/advanced-dataaccess.xml:
16627 Add some very very basic error checking.
16629 * docs/pwg/appendix-checklist.xml:
16630 Some updates to the list of things to check when writing an element.
16632 2006-03-08 Wim Taymans <wim@fluendo.com>
16634 * docs/design/part-element-transform.txt:
16635 Added some docs about the design of tranform elements.
16637 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16638 (gst_base_src_loop), (gst_base_src_change_state):
16639 Mark buffers with the DISCONT flag.
16641 2006-03-08 Michael Smith <msmith@fluendo.com>
16643 * gst/gstregistry.h:
16644 * gst/gstregistryxml.c: (gst_registry_save),
16645 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16646 (gst_registry_xml_save_pad_template),
16647 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16648 (gst_registry_xml_write_cache):
16649 Rewrite registry-saving to avoid race conditions and check for
16652 2006-03-08 Wim Taymans <wim@fluendo.com>
16654 * libs/gst/base/gstbasetransform.c:
16655 (gst_base_transform_transform_caps),
16656 (gst_base_transform_transform_size),
16657 (gst_base_transform_prepare_output_buffer),
16658 (gst_base_transform_get_unit_size),
16659 (gst_base_transform_buffer_alloc),
16660 (gst_base_transform_handle_buffer),
16661 (gst_base_transform_change_state):
16662 Cleanups, separate normal flow from errors, add sensible
16664 Don't try to renegotiate when allocating an output buffer.
16665 Also copy DISCONT buffer flag when copying a buffer.
16666 Reset the transform after we finish streaming, not during.
16668 2006-03-08 Wim Taymans <wim@fluendo.com>
16670 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16671 Use last buffer timestamp in qos message.
16673 2006-03-07 Wim Taymans <wim@fluendo.com>
16675 Patch by: Christophe Fergeau
16677 * docs/pwg/advanced-tagging.xml:
16678 * docs/pwg/building-pads.xml:
16681 2006-03-07 Wim Taymans <wim@fluendo.com>
16683 * docs/libs/gstreamer-libs-sections.txt:
16684 Added basesink new methods.
16688 Docs updates. Flesh out the QoS docs.
16690 * libs/gst/base/gstadapter.c:
16691 Small doc clarification about ownership and flushing.
16693 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16694 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16695 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16696 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16697 * libs/gst/base/gstbasesink.h:
16699 Added new methods to allow subclass to control max-lateness
16701 Generate very basic QoS events based on last sync observation.
16702 Updated docs, fix typo, added some QoS blurb.
16704 * libs/gst/base/gstbasesrc.c:
16705 Remove obsolete _get_state() calls from docs.
16707 2006-03-07 Wim Taymans <wim@fluendo.com>
16709 * docs/libs/gstreamer-libs-sections.txt:
16710 * libs/gst/base/gstbasetransform.h:
16711 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16712 Fix docs for GstBaseSrc.
16714 2006-03-07 Wim Taymans <wim@fluendo.com>
16716 * docs/gst/gstreamer-sections.txt:
16719 * libs/gst/base/gstbasetransform.h:
16720 Small documentation fixes.
16722 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16725 Document thread-unsafety of gst_value_register_foo_func()
16726 when used at the same time as gst_value_foo() (#322628).
16728 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16730 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16731 (gst_push_src_check_get_range):
16732 Push sources don't support pull mode by default.
16734 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16736 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16737 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16738 (gst_base_src_default_check_get_range):
16739 * libs/gst/base/gstbasesrc.h:
16740 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16741 provide default implementation, and rename
16742 gst_base_src_check_get_range() to
16743 gst_base_src_pad_check_get_range() for clarity.
16745 2006-03-06 Wim Taymans <wim@fluendo.com>
16747 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16748 Make property overridable.
16750 2006-03-06 Wim Taymans <wim@fluendo.com>
16752 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16753 (gst_base_sink_init), (gst_base_sink_set_property),
16754 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16755 * libs/gst/base/gstbasesink.h:
16756 API addition: Make max-lateness a property.
16758 2006-03-06 Wim Taymans <wim@fluendo.com>
16760 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16761 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16762 Don't ever draw a frame that is >10ms late.
16764 2006-03-06 Michael Smith <msmith@fluendo.com>
16766 * gst/gstmessage.c: (_gst_message_copy):
16767 When copying a message, set the parent_refcount of the enclosed
16768 structure to point at the copy, not the original message.
16770 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16772 Patch by: Christophe Fergeau
16775 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16776 usable in c++ code (#333417)
16778 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16781 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16783 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16785 * libs/gst/base/gstbasetransform.c:
16786 (gst_base_transform_transform_caps):
16787 Make sure caps are writable before passing them to
16790 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16793 Fix some minor docs errors.
16795 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16797 Patch by: Ross Burton <ross at burtonini dot com>
16799 * gst/gsterror.c: (_gst_resource_errors_init):
16801 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16803 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16806 Add a check and output a g_warning when GStreamer is built
16807 against GLib 2.6 but running against 2.8 or higher, and vice
16808 versa. (Closes: #323542)
16810 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16812 * gst/parse/parse.l:
16813 Commit patch for parse_launch syntax from #331255. Removes
16814 support for quoted strings and mimetypes when writing filtered
16815 caps. See the bug report for more details - I'm pretty sure this
16816 obscure feature is not in use by _anyone_ anywhere.
16818 With this simple change, the size of the gstreamer.so here
16819 drops from 2193KB to 1565KB.
16821 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16823 * plugins/elements/gsttypefindelement.h:
16824 * plugins/elements/gsttypefindelement.c:
16825 (gst_type_find_element_src_event), (start_typefinding),
16826 (stop_typefinding), (gst_type_find_element_handle_event),
16827 (gst_type_find_element_chain),
16828 (gst_type_find_element_chain_do_typefinding):
16829 Use gst_type_find_helper_for_buffer() for chain-based
16832 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16834 * plugins/elements/gsttypefindelement.c:
16835 (gst_type_find_element_class_init),
16836 (gst_type_find_element_set_property),
16837 (gst_type_find_element_get_property):
16838 Deprecate "maximum" property (not only was it only taken into
16839 account for typefinding in push-mode anyway, it also was never
16840 actually possible to set it in the first place because the
16841 property was registered with the numeric property ID for the
16842 "minimum" property). Register "maximum" property correctly,
16843 for the sake of future copy'n'pasters. Remove some cruft
16844 from property get/set functions.
16846 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16848 * plugins/elements/gsttypefindelement.c:
16849 (gst_type_find_element_activate):
16850 Use gst_type_find_helper_get_range() here, so we
16851 can honour the "minimum" property and also emit
16852 the signal with the correct probability of the found caps.
16854 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16856 * docs/libs/gstreamer-libs-sections.txt:
16857 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16858 (helper_find_suggest), (gst_type_find_helper_get_range),
16859 (gst_type_find_helper):
16860 * libs/gst/base/gsttypefindhelper.h:
16861 New API: gst_type_find_helper_get_range() (#333042).
16863 2006-03-02 Michael Smith <msmith@fluendo.com>
16865 * gst/gstregistryxml.c: (load_feature):
16866 Asserting on a failure to read part of the registry is Not Cool.
16867 Just log a warning and return NULL (which is already handled)
16869 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16871 * win32/common/libgstbase.def:
16872 added export of gst_type_find_helper_for_buffer
16873 * win32/common/libgstbase.def:
16874 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16875 gst_ghost_pad_get_target
16877 2006-02-28 Wim Taymans <wim@fluendo.com>
16879 * docs/design/draft-klass.txt:
16881 Added Connector to mark elements that are only used to
16882 allow pipeline connections.
16883 Moved Debug to extra feature since most of them are
16884 functionally something else.
16886 2006-02-28 Wim Taymans <wim@fluendo.com>
16888 * docs/design/draft-klass.txt:
16889 Some updates and clarifications.
16891 2006-02-28 Wim Taymans <wim@fluendo.com>
16893 * docs/design/draft-klass.txt:
16894 Proposal for klass field values.
16896 * docs/design/part-streams.txt:
16897 Start of a doc describing stream anatomy.
16899 2006-02-28 Wim Taymans <wim@fluendo.com>
16901 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16902 Help the compiler a bit with type registration.
16903 Use existing forward cod path instead of duplicating it when
16904 handling a message.
16906 * gst/gstbus.c: (gst_bus_get_type):
16907 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16908 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16909 * gst/gstclock.c: (gst_clock_get_type):
16910 * gst/gstelement.c: (gst_element_get_type),
16911 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16912 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16913 * gst/gstminiobject.c: (gst_mini_object_get_type):
16914 * gst/gstpad.c: (gst_pad_get_type):
16915 * gst/gstsegment.c: (gst_segment_get_type):
16916 * gst/gststructure.c: (gst_structure_get_type):
16917 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16918 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16920 Help compiler with type registration.
16922 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16925 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16927 * plugins/elements/gsttypefindelement.c:
16928 (gst_type_find_element_handle_event):
16929 When we get an EOS event and have not found a type yet
16930 (most likely because we had not yet accumulated
16931 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16932 type given the data we have so far. Fixes typefinding
16933 for very short streams again, most notably quicktime
16934 redirections as used on Apple's trailer site (#331701).
16936 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16938 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16939 (gst_type_find_helper):
16940 Try typefinding factories with the highest rank first.
16942 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16944 * docs/libs/gstreamer-libs-docs.sgml:
16945 * docs/libs/gstreamer-libs-sections.txt:
16946 * libs/gst/base/gsttypefindhelper.c:
16947 Add section for typefind helper and add documentation
16948 for the old and the new function.
16950 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16952 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16953 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16954 (gst_type_find_helper_for_buffer):
16955 * libs/gst/base/gsttypefindhelper.h:
16956 New API: gst_type_find_helper_for_buffer() (#332723).
16958 2006-02-27 Michael Smith <msmith@fluendo.com>
16960 Patch by: Loïc Minier
16963 * docs/Makefile.am:
16964 * docs/slides/Makefile.am:
16965 prevent CVS directories getting disted.
16967 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16969 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16970 Use the REFCOUNTING category for caps refcounting.
16972 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16974 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16975 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16977 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16979 * plugins/elements/gsttypefindelement.c:
16980 (gst_type_find_element_activate):
16981 Use gst_pad_check_pull_range() before _activate_pull()
16982 to avoid unnecessary open/close (see #331690).
16984 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16987 Docs enhancement: make it crystal clear what the
16988 gst_pad_add_*_probe() callbacks should look like.
16990 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16992 * libs/gst/base/gstbasesrc.c:
16993 Document how applications can stop recording from
16994 live sources (see #330996).
16996 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16998 * tests/check/Makefile.am:
16999 * tests/check/libs/basesrc.c: (eos_event_counter),
17000 (basesrc_eos_events_pull), (basesrc_eos_events_push),
17001 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17002 (gst_basesrc_suite), (main):
17003 ... and add some tests for the base source EOS stuff.
17005 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17007 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17008 Test case originally showed the problem fixed below,
17009 but was then amended. Add checks back at the place
17010 where they used to be.
17012 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17014 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17015 (gst_base_src_init), (gst_base_src_loop),
17016 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17017 (gst_base_src_change_state):
17018 * libs/gst/base/gstbasesrc.h:
17019 Don't unconditionally send EOS when going from PAUSED to
17020 READY state, esp. make sure we don't send two EOS events
17021 in some cases (e.g. one when reaching EOS and one when
17022 going from PAUSED to READY). Also, we don't want to send
17023 EOS events when operating in pull mode. However, we do
17024 want to send an EOS event when shutting down a live
17025 source explicitly, for example (fixes #330996).
17027 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17029 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17030 Update src->read_position after a seek when not using mmap.
17031 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17033 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17039 Make things work with --disable-parse as they do with
17040 --disable-load-save - the symbols involved disappear, but the
17041 header is still installed and GST_DISABLE_PARSE is included via
17044 2006-02-20 Julien MOUTTE <julien@moutte.net>
17046 * libs/gst/base/gstbasetransform.c:
17047 (gst_base_transform_change_state): Fix a stupid bug. I was
17048 sure I compiled that.
17050 2006-02-20 Julien MOUTTE <julien@moutte.net>
17052 * gst/gstpad.c: (gst_pad_set_blocked_async):
17053 * gst/gstutils.c: (gst_pad_add_data_probe),
17054 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17055 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17056 (gst_pad_remove_buffer_probe): Make those function act on the
17057 ghostpad target when it's a ghostpad. (Closes #331727)
17059 2006-02-20 Julien MOUTTE <julien@moutte.net>
17061 * libs/gst/base/gstbasetransform.c:
17062 (gst_base_transform_change_state): Make basetransform reusable.
17065 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17067 * docs/random/release:
17068 Move the current documentation of how to do a release to the top
17071 * gst/gstbin.c: (gst_bin_class_init),
17072 (gst_bin_handle_message_func):
17073 Allow multiple state-recalculation threads. (Closes #328873)
17075 2006-02-19 Julien MOUTTE <julien@moutte.net>
17077 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17078 * gst/gstpad.c: (gst_pad_set_event_function),
17079 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17080 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17081 2 strings. You can't use the STR_NULL macro on that.
17083 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17085 * gst/gstpad.c: (gst_pad_set_event_function),
17086 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17087 (gst_pad_set_getcaps_function)
17088 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17089 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17090 So now, we can use --gst-debug-level=5 on Windows
17091 * win32/common/libgstcontroller.def:
17092 Added export of gst_controller_init
17093 * win32/vs6/libgstcontroller.dsp:
17094 Fixed Release post build configuration
17096 2006-02-17 Wim Taymans <wim@fluendo.com>
17098 * tests/check/gst/gstquery.c: (GST_START_TEST):
17099 Added another check.
17101 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17103 * plugins/elements/gsttypefindelement.c: (find_peek):
17104 We can do peeks at non-zero offsets, as long as they
17105 fall within the buffer we have.
17107 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17109 * tests/check/Makefile.am:
17110 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17111 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17112 (parse_suite), (main):
17113 Add testsuite for parse launch syntax
17115 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17117 * plugins/elements/gsttypefindelement.c:
17118 (gst_type_find_element_chain):
17119 When typefinding is unsuccessful in the chain function, don't
17120 error out immediately. Only error out with NO_CAPS_FOUND if
17121 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17122 otherwise simply wait for more data so we can try typefinding
17123 again with more data later. Also, don't attempt to typefind
17124 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17125 this should improve typefinding from network sources where the
17126 size of the first buffer can be somewhat random.
17128 2006-02-14 Wim Taymans <wim@fluendo.com>
17130 * docs/gst/gstreamer-sections.txt:
17131 * gst/gstpadtemplate.c:
17132 * gst/gstpadtemplate.h:
17133 Fix padtemplate docs, fixes #328805.
17135 2006-02-14 Wim Taymans <wim@fluendo.com>
17137 * tools/gst-launch.c: (main):
17138 NO_PREROLL is not an ERROR so don't send confusing messages
17141 2006-02-14 Wim Taymans <wim@fluendo.com>
17143 Patch by: Torsten Schoenfeld
17145 * gst/gstregistry.c: (gst_registry_get_default),
17146 (_gst_registry_cleanup):
17147 Protect default registry with lock and ref/sink it.
17150 2006-02-14 Wim Taymans <wim@fluendo.com>
17153 * gst/gstquery.c: (gst_query_list_add_format),
17154 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17155 (gst_query_parse_formats_nth):
17156 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17159 2006-02-14 Wim Taymans <wim@fluendo.com>
17161 * docs/gst/gstreamer-sections.txt:
17162 Reworked query docs.
17164 * gst/gstquery.c: (gst_query_new_formats),
17165 (gst_query_list_add_format), (gst_query_set_formats),
17166 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17167 (gst_query_parse_formats_nth):
17169 Flesh out formats query, added some new methods.
17170 Fix part of #324398.
17172 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17173 Added query creation tests.
17175 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17177 * gst/gstpad.c: (fixate_value):
17178 Add a default fixation for fraction lists.
17180 2006-02-13 Wim Taymans <wim@fluendo.com>
17182 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17183 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17186 Detect and warn for obvious deadlocks. fixes #320340
17187 Fix error case where lock was not released.
17189 * tests/check/Makefile.am:
17190 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17191 (task_func), (gst_element_suite), (main):
17194 2006-02-13 Wim Taymans <wim@fluendo.com>
17196 * docs/gst/gstreamer-sections.txt:
17198 Add new functions to docs.
17200 2006-02-13 Wim Taymans <wim@fluendo.com>
17202 * docs/design/part-TODO.txt:
17203 Updated TODO list, basesrc supports seeking to non-bytes
17206 * docs/design/part-element-sink.txt:
17209 * gst/gstbin.c: (bin_replace_message),
17210 (gst_bin_handle_message_func):
17211 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17212 * gst/gstevent.c: (gst_event_finalize):
17213 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17214 (gst_pad_send_event):
17215 Use shiny new _TYPE_NAME macros.
17217 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17218 Move debug statement up.
17220 * gst/gstelement.c: (gst_element_set_locked_state):
17221 Add some debugging.
17223 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17225 * docs/gst/gstreamer-sections.txt:
17226 * gst/gstmessage.h:
17228 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17229 macros (#330906). Also, document the already existing
17230 GST_QUERY_TYPE macro.
17232 2006-02-13 Wim Taymans <wim@fluendo.com>
17234 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17235 (event_probe), (GST_START_TEST):
17236 Only events up to the pipeline EOS are counted, there are
17237 some more when going to NULL currently which we don't care
17240 2006-02-13 Wim Taymans <wim@fluendo.com>
17242 * gst/gstpad.c: (gst_pad_send_event):
17243 Correctly check flushing and emit probes. fixes #330125
17245 2006-02-10 Andy Wingo <wingo@pobox.com>
17247 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17249 (gst_bus_init): Cache the location of the private data in the
17250 instance structure.
17251 (gst_bus_enable_sync_message_emission)
17252 (gst_bus_disable_sync_message_emission): Implement new public
17254 (gst_bus_post): Emit the sync-message signal if the user asked for
17257 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17258 location of the bus-private structure.
17259 (gst_bus_enable_sync_message_emission)
17260 (gst_bus_disable_sync_message_emission): API addition
17262 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17264 Patch by: Vincent Torri
17266 * docs/pwg/building-boiler.xml:
17267 PWG patch from #326800
17269 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17272 * docs/Makefile.am:
17273 * docs/design/Makefile.am:
17276 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17281 === release 0.10.3 ===
17283 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17286 releasing 0.10.3, "Like a virgin"
17288 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17291 2nd prerelease of 0.10.3
17292 Bump libtool versioning.
17294 2006-02-07 Andy Wingo <wingo@pobox.com>
17296 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17297 update last_stop if we're in TIME format and the timestamp is
17300 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17301 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17302 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17303 If we get a new newsegment with a different format, adapt
17306 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17307 of 0. Not a problem, really.
17309 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17312 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17317 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17320 project files updated to the default vs7 configuration
17321 * win32/common/libgstbase.def:
17322 * win32/common/libgstreamer.def:
17324 removed empty lines,
17325 sorted all exported symbols alphabetically
17326 * win32/common/dirent.c:
17327 * win32/common/dirent.h:
17328 * win32/common/gchar.h:
17329 use windows line end.
17331 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17333 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17334 Send EOS event when stopping.
17336 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17339 Tell folks what to do if the plugin-foobar.xml file
17340 hasn't been generated for a newly-added plugin.
17342 2006-02-05 Julien MOUTTE <julien@moutte.net>
17344 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17345 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17346 (gst_collect_pads_start), (gst_collect_pads_stop),
17347 (gst_collect_pads_event): Collectpads now holds a reference
17348 to the GstPad that was added. Indeed we don't want to look
17349 at pads that might just go away with no warning...
17351 2006-02-05 Julien MOUTTE <julien@moutte.net>
17353 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17354 (gst_collect_pads_start), (gst_collect_pads_stop),
17355 (gst_collect_pads_event), (gst_collect_pads_chain):
17356 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17357 Mark Nauwelaerts's patch on bug #328491.
17359 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17361 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17363 Add some simple tests for gst_parse_bin_from_description() and
17364 gst_bin_find_unconnected_pad() (#329069).
17366 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17368 * tools/gst-launch.c: (event_loop), (main):
17369 Catch errors during preroll (#320084).
17371 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17373 * plugins/elements/gsttypefindelement.c:
17374 (gst_type_find_element_activate):
17375 Post TYPE_NOT_FOUND error message when typefinding
17376 is unsuccessful in the activate function as well.
17378 2006-02-02 Wim Taymans <wim@fluendo.com>
17380 * docs/design/part-element-sink.txt:
17383 2006-02-02 Wim Taymans <wim@fluendo.com>
17385 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17386 (gst_base_sink_render_object),
17387 (gst_base_sink_queue_object_unlocked):
17388 Only keep track of prerollable items when we are
17390 Before rendering after preroll, always check if we
17392 Added some more debugging.
17394 2006-02-02 Wim Taymans <wim@fluendo.com>
17396 * gst/gstelement.c: (gst_element_continue_state),
17397 (gst_element_set_state_func), (gst_element_change_state):
17398 Fixed #326576, been running this for quite some time with
17399 no regressions at all.
17401 2006-02-02 Wim Taymans <wim@fluendo.com>
17404 Added more suppressions
17406 2006-02-02 Wim Taymans <wim@fluendo.com>
17408 * docs/design/part-element-sink.txt:
17411 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17412 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17413 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17414 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17415 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17416 (gst_base_sink_preroll_object),
17417 (gst_base_sink_queue_object_unlocked),
17418 (gst_base_sink_queue_object), (gst_base_sink_event),
17419 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17420 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17421 (gst_base_sink_get_position), (gst_base_sink_change_state):
17422 * libs/gst/base/gstbasesink.h:
17423 Totally refactored matching the design doc.
17424 Use two segments, one to clip incomming buffers and another to
17426 Handle queueing correctly, bypass the queue when playing.
17427 Make EOS cancelable.
17428 Handle errors correctly when operating in pull based mode.
17430 * tests/check/elements/fakesink.c: (GST_START_TEST),
17432 Added new check for sinks.
17434 2006-02-02 Wim Taymans <wim@fluendo.com>
17436 * gst/gstsegment.c: (gst_segment_clip):
17437 No reason to refuse to clip when start == -1
17439 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17442 * docs/manual/intro-basics.xml:
17443 * docs/manual/intro-preface.xml:
17444 * docs/manual/manual.xml:
17445 * docs/pwg/advanced-dparams.xml:
17446 * docs/pwg/intro-basics.xml:
17447 * docs/pwg/intro-preface.xml:
17448 * docs/pwg/pwg.xml:
17449 describe dparams (controller) for plugins
17450 unify docs a little more
17452 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17454 * docs/gst/gstreamer-sections.txt:
17455 * gst/gstutils.c: (element_find_unconnected_pad),
17456 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17458 Add new API: gst_parse_bin_from_description() and
17459 gst_bin_find_unconnected_pad() (#329069).
17461 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17463 * docs/manual/README:
17464 uncover a nasty detail of the docs build
17466 2006-01-31 Wim Taymans <wim@fluendo.com>
17468 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17469 Don't cache duration messages if we're not going to use or
17472 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17474 * docs/manual/advanced-dparams.xml:
17475 * docs/pwg/advanced-dparams.xml:
17479 * libs/gst/controller/lib.c: (gst_controller_init):
17482 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17484 * gst/gstelement.c: (gst_element_message_full):
17485 also show file/line/func if no additional debug was given
17487 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17489 * win32/vs7/grammar.vcproj:
17490 activate copy of autogenerated files for Release mode
17492 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17494 * win32/common/libgstreamer.def:
17495 export gst_value_compare
17497 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17499 * plugins/elements/Makefile.am:
17500 * plugins/elements/gstelements.c:
17501 * plugins/elements/gstfdsink.c: (_do_init),
17502 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17503 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17504 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17505 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17506 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17507 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17508 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17509 * plugins/elements/gstfdsink.h:
17510 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17512 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17514 * docs/manual/advanced-dparams.xml:
17515 describe controller
17516 * docs/manual/advanced-position.xml:
17517 * docs/manual/basics-init.xml:
17518 * docs/manual/manual.xml:
17519 * docs/manual/titlepage.xml:
17520 * docs/pwg/pwg.xml:
17521 * docs/pwg/titlepage.xml:
17522 cleanup xml (more to come)
17523 * libs/gst/controller/gstcontroller.c:
17526 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17528 * win32/vs6/grammar.dsp:
17529 add autogen of gstmarshal.c,h for Release mode
17531 2006-01-30 Wim Taymans <wim@fluendo.com>
17533 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17534 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17535 (gst_base_sink_handle_object), (gst_base_sink_event),
17536 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17537 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17538 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17539 (gst_base_sink_deactivate), (gst_base_sink_activate),
17540 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17541 (gst_base_sink_query), (gst_base_sink_change_state):
17542 Basesink cleanups, remove some old code.
17543 Handle the case where a subclass can preroll in the render
17544 method (mostly audiosinks).
17545 Handle more events.
17546 Remove some locks around variables that are now protected
17547 with the PREROLL_LOCK (clock_id, flushing, ..).
17548 Optimize position query some more, do correct locking.
17549 Remove old code to push queue in state change, this is not
17550 needed anymore since preroll blocks on all prerollable items
17552 Almost implemented as described in design doc.
17554 2006-01-30 Wim Taymans <wim@fluendo.com>
17556 * tests/check/gst/gstbin.c: (GST_START_TEST):
17557 Wait for refcount to settle down before checking.
17559 2006-01-30 Wim Taymans <wim@fluendo.com>
17561 * docs/design/part-element-sink.txt:
17562 Pseudo code overview of desired sink behaviour regarding
17565 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17566 * win32/vs6/grammar.dsp:
17567 fix some bugs in Release mode for autogenerated files
17569 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17570 * win32/common/libgstbase.def:
17571 * win32/common/libgstreamer.def:
17572 export some new symbols: gst_base_src_set_format,
17573 gst_iterator_next, gst_structure_set_valist
17575 2006-01-29 Julien MOUTTE <julien@moutte.net>
17577 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17578 Set pad functions unconditionally. Fixes #329105.
17580 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17582 add vs8 project files created by Sergey Scobich
17584 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17586 * gst/gstutils.c: (gst_element_unlink_pads):
17587 Don't leak pad references.
17589 * tests/check/elements/fakesink.c: (GST_START_TEST):
17590 * tests/check/generic/sinks.c: (GST_START_TEST):
17591 * tests/check/generic/states.c: (GST_START_TEST):
17592 * tests/check/gst/gstbin.c: (GST_START_TEST):
17593 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17594 * tests/check/gst/gstelement.c: (GST_START_TEST):
17595 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17596 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17597 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17598 Fix a bunch of leaks. Make generic/sinks.c
17599 use a bit less cpu by slowing the buffer rate
17600 between fakesrc and fakesink.
17602 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17604 * gst/gstelement.c: (gst_element_send_event):
17607 * gst/gstiterator.c:
17608 * gst/gstiterator.h:
17609 * gst/gstpad.c: (gst_pad_send_event):
17610 * gst/gststructure.c:
17614 * libs/gst/base/gstadapter.c:
17615 doc fixes, to link to function, just write gst_cool_function(), don't
17618 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17620 * plugins/elements/gsttee.c: (gst_tee_do_push),
17621 (gst_tee_handle_buffer):
17622 Always prefer an actual return value from a src
17623 pad in place of NOT_LINKED. This means we return
17624 WRONG_STATE when all src pads are WRONG_STATE
17625 instead of NOT_LINKED.
17627 Lock when replacing the last message to prevent
17628 racing with the get_property method.
17632 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17634 * tests/check/Makefile.am:
17635 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17637 Add a very simple check that should have caught the memleak I fixed
17638 last night (if not for the slice allocator hiding it)
17640 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17642 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17643 (gst_bin_remove_func), (gst_bin_handle_message_func),
17644 (bin_query_duration_fold), (bin_query_generic_fold):
17645 Clean up references to the clock provider when disposed or when
17646 handling a clock-lost message from it.
17648 Unref sinks when performing a query via gst_iterator_fold, as the
17649 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17651 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17652 (gst_clock_set_master):
17653 Drop our reference to the master clock, if any, when we are disposed.
17655 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17656 Chain up in dispose.
17658 2006-01-26 Wim Taymans <wim@fluendo.com>
17660 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17661 Add some debugging.
17663 2006-01-26 Julien MOUTTE <julien@moutte.net>
17665 * plugins/elements/gsttee.c: (gst_tee_do_push),
17666 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17667 handles pad being NOT_LINKED or in WRONG_STATE.
17669 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17674 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17677 remove obsolete entry
17679 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17681 * docs/gst/gstreamer-sections.txt:
17682 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17683 (gst_bin_iterate_sources), (gst_bin_send_event):
17685 * gst/gstelement.c: (gst_element_send_event):
17687 * gst/gstpad.c: (gst_pad_send_event):
17688 added code for downstream events, reviewed docs in gstevent.c
17690 2006-01-25 Julien MOUTTE <julien@moutte.net>
17692 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17693 We only query position using the clock in the playing state.
17694 Query peer in the other cases.
17695 * win32/common/config.h: Updates.
17697 2006-01-24 Wim Taymans <wim@fluendo.com>
17699 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17700 A clock entry that is scheduled for the exact time of the
17701 clock is still in time.
17703 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17704 (gst_base_sink_do_sync):
17705 Add some more debug info.
17707 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17710 Add new vs7 project files and solution.
17712 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17715 all files removed as they were out-dated.
17717 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17719 * docs/random/release:
17721 * gst/gstbin.c: (gst_bin_init):
17722 * gst/gstbus.c: (gst_bus_new):
17724 * gst/gstpipeline.c: (gst_pipeline_init):
17725 use gst_bus_new(), improve logging, fix docs
17726 * win32/common/config.h:
17727 update for cvs build
17729 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17732 up required version of automake to 1.7
17734 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17736 * win32/common/libgstreamer.def:
17737 export gst_buffer_is_metadata_writable
17739 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17741 * docs/gst/gstreamer-sections.txt:
17743 Add gst_event_replace() (#327001)
17745 2006-01-20 Wim Taymans <wim@fluendo.com>
17747 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17748 Make it actually compile too..
17750 2006-01-20 Wim Taymans <wim@fluendo.com>
17753 Clarify behaviour of _is_equal() when passing NULL parameters.
17755 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17756 (gst_pad_set_caps):
17757 Cleanups. Don't unref NULL caps.
17758 When setting the same caps, protect caps of the pad with
17760 Use full functionality of _is_equal() when comparing caps.
17762 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17764 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17765 Don't loop infinitely if there are no buffers to present. Partially
17766 fixes #327197, but collectpads is just broken for reusing elements
17767 to do multiple encodes atm.
17769 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17771 * tools/gst-inspect.c: (print_element_features):
17772 * tools/gst-xmlinspect.c: (main):
17773 URL_HANDLER is not a plugin feature we can search for in
17776 2006-01-19 Edward Hervey <edward@fluendo.com>
17778 * gst/gstelement.c: (gst_element_pads_activate):
17779 When activating, do src pads first, then sink pads.
17780 When de-activating, do sink pads first, then src pads.
17782 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17784 * docs/gst/gstreamer-sections.txt:
17785 Add gst_index_add_associationv to the docs
17787 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17792 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17793 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17794 Do some refactoring. Doesn't actually change functionality,
17795 but makes landing the DRAIN event easier later.
17797 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17799 * docs/pwg/advanced-scheduling.xml:
17800 Update from 0.9.x to 0.10 API and make example a bit
17803 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17805 * docs/gst/gstreamer-sections.txt:
17806 Add gst_buffer_(is|make)_metadata_writable methods.
17808 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17810 * docs/design/part-sparsestreams.txt:
17811 Update sparse streams doc, hopefully for greater clarity
17813 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17815 * docs/design/part-events.txt:
17816 Remove mention of FILLER events.
17819 * docs/design/part-sparsestreams.txt:
17820 Write some things about using NEWSEGMENT to keep sparse streams
17823 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17825 * gst/gstbin.c: (gst_bin_dispose):
17826 Guard gst_object_unref call against a NULL object (dispose
17827 can theoretically be called multiple times).
17829 2006-01-18 Wim Taymans <wim@fluendo.com>
17831 * gst/gstbin.c: (gst_bin_element_set_state):
17832 * gst/gstclock.c: (gst_clock_id_wait):
17833 Added some more debug info.
17835 * libs/gst/base/gstadapter.c:
17838 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17839 (gst_base_sink_do_sync), (gst_base_sink_chain):
17840 Added some comments.
17842 2006-01-18 Wim Taymans <wim@fluendo.com>
17844 * tests/check/Makefile.am:
17845 * tests/check/elements/fakesink.c: (chain_async_buffer),
17846 (chain_async), (chain_async_return), (GST_START_TEST),
17847 (fakesink_suite), (main):
17848 Added fakesink test that checks prerolling and clipping
17851 * tests/check/gst/gstutils.c: (GST_START_TEST):
17852 Make check run faster so that buildbots don't timeout.
17854 2006-01-18 Wim Taymans <wim@fluendo.com>
17856 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17857 (gst_base_sink_do_sync):
17859 When the sink finishes blocking on the preroll buffer, it can
17860 immediatly render it instead of rendering when the next buffer
17863 2006-01-18 Wim Taymans <wim@fluendo.com>
17865 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17866 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17867 (gst_base_sink_chain):
17869 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17870 Don't store _last_stop if the buffer is dropped.
17872 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17874 * plugins/elements/gsttypefindelement.c:
17875 (gst_type_find_element_class_init):
17876 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17877 object method handler that sets the caps on the pad and we want
17878 that to happen before we emit the signal (fixes e.g. feeding a
17879 plain text file to decodebin).
17881 2006-01-18 Christian Schaller <Christian@fluendo.com>
17883 * gst/gstplugin.c: Add MPL and Proprietary as license options
17885 2006-01-18 Andy Wingo <wingo@pobox.com>
17887 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17888 symbol was exported before, it appears this was just an oversight.
17890 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17892 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17893 prototype to gint. OK since this prototype was not in the header.
17895 2006-01-17 Andy Wingo <wingo@pobox.com>
17897 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17898 registry while we remove plugins.
17900 * tools/gst-inspect.c (print_element_info): Don't unref the
17901 factory arg, that should be the responsibility of whatever code
17902 received the ref. Fixes a double-free when called from
17903 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17904 (main): Unref the factory if we have one.
17905 (print_element_list): No change -- relies on the
17906 plugin_feature_list_free to free the list of features.
17908 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17910 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17911 (gst_buffer_make_metadata_writable):
17913 * libs/gst/base/gstbasetransform.c:
17914 (gst_base_transform_prepare_output_buf):
17915 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17916 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17917 Replace gst_buffer_(make|is)_metadata_writable patch now
17918 that the release is out.
17920 2006-01-17 Andy Wingo <wingo@pobox.com>
17922 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17923 in the present tense without reference to versions.
17925 * gst/gstregistry.c (gst_registry_add_plugin)
17926 (gst_registry_remove_plugin, gst_registry_remove_feature)
17927 (gst_registry_find_feature, gst_registry_get_feature_list)
17928 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17929 (gst_registry_lookup, gst_registry_scan_path)
17930 (_gst_registry_remove_cache_plugins)
17931 (gst_registry_get_feature_list_by_plugin): Add argument
17934 === release 0.10.2 ===
17936 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17939 releasing 0.10.2, "If man is five"
17941 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17945 * libs/gst/base/gstbasetransform.c:
17946 (gst_base_transform_prepare_output_buf):
17947 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17948 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17949 Back out patch until after the release.
17951 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17953 * gst/gstminiobject.c:
17954 Spelling fix in docs.
17955 * ChangeLog - remove conflict indicator
17957 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17959 Reviewed By: Andy Wingo
17961 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17962 (gst_buffer_make_metadata_writable):
17964 Add gst_buffer_(is|make)_metadata_writable as analogues of
17965 gst_buffer_(is|make)_writable.
17967 * libs/gst/base/gstbasetransform.c:
17968 (gst_base_transform_prepare_output_buf):
17969 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17970 Use name gst_buffer_(is|make)_metadata_writable functions.
17972 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17973 Test gst_buffer_(is|make)_metadata_writable
17977 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
17979 * docs/manual/Makefile.am:
17980 don't do parallel make
17983 * win32/common/config.h.in:
17984 add generations for HOST_CPU and GST_MAJORMINOR
17985 * win32/common/config.h:
17986 commit generated result
17988 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
17990 * docs/manual/appendix-integration.xml:
17991 Update GNOME integration section to use gst_init_get_option_group()
17992 instead of the old popt stuff (#322911). Also, GNOME applications
17993 should now use gconf*sink and gconf*src instead of the old gconf
17996 2006-01-13 Stefan Kost <ensonic@users.sf.net>
17999 * docs/gst/gstreamer-docs.sgml:
18000 * docs/gst/gstreamer-sections.txt:
18001 * docs/libs/gstreamer-libs-sections.txt:
18002 add new API entries to the docs
18003 * libs/gst/controller/Makefile.am:
18004 * libs/gst/controller/gstcontroller.c:
18005 * libs/gst/controller/gstcontroller.h:
18006 * libs/gst/controller/gstcontrollerprivate.h:
18007 * libs/gst/controller/gsthelper.c:
18008 * libs/gst/controller/gstinterpolation.c:
18009 move private structs to private header
18011 gstreamer-0.7 -> gstreamer-0.10
18012 * tests/check/libs/struct_i386.h:
18013 remove private structs
18015 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18017 * plugins/indexers/Makefile.am:
18018 Fixes as part of #317048
18020 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18022 * plugins/indexers/Makefile.am:
18023 fix #316086 - compilation when mmap is missing
18025 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18027 * libs/gst/base/gstbasesink.c:
18028 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18029 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18030 * win32/common/config.h:
18031 added some defines GST_MAJORMINOR and HOST_CPU
18032 * win32/common/libgstbase.def:
18033 * win32/common/libgstreamer.def:
18034 added some exported functions.
18036 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18038 * libs/gst/controller/gstcontroller.c:
18039 (gst_controlled_property_set_interpolation_mode),
18040 (gst_controlled_property_new):
18041 * libs/gst/controller/gstcontroller.h:
18042 * libs/gst/controller/gstinterpolation.c:
18043 (interpolate_none_get_string_value_array):
18044 make G_TYPE_STRING controlable
18046 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18049 * tools/gst-feedback.1.in:
18050 * tools/gst-inspect.1.in:
18051 * tools/gst-launch.1.in:
18052 * tools/gst-md5sum.1.in:
18053 * tools/gst-typefind.1.in:
18054 * tools/gst-xmlinspect.1.in:
18055 * tools/gst-xmllaunch.1.in:
18056 cleanup man-pages, remove reference to gst-register, document env-vars
18058 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18060 * gst/gstbuffer.c: (gst_buffer_span):
18061 gst_buffer_span should copy the timestamp of the first buffer
18062 if they were both originally overlapping subbuffers of the
18063 same parent, using the same logic as the 'slow copy' case.
18065 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18067 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18068 Need to awaken ALL the pads when we pop a buffer, otherwise
18069 collectpads only works when there is 2 input streams.
18071 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18073 * docs/random/ensonic/media-device-daemon.txt:
18076 fix doc example, add clarification
18077 * tools/gst-launch.1.in:
18078 add initial info about GST_PLUGIN_PATH, needs more work
18080 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18082 * docs/manual/basics-bins.xml:
18083 * docs/manual/basics-elements.xml:
18084 * docs/manual/intro-basics.xml:
18085 Some more minor docs additions and updates.
18087 2006-01-11 Wim Taymans <wim@fluendo.com>
18089 * docs/manual/basics-bins.xml:
18090 * docs/manual/basics-elements.xml:
18091 Some small fixes as pointed out by Ser-ver on IRC.
18093 2006-01-10 Edward Hervey <edward@fluendo.com>
18095 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18096 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18097 the single-segment mode.
18099 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18101 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18103 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18104 (gst_base_src_perform_seek), (gst_base_src_send_event),
18105 (gst_base_src_set_property), (gst_base_src_get_property),
18106 (gst_base_src_loop), (gst_base_src_start),
18107 (gst_base_src_activate_push):
18108 * libs/gst/base/gstbasesrc.h:
18109 Name (private) union; makes Sun's Forte compiler happy (#324900).
18111 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18114 gst-register is gone.
18116 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18118 * gst/gstvalue.c: (_gst_value_initialize):
18119 make the G_TYPE_DATE instantiation work if debug is disabled
18121 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18123 * gst/gstmessage.c: (gst_message_parse_tag),
18124 (gst_message_parse_error), (gst_message_parse_warning):
18125 Don't crash when return location for error/warning debug
18126 string is NULL; add fact that return locations can be
18127 NULL to docs where appropriate.
18129 2006-01-05 Wim Taymans <wim@fluendo.com>
18131 * gst/gstplugin.c: (gst_plugin_load_file):
18132 Replace strdup by g_strdup.
18134 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18136 * docs/pwg/advanced-types.xml:
18139 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18141 submitted by: Abel Cheung
18145 Added Chinese (traditional) translation
18147 2006-01-04 Wim Taymans <wim@fluendo.com>
18149 * docs/manual/basics-pads.xml:
18150 * docs/plugins/Makefile.am:
18151 * docs/plugins/gstreamer-plugins-docs.sgml:
18152 * docs/plugins/gstreamer-plugins-sections.txt:
18153 * docs/pwg/advanced-clock.xml:
18154 * docs/pwg/advanced-scheduling.xml:
18155 * docs/pwg/advanced-types.xml:
18156 * plugins/elements/gstfdsink.c:
18157 * plugins/elements/gstfdsrc.c:
18158 * plugins/elements/gstfdsrc.h:
18159 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18160 * plugins/elements/gstidentity.h:
18161 * plugins/elements/gstqueue.h:
18162 * plugins/elements/gsttee.c:
18163 * plugins/elements/gsttee.h:
18164 * plugins/elements/gsttypefindelement.c:
18165 (gst_type_find_element_class_init):
18166 * plugins/elements/gsttypefindelement.h:
18167 Small updates to various docs.
18168 Added core plugins to docs.
18170 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18173 add a suppression for liboil's uninitialized variable
18175 2006-01-02 James Livingston <jrl at ids dot org dot au>
18177 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18180 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18181 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18182 compiler switch is being used (#325429).
18184 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18186 * gst/gstbin.c: (gst_bin_query):
18187 Disable duration query caching in bins until it gets
18188 fixed (see #324807).
18190 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18192 * tools/gst-inspect.c: (print_element_properties_info):
18193 Handle properties of POINTER and BOXED type.
18195 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18197 * gst/gst.c: (init_post):
18198 Init tags stuff and some other things before loading
18199 any static plugins (there may be other static plugins
18200 than just the GStreamer ones, and they may want to
18201 register their own tags or formats or whatever, and
18202 preferably without segfaulting).
18204 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18205 Print at least a warning in the debug logs if we drop a
18206 query just because we don't know how to adjust the value
18207 in the particular format.
18209 2005-12-24 David Schleef <ds@schleef.org>
18211 * tools/gstreamer-completion:
18212 Replacement for gst-complete written in sh and sed. Only
18213 completes names of features, but that's 90% of what I want
18214 it for. Properties are not available in registry.xml. (Maybe
18217 === release 0.10.1 ===
18219 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18222 releasing 0.10.1, "Nollaig chridheil"
18224 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18226 * docs/faq/cvs.xml:
18227 Add missing quote, should be make ERROR_CFLAGS="".
18229 2005-12-20 Wim Taymans <wim@fluendo.com>
18231 * docs/design/part-trickmodes.txt:
18232 More documentation on trickmodes.
18234 2005-12-20 Edward Hervey <edward@fluendo.com>
18236 * gst/gstcaps.c: (gst_static_caps_get_type):
18238 API addition: GST_TYPE_STATIC_CAPS
18239 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18240 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18241 * gst/gstpadtemplate.h:
18242 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18243 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18246 2005-12-18 Wim Taymans <wim@fluendo.com>
18248 * libs/gst/base/gstadapter.c:
18249 * libs/gst/base/gstadapter.h:
18250 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18251 (gst_base_sink_get_position):
18252 * libs/gst/base/gstbasesink.h:
18253 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18254 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18255 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18256 (gst_base_src_send_event), (gst_base_src_update_length),
18257 (gst_base_src_get_range), (gst_base_src_loop),
18258 (gst_base_src_start):
18259 * libs/gst/base/gstbasesrc.h:
18260 * libs/gst/base/gstbasetransform.h:
18261 * libs/gst/base/gstcollectpads.h:
18262 * libs/gst/base/gstpushsrc.c:
18263 * libs/gst/base/gstpushsrc.h:
18264 * libs/gst/dataprotocol/dataprotocol.c:
18265 * libs/gst/dataprotocol/dataprotocol.h:
18266 * libs/gst/net/gstnetclientclock.h:
18267 * libs/gst/net/gstnettimeprovider.h:
18268 Documentation updates.
18270 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18272 * docs/manual/basics-helloworld.xml:
18273 Remove superfluous closing bracket in helloworld example.
18275 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18277 * tools/gst-launch.1.in:
18278 Update gst-launch man page; add a section with useful
18279 environment variables. Fixes #323882.
18281 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18284 * gst/gst_private.h:
18285 change some char* into char[]
18287 2005-12-16 Wim Taymans <wim@fluendo.com>
18289 * gst/gstregistryxml.c: (load_feature):
18291 Don't use g_object_unref on GstObjects so that we avoid
18292 leaks on unsafe glibs.
18294 2005-12-16 Wim Taymans <wim@fluendo.com>
18296 * gst/gstbin.c: (gst_bin_recalc_state):
18299 2005-12-16 Wim Taymans <wim@fluendo.com>
18301 * common/check.mak:
18302 Added make forever target for check.
18304 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18306 * gst/gst.c: (init_post):
18307 make the registry cache file HOST_CPU-dependent
18309 2005-12-16 Andy Wingo <wingo@pobox.com>
18311 * plugins/elements/gstbufferstore.c
18312 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18315 * tests/check/gst/gstobject.c
18316 (test_fake_object_name_threaded_unique): Pay attention to
18317 g_list_sort return value.
18319 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18321 * tools/gst-feedback-m.m:
18322 Update for 0.9/0.10 (fixes #323870).
18324 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18326 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18327 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18329 * tests/check/gst/gstminiobject.c: (my_foo_init),
18330 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18331 (test_value_collection), (gst_mini_object_suite):
18332 Add test to ensure refcounts end up as expected when passing
18333 GstMiniObjects through g_object_get() and g_object_set().
18335 2005-12-14 Julien MOUTTE <julien@moutte.net>
18337 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18338 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18339 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18340 of collectpads. This version removes a lot of races without
18341 touching API/ABI. Yay !
18343 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18345 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18346 Don't allow activation of a srcpad in pull_range if it has no
18348 Change some debug statements to be a little clearer
18350 * plugins/elements/gsttypefindelement.c:
18351 (gst_type_find_handle_src_query):
18352 Check that we have a peer before executing queries thereupon.
18354 * tests/examples/metadata/read-metadata.c: (message_loop):
18355 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18356 immediately return us any available message with 0 timeout.
18358 2005-12-12 Michael Smith <msmith@fluendo.com>
18360 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18361 Don't unref factories after calling them.
18362 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18363 * plugins/elements/gsttypefindelement.c:
18364 (gst_type_find_element_chain):
18365 Free lists of factories after using them. Fixing typefinding memory
18368 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18370 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18371 (gst_plugin_feature_load):
18372 more meaningful debug output
18374 * tests/Makefile.am:
18375 * tests/old/examples/Makefile.am:
18376 make make distcheck happy again
18378 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18380 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18381 Catch the special case where we are operating chain-based,
18382 but the downstream peer pad has no chain function. Emit a
18383 custom error message in this case instead of letting the
18384 core generate one implying that this is some sort of core
18385 bug. It's not, it just means that whatever got plugged
18386 into the pipeline downstream when we announced the type
18387 can only operate pull-based, while our source can only
18388 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18389 Error string has not been marked for translation yet, as
18390 it probably needs some more work first.
18392 (gst_type_find_element_get_best_possibility):
18393 Add helper function to find the best of all available
18394 found possibilities that qualify given the min. threshold.
18396 (gst_type_find_element_handle_event):
18397 Fix the case where we get an EOS while still in TYPEFIND
18398 mode (we want to chose the best of all possible types,
18399 not just the first type that happens to be in our unsorted
18400 list of possible types).
18402 (gst_type_find_element_chain):
18403 Make sure we return GST_FLOW_ERROR when we errored out
18404 in stop_typefinding(); also, don't just find the best of
18405 all found type entries and then use the last examined
18406 type entry, but actually use the best entry.
18408 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18410 * tests/examples/typefind/typefind.c: (type_found):
18411 * tests/examples/xml/runxml.c: (xml_loaded):
18412 More gcc4 fixes and a mem leak fix.
18414 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18416 * tests/examples/xml/createxml.c: (object_saved):
18419 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18421 * tests/Makefile.am:
18422 enable the examples even more
18424 2005-12-12 Andy Wingo <wingo@pobox.com>
18426 * libs/gst/net/gstnettimeprovider.c
18427 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18428 (gst_net_time_provider_set_property)
18429 (gst_net_time_provider_get_property):
18430 API addition: Export "active" as a GObject property.
18431 (gst_net_time_provider_thread): Only respond to time queries if
18432 the time provider is active.
18434 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18435 NetTimeProvider, preserving binary compat.
18437 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18439 * tests/examples/controller/audio-example.c: (main):
18440 * tests/examples/launch/Makefile.am:
18441 convert comments again
18443 2005-12-12 Wim Taymans <wim@fluendo.com>
18445 * libs/gst/base/gstpushsrc.c:
18448 2005-12-12 Wim Taymans <wim@fluendo.com>
18450 * docs/libs/gstreamer-libs-sections.txt:
18451 Added new symbol to docs.
18453 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18454 (gst_base_src_init), (gst_base_src_set_format),
18455 (gst_base_src_default_query), (gst_base_src_query),
18456 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18457 (gst_base_src_perform_seek), (gst_base_src_send_event),
18458 (gst_base_src_default_event), (gst_base_src_event_handler),
18459 (gst_base_src_set_property), (gst_base_src_get_property),
18460 (gst_base_src_wait), (gst_base_src_do_sync),
18461 (gst_base_src_update_length), (gst_base_src_get_range),
18462 (gst_base_src_check_get_range), (gst_base_src_loop),
18463 (gst_base_src_default_negotiate), (gst_base_src_start),
18464 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18465 (gst_base_src_change_state):
18466 * libs/gst/base/gstbasesrc.h:
18467 Implement seeking to other formats than _BYTES.
18468 Implement more seeking methods correctly.
18470 Added query vmethod.
18471 Added do_seek vmethod to make life easier for subclasses
18473 API addition: gst_base_src_set_format()
18475 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18477 * tests/examples/Makefile.am:
18480 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18483 * docs/random/ensonic/media-device-daemon.txt:
18484 * tests/examples/controller/.cvsignore:
18485 * tests/examples/controller/Makefile.am:
18486 * tests/examples/controller/audio-example.c: (main):
18487 * tests/examples/helloworld/.cvsignore:
18488 * tests/examples/helloworld/Makefile.am:
18489 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18490 * tests/examples/launch/.cvsignore:
18491 * tests/examples/launch/Makefile.am:
18492 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18493 * tests/examples/metadata/.cvsignore:
18494 * tests/examples/metadata/Makefile.am:
18495 * tests/examples/metadata/read-metadata.c: (message_loop),
18496 (make_pipeline), (print_tag), (main):
18497 * tests/examples/queue/.cvsignore:
18498 * tests/examples/queue/Makefile.am:
18499 * tests/examples/queue/queue.c: (event_loop), (main):
18500 * tests/examples/typefind/.cvsignore:
18501 * tests/examples/typefind/Makefile.am:
18502 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18504 * tests/examples/xml/.cvsignore:
18505 * tests/examples/xml/Makefile.am:
18506 * tests/examples/xml/createxml.c: (object_saved), (main):
18507 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18508 * tests/old/examples/Makefile.am:
18509 * tests/old/examples/TODO:
18510 * tests/old/examples/controller/.cvsignore:
18511 * tests/old/examples/controller/Makefile.am:
18512 * tests/old/examples/controller/audio-example.c:
18513 * tests/old/examples/helloworld/.cvsignore:
18514 * tests/old/examples/helloworld/Makefile.am:
18515 * tests/old/examples/helloworld/helloworld.c:
18516 * tests/old/examples/launch/.cvsignore:
18517 * tests/old/examples/launch/Makefile.am:
18518 * tests/old/examples/launch/mp3parselaunch.c:
18519 * tests/old/examples/launch/mp3play:
18520 * tests/old/examples/manual/Makefile.am:
18521 * tests/old/examples/metadata/Makefile.am:
18522 * tests/old/examples/metadata/read-metadata.c:
18523 * tests/old/examples/queue/.cvsignore:
18524 * tests/old/examples/queue/Makefile.am:
18525 * tests/old/examples/queue/queue.c:
18526 * tests/old/examples/typefind/.cvsignore:
18527 * tests/old/examples/typefind/Makefile.am:
18528 * tests/old/examples/typefind/typefind.c:
18529 * tests/old/examples/xml/.cvsignore:
18530 * tests/old/examples/xml/Makefile.am:
18531 * tests/old/examples/xml/createxml.c:
18532 * tests/old/examples/xml/runxml.c:
18533 applied some simple fixing to some examples
18534 re-enabled the working examples
18536 2005-12-12 Wim Taymans <wim@fluendo.com>
18538 * gst/gstsegment.c: (gst_segment_init),
18539 (gst_segment_set_last_stop), (gst_segment_set_seek),
18540 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18541 (gst_segment_to_running_time):
18542 Added more documentation.
18543 Make sure the last_pos value is updated properly.
18544 Make sure to_stream_time and to_running_time don't
18545 operate on wrong values.
18547 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18550 2005-12-12 Michael Smith <msmith@fluendo.com>
18552 * plugins/elements/gsttypefindelement.c: (free_entry),
18553 (gst_type_find_element_chain):
18554 Now that we're not leaking factories, make sure we keep references
18555 to them while we need them.
18557 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18559 * tests/check/gst/struct_i386.h:
18560 ifdef out the XML structs
18562 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18564 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18565 floor is not needed, F is always positive; this obviates the
18566 need for adding -lm when building without libxml
18568 2005-12-12 Wim Taymans <wim@fluendo.com>
18570 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18571 Take current playback rate into account when reporting
18574 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18576 * docs/manual/mime-world.fig:
18577 Let's try this again, this time with a file that is
18578 actually in XFig format.
18580 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18582 * docs/manual/mime-world.fig:
18583 Add audioconvert element to diagram so that it
18584 matches the text and the code (fixes #319526).
18586 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18588 * docs/pwg/building-chainfn.xml:
18589 * docs/pwg/building-pads.xml:
18590 * docs/pwg/building-state.xml:
18591 * docs/pwg/other-source.xml:
18592 Update state change stuff for 0.10 (fixes #322969).
18594 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18596 * docs/manual/advanced-dataaccess.xml:
18597 * docs/manual/appendix-checklist.xml:
18598 * docs/manual/appendix-programs.xml:
18599 * docs/manual/basics-pads.xml:
18600 * docs/manual/highlevel-components.xml:
18601 * docs/manual/manual.xml:
18602 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18603 add converters in front of pipelines; remove curly
18604 brackets for threads stuff, they no longer exist; use
18605 GST_TYPE_FRACTION for framerates; update some pieces of
18606 code to 0.10, but there's plenty more to do.
18608 * docs/manual/appendix-porting.xml:
18609 Expand on asynchroneous state changes; s/0.9/0.10/;
18610 mention disappearance of gst_init_get_popt_table()
18613 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18615 * docs/faq/using.xml:
18616 Spider no longer exists, and neither does gst-launch-ext.
18617 Update examples to use decodebin and playbin and put
18618 converters in front of sinks (fixes #323726).
18620 2005-12-09 Michael Smith <msmith@fluendo.com>
18622 * plugins/elements/gsttypefindelement.c: (find_peek),
18623 (gst_type_find_element_chain):
18624 Fix leaking element factories in typefinding.
18625 Fix problem where we forgot about a probable type on non-seekable
18626 files, and thus later mis-typefound it.
18628 2005-12-09 Michael Smith <msmith@fluendo.com>
18630 * common/m4/gst-makecontext.m4:
18631 * common/m4/gst-mcsc.m4:
18633 * win32/common/config.h:
18634 * win32/common/config.h.in:
18635 Remove makecontext stuff; not used in 0.10 and causes problems on
18636 HPUX according to bug #322441
18638 2005-12-07 Wim Taymans <wim@fluendo.com>
18640 * tests/check/Makefile.am:
18641 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18643 * tests/check/libs/struct_i386.h:
18644 Added ABI check for libs
18646 2005-12-07 Wim Taymans <wim@fluendo.com>
18648 * tests/check/Makefile.am:
18649 And add the struct_i386.h to dist.
18651 2005-12-07 Wim Taymans <wim@fluendo.com>
18653 * tests/check/Makefile.am:
18654 * tests/check/gst/.cvsignore:
18655 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18657 * tests/check/gst/struct_i386.h:
18658 Added check for ABI compatibility.
18660 2005-12-07 Wim Taymans <wim@fluendo.com>
18662 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18663 (gst_fake_src_get_times), (gst_fake_src_create):
18664 Fix broken sync option, fixes #323259
18666 2005-12-07 Wim Taymans <wim@fluendo.com>
18671 * gst/gstcaps.c: (gst_caps_is_equal):
18672 Don't assert on NULL <--> X. Fixes #323260
18674 * gst/gstminiobject.c: (gst_mini_object_replace):
18675 If we're doing atomic operations, we might just as well use
18676 the proper way to get an atomic pointer.
18678 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18679 Clean up debugging.
18681 2005-12-07 Michael Smith <msmith@fluendo.com>
18683 * gst/parse/grammar.y:
18684 Remove handling of { } for threads.
18686 2005-12-06 David Schleef <ds@schleef.org>
18688 * libs/gst/base/gstbasetransform.c: speling fix.
18690 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18692 * docs/libs/tmpl/gstdataprotocol.sgml:
18693 * docs/random/omega/testing/gstobject.c:
18696 * gst/gstelement.c:
18697 * gst/gstelementfactory.c:
18700 * gst/gstghostpad.c:
18702 * gst/gstpadtemplate.c:
18703 * gst/gstregistryxml.c:
18704 * gst/gsttaglist.c:
18705 * gst/gsttagsetter.c:
18706 * gst/gsttypefind.c:
18708 * libs/gst/base/gstbasesrc.c:
18709 * libs/gst/net/gstnetclientclock.c:
18710 * libs/gst/net/gstnettimeprovider.c:
18711 * plugins/elements/gstfakesrc.c:
18712 * plugins/elements/gstfdsrc.c:
18713 * plugins/elements/gstfilesrc.c:
18714 * plugins/elements/gstidentity.c:
18715 * plugins/elements/gstqueue.c:
18716 * plugins/elements/gsttypefindelement.c:
18717 * plugins/indexers/gstfileindex.c:
18718 * plugins/indexers/gstmemindex.c:
18719 * tests/check/gst/gsttag.c:
18720 * tests/old/examples/cutter/cutter.c:
18721 * tests/old/examples/mixer/mixer.c:
18722 * tests/old/examples/xml/runxml.c: (main):
18723 * tests/old/testsuite/caps/normalisation.c:
18724 * tests/old/testsuite/debug/global.c:
18725 * tests/old/testsuite/parse/parse1.c:
18726 * tools/gst-xmlinspect.c:
18727 * win32/common/dirent.c:
18730 === release 0.10.0 ===
18732 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18735 releasing 0.10.0, "Maroilles"
18737 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18739 submitted by: Funda Wang <fundawang@linux.net.cn>
18743 added Chinese (Traditional) translation
18745 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18747 * docs/gst/gstreamer-sections.txt:
18748 * docs/libs/tmpl/gstdataprotocol.sgml:
18749 * docs/random/thomasvs/TODO:
18754 2005-12-05 Andy Wingo <wingo@pobox.com>
18756 patch by: Wim Taymans <wim@fluendo.com>
18758 * libs/gst/base/gstbasetransform.c
18759 (gst_base_transform_prepare_output_buf)
18760 (gst_base_transform_buffer_alloc):
18761 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18762 alloc_buffer_and_set_caps.
18764 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18765 set_caps on the source pad.
18766 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18767 alloc_buffer used to do. Fixes #322874.
18769 * docs/gst/gstreamer-sections.txt:
18770 * docs/design/part-negotiation.txt:
18771 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18774 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18776 patch by: Sebastien Moutte
18779 * win32/common/config.h.in:
18780 * win32/vs6/libgstcontroller.dsp:
18783 2005-12-05 Wim Taymans <wim@fluendo.com>
18785 * gst/gstcaps.c: (gst_caps_is_equal):
18786 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18787 (gst_fake_src_create):
18788 Back out previous code changes, leave doc updates, file bugs
18791 2005-12-05 Wim Taymans <wim@fluendo.com>
18793 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18794 (gst_fake_src_get_times), (gst_fake_src_create):
18795 * plugins/elements/gstfakesrc.h:
18796 Fix broken sync code.
18798 2005-12-05 Wim Taymans <wim@fluendo.com>
18800 * gst/gstcaps.c: (gst_caps_is_equal):
18801 Comparing NULL against !NULL yields different caps, not a
18804 2005-12-05 Wim Taymans <wim@fluendo.com>
18806 * gst/gstpipeline.c:
18807 Fix small typo in docs.
18809 2005-12-05 Andy Wingo <wingo@pobox.com>
18811 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18813 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18814 registries/plugins with a MAJORMINOR one.
18815 (plugin_desc): Rename library from gstcoreleements to
18816 staticelements. Fixes #323222.
18818 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18820 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18821 Change debug category to 'collectpads' from 'collect_pads'
18824 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18826 patch by: Sebastien Moutte
18828 * libs/gst/controller/gstinterpolation.c:
18829 use convert function for uint64/double
18830 * win32/vs6/libgstcontroller.dsp:
18833 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18835 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18836 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18838 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18839 add tests that seem to show that the guint64/gdouble conversions
18842 2005-12-02 Wim Taymans <wim@fluendo.com>
18844 * gst/gstregistry.c: (gst_registry_add_path):
18845 * gst/gstregistry.h:
18846 * gst/gstregistryxml.c:
18849 2005-12-02 Wim Taymans <wim@fluendo.com>
18851 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18852 (gst_util_uint64_scale_int):
18855 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18856 Add debug log line.
18858 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18861 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18864 * win32/common/config.h:
18865 * win32/vs6/gstreamer.dsw:
18866 * win32/vs6/libgstcoreelements.dsp:
18867 * win32/vs6/libgstelements.dsp:
18868 renamed core elements plugin
18870 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18872 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18874 do piece-wise major/minor comparison so 0.9 < 0.10
18875 also allow .exe extensions for tools
18877 2005-12-02 Michael Smith <msmith@fluendo.com>
18880 Escape a % to make gtkdoc happier; bug 322958.
18882 === release 0.9.7 ===
18884 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18887 releasing 0.9.7, "My Dog Has No Nose"
18889 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18891 * common/gst-xmlinspect.py:
18893 * docs/libs/tmpl/gstdataprotocol.sgml:
18894 * docs/random/release:
18913 * win32/common/config.h:
18914 * win32/common/config.h.in:
18915 * win32/vs6/gst_inspect.dsp:
18916 * win32/vs6/gst_launch.dsp:
18917 * win32/vs6/libgstbase.dsp:
18918 * win32/vs6/libgstelements.dsp:
18919 * win32/vs6/libgstreamer.dsp:
18920 * win32/vs7/GStreamer.vcproj:
18921 * win32/vs7/gst-inspect.vcproj:
18922 * win32/vs7/gst-launch.vcproj:
18923 * win32/vs7/libgstbase.vcproj:
18924 bump GST_MAJORMINOR to 0.10
18925 reset libtool version
18927 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18931 Added Bulgarian translation by (Alexander Shopov)
18933 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18935 * tests/check/gst/gstplugin.c:
18938 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18940 * common/gst-xmlinspect.py:
18941 * common/gtk-doc-plugins.mak:
18943 * docs/Makefile.am:
18944 * docs/gst/Makefile.am:
18945 * docs/gst/gstreamer-docs.sgml:
18946 * docs/gst/gstreamer-sections.txt:
18947 * docs/gst/gstreamer.types:
18948 * docs/gst/gstreamer.types.in:
18949 * docs/plugins/Makefile.am:
18950 * docs/plugins/gstreamer-plugins-docs.sgml:
18951 * docs/plugins/gstreamer-plugins-sections.txt:
18952 * docs/plugins/gstreamer-plugins.types:
18953 * docs/plugins/inspect.stamp:
18954 * docs/plugins/inspect/plugin-coreelements.xml:
18955 * docs/plugins/inspect/plugin-coreindexers.xml:
18956 * docs/plugins/scanobj-build.stamp:
18957 * gstreamer.spec.in:
18958 * plugins/elements/Makefile.am:
18959 * plugins/elements/gstelements.c:
18960 * plugins/elements/gstfakesink.c:
18961 * plugins/elements/gstfakesrc.c:
18962 * plugins/elements/gstfilesink.c:
18963 * plugins/elements/gstfilesrc.c:
18964 * plugins/elements/gstqueue.c:
18965 * plugins/indexers/Makefile.am:
18966 * plugins/indexers/gstindexers.c:
18967 document core plugins in a separate document just like all the
18969 rename these plugins to something starting with core
18971 2005-12-01 Andy Wingo <wingo@pobox.com>
18973 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18974 padding here before, but it missed the commit.
18976 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18978 * libs/gst/controller/gstinterpolation.c:
18979 whitespace prices have crashed, we should feel free to use some now
18980 use gst_guint64_to_gdouble
18982 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18984 * libs/gst/controller/gstcontroller.c:
18985 * libs/gst/controller/gsthelper.c:
18986 * libs/gst/controller/gstinterpolation.c:
18987 * libs/gst/controller/lib.c:
18988 wrap config.h include
18990 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18992 * docs/gst/gstreamer-sections.txt:
18995 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18997 * plugins/elements/gstelements.c:
18998 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18999 (gst_fd_sink__class_init), (gst_fd_sink__init),
19000 (gst_fd_sink__chain), (gst_fd_sink__set_property),
19001 (gst_fd_sink__get_property):
19002 * plugins/elements/gstfdsink.h:
19003 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19004 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19005 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19006 (gst_fd_src_unlock), (gst_fd_src_set_property),
19007 (gst_fd_src_get_property), (gst_fd_src_create),
19008 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19009 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19010 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19011 (gst_fd_src_uri_handler_init):
19012 * plugins/elements/gstfdsrc.h:
19013 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19016 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19018 * docs/gst/Makefile.am:
19019 * docs/gst/gstreamer.types.in:
19023 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19029 * gst/gstregistry.h:
19030 * tests/benchmarks/complexity.c:
19031 * tests/benchmarks/mass-elements.c:
19032 * tests/check/Makefile.am:
19033 * tools/Makefile.am:
19034 * tools/gst-inspect.c:
19035 * tools/gst-xmlinspect.c:
19036 various fixes to make
19037 --disable-nls --disable-registry --disable-loadsave
19038 --disable-parse --disable-gst-debug
19039 work and get the core .so down to 360444 bytes after stripping
19041 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19046 * docs/random/thomasvs/TODO:
19047 * tests/Makefile.am:
19051 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19053 * win32/GStreamer.vcproj:
19056 * win32/Makefile.inspect:
19057 * win32/Makefile.launch:
19058 * win32/Makefile.register:
19059 * win32/README.txt:
19060 * win32/gst-inspect.vcproj:
19061 * win32/gst-launch.vcproj:
19062 * win32/gst-register.vcproj:
19063 * win32/gstelements.vcproj:
19064 * win32/gstgetbits.def:
19065 * win32/gstgetbits.vcproj:
19066 * win32/gstreamer-dbg.def:
19067 * win32/gstreamer.def:
19068 * win32/libgstbase.def:
19069 * win32/libgstbase.vcproj:
19070 * win32/link_oldruntime.c:
19074 * win32/msvc71.sln:
19075 move even more stuff, win32/ is nice and clean now
19077 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19079 * libs/gst/control/.cvsignore:
19084 * win32/gstbytestream.def:
19085 * win32/gstbytestream.vcproj:
19086 * win32/gstconfig.h:
19087 * win32/gstenumtypes.c:
19088 * win32/gstenumtypes.h:
19089 * win32/gstoptimalscheduler.vcproj:
19090 * win32/gstversion.h:
19092 * win32/testsuite/bins.vcproj:
19093 * win32/testsuite/bytestream.vcproj:
19094 * win32/testsuite/caps.vcproj:
19095 * win32/testsuite/cleanup.vcproj:
19096 * win32/testsuite/clock.vcproj:
19097 * win32/testsuite/debug.vcproj:
19098 * win32/testsuite/dlopen.vcproj:
19099 * win32/testsuite/dynparams.vcproj:
19100 * win32/testsuite/elements.vcproj:
19101 * win32/testsuite/ghostpads.vcproj:
19102 * win32/testsuite/indexers.vcproj:
19103 * win32/testsuite/negotiation.vcproj:
19104 * win32/testsuite/parse.vcproj:
19105 * win32/testsuite/plugin.vcproj:
19106 * win32/testsuite/refcounting.vcproj:
19107 * win32/testsuite/schedulers.vcproj:
19108 * win32/testsuite/states.vcproj:
19109 * win32/testsuite/tags.vcproj:
19110 * win32/testsuite/threads.vcproj:
19111 remove old win32 stuff that isn't maintained and should be
19114 2005-11-30 Andy Wingo <wingo@pobox.com>
19116 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19117 loading the gst.interfaces python module bork.
19119 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19120 available since GLib 2.2. Fixes #318031.
19122 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19125 * check/.cvsignore:
19126 * check/Makefile.am:
19127 * check/elements/.cvsignore:
19128 * check/elements/fakesrc.c:
19129 * check/elements/fdsrc.c:
19130 * check/elements/identity.c:
19131 * check/generic/.cvsignore:
19132 * check/generic/states.c:
19133 * check/gst-libs/.cvsignore:
19134 * check/gst-libs/controller.c:
19135 * check/gst-libs/gdp.c:
19136 * check/gst/.cvsignore:
19137 * check/gst/capslist.h:
19139 * check/gst/gstbin.c:
19140 * check/gst/gstbuffer.c:
19141 * check/gst/gstbus.c:
19142 * check/gst/gstcaps.c:
19143 * check/gst/gstelement.c:
19144 * check/gst/gstevent.c:
19145 * check/gst/gstghostpad.c:
19146 * check/gst/gstiterator.c:
19147 * check/gst/gstmessage.c:
19148 * check/gst/gstminiobject.c:
19149 * check/gst/gstobject.c:
19150 * check/gst/gstpad.c:
19151 * check/gst/gstpipeline.c:
19152 * check/gst/gstplugin.c:
19153 * check/gst/gstsegment.c:
19154 * check/gst/gststructure.c:
19155 * check/gst/gstsystemclock.c:
19156 * check/gst/gsttag.c:
19157 * check/gst/gstutils.c:
19158 * check/gst/gstvalue.c:
19159 * check/net/.cvsignore:
19160 * check/net/gstnetclientclock.c:
19161 * check/net/gstnettimeprovider.c:
19162 * check/pipelines/.cvsignore:
19163 * check/pipelines/cleanup.c:
19164 * check/pipelines/simple_launch_lines.c:
19165 * check/pipelines/stress.c:
19166 * check/states/.cvsignore:
19167 * check/states/sinks.c:
19169 * examples/Makefile.am:
19170 * examples/appreader/.cvsignore:
19171 * examples/appreader/Makefile.am:
19172 * examples/appreader/appreader.c:
19173 * examples/controller/.cvsignore:
19174 * examples/controller/Makefile.am:
19175 * examples/controller/audio-example.c:
19176 * examples/cutter/.cvsignore:
19177 * examples/cutter/Makefile.am:
19178 * examples/cutter/cutter.c:
19179 * examples/cutter/cutter.h:
19180 * examples/events/Makefile.am:
19181 * examples/events/seek.c:
19182 * examples/helloworld/.cvsignore:
19183 * examples/helloworld/Makefile.am:
19184 * examples/helloworld/helloworld.c:
19185 * examples/helloworld2/.cvsignore:
19186 * examples/helloworld2/Makefile.am:
19187 * examples/helloworld2/helloworld2.c:
19188 * examples/launch/.cvsignore:
19189 * examples/launch/Makefile.am:
19190 * examples/launch/mp3parselaunch.c:
19191 * examples/launch/mp3play:
19192 * examples/manual/.cvsignore:
19193 * examples/manual/Makefile.am:
19194 * examples/manual/extract.pl:
19195 * examples/metadata/Makefile.am:
19196 * examples/metadata/read-metadata.c:
19197 * examples/mixer/.cvsignore:
19198 * examples/mixer/Makefile.am:
19199 * examples/mixer/mixer.c:
19200 * examples/mixer/mixer.h:
19201 * examples/pingpong/.cvsignore:
19202 * examples/pingpong/Makefile.am:
19203 * examples/pingpong/pingpong.c:
19204 * examples/plugins/.cvsignore:
19205 * examples/plugins/Makefile.am:
19206 * examples/plugins/example.c:
19207 * examples/plugins/example.h:
19208 * examples/pwg/.cvsignore:
19209 * examples/pwg/Makefile.am:
19210 * examples/pwg/extract.pl:
19211 * examples/queue/.cvsignore:
19212 * examples/queue/Makefile.am:
19213 * examples/queue/queue.c:
19214 * examples/queue2/.cvsignore:
19215 * examples/queue2/Makefile.am:
19216 * examples/queue2/queue2.c:
19217 * examples/queue3/.cvsignore:
19218 * examples/queue3/Makefile.am:
19219 * examples/queue3/queue3.c:
19220 * examples/queue4/.cvsignore:
19221 * examples/queue4/Makefile.am:
19222 * examples/queue4/queue4.c:
19223 * examples/retag/.cvsignore:
19224 * examples/retag/Makefile.am:
19225 * examples/retag/retag.c:
19226 * examples/retag/transcode.c:
19227 * examples/thread/.cvsignore:
19228 * examples/thread/Makefile.am:
19229 * examples/thread/thread.c:
19230 * examples/typefind/.cvsignore:
19231 * examples/typefind/Makefile.am:
19232 * examples/typefind/typefind.c:
19233 * examples/xml/.cvsignore:
19234 * examples/xml/Makefile.am:
19235 * examples/xml/createxml.c:
19236 * examples/xml/runxml.c:
19237 * tests/Makefile.am:
19238 * tests/check/Makefile.am:
19239 * testsuite/.cvsignore:
19240 * testsuite/Makefile.am:
19242 * testsuite/caps/.cvsignore:
19243 * testsuite/caps/Makefile.am:
19244 * testsuite/caps/app_fixate.c:
19245 * testsuite/caps/audioscale.c:
19246 * testsuite/caps/caps.c:
19247 * testsuite/caps/caps.h:
19248 * testsuite/caps/caps_strings:
19249 * testsuite/caps/compatibility.c:
19250 * testsuite/caps/deserialize.c:
19251 * testsuite/caps/enumcaps.c:
19252 * testsuite/caps/eratosthenes.c:
19253 * testsuite/caps/filtercaps.c:
19254 * testsuite/caps/fixed.c:
19255 * testsuite/caps/fraction-convert.c:
19256 * testsuite/caps/fraction-multiply-and-zero.c:
19257 * testsuite/caps/intersect2.c:
19258 * testsuite/caps/intersection.c:
19259 * testsuite/caps/normalisation.c:
19260 * testsuite/caps/random.c:
19261 * testsuite/caps/renegotiate.c:
19262 * testsuite/caps/sets.c:
19263 * testsuite/caps/simplify.c:
19264 * testsuite/caps/string-conversions.c:
19265 * testsuite/caps/structure.c:
19266 * testsuite/caps/subtract.c:
19267 * testsuite/caps/union.c:
19268 * testsuite/debug/.cvsignore:
19269 * testsuite/debug/Makefile.am:
19270 * testsuite/debug/category.c:
19271 * testsuite/debug/commandline.c:
19272 * testsuite/debug/global.c:
19273 * testsuite/debug/output.c:
19274 * testsuite/debug/printf_extension.c:
19275 * testsuite/dlopen/.cvsignore:
19276 * testsuite/dlopen/Makefile.am:
19277 * testsuite/dlopen/dlopen_gst.c:
19278 * testsuite/dlopen/loadgst.c:
19279 * testsuite/elements/.cvsignore:
19280 * testsuite/elements/Makefile.am:
19281 * testsuite/elements/gst-inspect-check.in:
19282 * testsuite/elements/struct_i386.h:
19283 * testsuite/elements/struct_size.c:
19284 * testsuite/indexers/.cvsignore:
19285 * testsuite/indexers/Makefile.am:
19286 * testsuite/indexers/cache1.c:
19287 * testsuite/indexers/indexdump.c:
19288 * testsuite/parse/.cvsignore:
19289 * testsuite/parse/Makefile.am:
19290 * testsuite/parse/parse1.c:
19291 * testsuite/parse/parse2.c:
19292 * testsuite/plugin/.cvsignore:
19293 * testsuite/plugin/Makefile.am:
19294 * testsuite/plugin/README:
19295 * testsuite/plugin/dynamic.c:
19296 * testsuite/plugin/linked.c:
19297 * testsuite/plugin/loading.c:
19298 * testsuite/plugin/registry.c:
19299 * testsuite/plugin/static.c:
19300 * testsuite/plugin/static2.c:
19301 * testsuite/plugin/testplugin.c:
19302 * testsuite/plugin/testplugin2.c:
19303 * testsuite/plugin/testplugin2_s.c:
19304 * testsuite/plugin/testplugin_s.c:
19305 * testsuite/refcounting/.cvsignore:
19306 * testsuite/refcounting/Makefile.am:
19307 * testsuite/refcounting/bin.c:
19308 * testsuite/refcounting/element.c:
19309 * testsuite/refcounting/element_pad.c:
19310 * testsuite/refcounting/mainloop.c:
19311 * testsuite/refcounting/mem.c:
19312 * testsuite/refcounting/mem.h:
19313 * testsuite/refcounting/object.c:
19314 * testsuite/refcounting/pad.c:
19315 * testsuite/refcounting/sched.c:
19316 * testsuite/refcounting/thread.c:
19317 * testsuite/states/.cvsignore:
19318 * testsuite/states/Makefile.am:
19319 * testsuite/states/bin.c:
19320 * testsuite/states/locked.c:
19321 * testsuite/states/parent.c:
19322 * testsuite/threads/.cvsignore:
19323 * testsuite/threads/159566.c:
19324 * testsuite/threads/159852.c:
19325 * testsuite/threads/Makefile.am:
19326 * testsuite/threads/queue.c:
19327 * testsuite/threads/signals.c:
19328 * testsuite/threads/staticrec.c:
19329 * testsuite/threads/thread.c:
19330 * testsuite/threads/threadb.c:
19331 * testsuite/threads/threadc.c:
19332 * testsuite/threads/threadd.c:
19333 * testsuite/threads/threade.c:
19334 * testsuite/threads/threadf.c:
19335 * testsuite/threads/threadg.c:
19336 * testsuite/threads/threadh.c:
19337 * testsuite/threads/threadi.c:
19338 move all of these under tests
19340 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19343 * tests/Makefile.am:
19346 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19348 * docs/gst/gstreamer-sections.txt:
19349 * tests/sched/.cvsignore:
19350 * tests/sched/Makefile.am:
19351 * tests/sched/cases/(fs-fs).xml:
19352 * tests/sched/cases/(fs-i-fs).xml:
19353 * tests/sched/cases/(fs-i-i-fs).xml:
19354 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19355 * tests/sched/dynamic-pipeline.c:
19356 * tests/sched/interrupt1.c:
19357 * tests/sched/interrupt2.c:
19358 * tests/sched/interrupt3.c:
19359 * tests/sched/runtestcases:
19360 * tests/sched/runxml.c:
19361 * tests/sched/sched-stress.c:
19362 * tests/sched/sort.c:
19363 * tests/sched/testcases:
19364 * tests/sched/testcases1.tc:
19365 * tests/seeking/.cvsignore:
19366 * tests/seeking/Makefile.am:
19367 * tests/seeking/seeking1.c:
19368 * tests/threadstate/.cvsignore:
19369 * tests/threadstate/Makefile.am:
19370 * tests/threadstate/test1.c:
19371 * tests/threadstate/test2.c:
19372 * tests/threadstate/threadstate1.c:
19373 * tests/threadstate/threadstate2.c:
19374 * tests/threadstate/threadstate3.c:
19375 * tests/threadstate/threadstate4.c:
19376 * tests/threadstate/threadstate5.c:
19377 remove obsolete tests
19379 * tests/bench-complexity.scm:
19380 * tests/bench-mass_elements.scm:
19381 * tests/complexity.c:
19382 * tests/complexity.gnuplot:
19383 * tests/instantiate/.cvsignore:
19384 * tests/instantiate/Makefile.am:
19385 * tests/instantiate/caps.c:
19386 * tests/mass_elements.c:
19387 * tests/network-clock-utils.scm:
19388 * tests/network-clock.scm:
19390 First pass at cleaning up tests/ dir before moving the rest
19391 Combined with CVS surgery
19393 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19396 queue has moved, update
19398 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19400 * docs/gst/gstreamer-sections.txt:
19401 remove double entries from the docs
19402 * gst/gst_private.h:
19403 * gst/gstinfo.c: (_gst_debug_init):
19404 remove the THREAD debug category
19408 * docs/gst/gstreamer.types:
19409 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19410 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19411 completely move queue and fix up debugging categories
19413 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19415 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19416 make initialization portable, using LL is not
19418 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19420 * win32/common/gstconfig.h:
19423 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19425 * win32/common/libgstreamer.def:
19426 rename symbols; sort base section
19428 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19430 * gst/gstclock.c: (do_linear_regression):
19431 remove crack non-portable handrolled DEBUG macro
19433 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19435 * docs/random/release:
19437 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19438 (gst_object_flags_get_type), (register_gst_bin_flags),
19439 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19440 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19441 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19442 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19443 (gst_caps_flags_get_type), (register_gst_clock_return),
19444 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19445 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19446 (gst_clock_flags_get_type), (register_gst_state),
19447 (gst_state_get_type), (register_gst_state_change_return),
19448 (gst_state_change_return_get_type), (register_gst_state_change),
19449 (gst_state_change_get_type), (register_gst_element_flags),
19450 (gst_element_flags_get_type), (register_gst_core_error),
19451 (gst_core_error_get_type), (register_gst_library_error),
19452 (gst_library_error_get_type), (register_gst_resource_error),
19453 (gst_resource_error_get_type), (register_gst_stream_error),
19454 (gst_stream_error_get_type), (register_gst_event_type_flags),
19455 (gst_event_type_flags_get_type), (register_gst_event_type),
19456 (gst_event_type_get_type), (register_gst_seek_type),
19457 (gst_seek_type_get_type), (register_gst_seek_flags),
19458 (gst_seek_flags_get_type), (register_gst_format),
19459 (gst_format_get_type), (register_gst_index_certainty),
19460 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19461 (gst_index_entry_type_get_type),
19462 (register_gst_index_lookup_method),
19463 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19464 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19465 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19466 (gst_index_flags_get_type), (register_gst_debug_level),
19467 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19468 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19469 (gst_iterator_result_get_type), (register_gst_iterator_item),
19470 (gst_iterator_item_get_type), (register_gst_message_type),
19471 (gst_message_type_get_type), (register_gst_mini_object_flags),
19472 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19473 (gst_pad_link_return_get_type), (register_gst_flow_return),
19474 (gst_flow_return_get_type), (register_gst_activate_mode),
19475 (gst_activate_mode_get_type), (register_gst_pad_direction),
19476 (gst_pad_direction_get_type), (register_gst_pad_flags),
19477 (gst_pad_flags_get_type), (register_gst_pad_presence),
19478 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19479 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19480 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19481 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19482 (gst_plugin_flags_get_type), (register_gst_rank),
19483 (gst_rank_get_type), (register_gst_query_type),
19484 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19485 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19486 (gst_tag_flag_get_type), (register_gst_task_state),
19487 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19488 (gst_alloc_trace_flags_get_type),
19489 (register_gst_type_find_probability),
19490 (gst_type_find_probability_get_type), (register_gst_uri_type),
19491 (gst_uri_type_get_type), (register_gst_parse_error),
19492 (gst_parse_error_get_type):
19493 * win32/common/gstenumtypes.h:
19494 * win32/common/gstversion.h:
19495 update visual studio generated files
19497 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19499 * win32/vs6/libgstbase.dsp:
19500 * win32/vs6/libgstelements.dsp:
19501 update project files for new locations
19503 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19508 reinstate and update
19513 * docs/random/LICENSE:
19516 2005-11-30 Edward Hervey <edward@fluendo.com>
19518 * gst/gsttypefind.c: (gst_type_find_register):
19519 * gst/gsttypefind.h:
19520 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19521 (gst_type_find_factory_dispose):
19522 * gst/gsttypefindfactory.h:
19523 Fix memory leak in GstTypeFindFactory.
19525 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19528 * plugins/elements/Makefile.am:
19529 * plugins/elements/gstelements.c:
19530 * plugins/elements/gstqueue.c:
19531 move queue from core to the elements plugin
19533 2005-11-29 Andy Wingo <wingo@pobox.com>
19535 * libs/gst/base/gstbasetransform.h:
19536 * libs/gst/base/gstbasesrc.h:
19537 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19539 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19540 of pointers by which to pad very extensible base classes (like the
19541 ones in libs/gst/base).
19543 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19545 * docs/gst/gstreamer-docs.sgml:
19546 * docs/gst/gstreamer-sections.txt:
19547 * docs/libs/gstreamer-libs-docs.sgml:
19548 * docs/libs/gstreamer-libs-sections.txt:
19549 moving documentation from core to lib
19551 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19553 * check/Makefile.am:
19555 * docs/gst/Makefile.am:
19557 * gst/base/.cvsignore:
19558 * gst/base/Makefile.am:
19560 * gst/base/gstadapter.c:
19561 * gst/base/gstadapter.h:
19562 * gst/base/gstbasesink.c:
19563 * gst/base/gstbasesink.h:
19564 * gst/base/gstbasesrc.c:
19565 * gst/base/gstbasesrc.h:
19566 * gst/base/gstbasetransform.c:
19567 * gst/base/gstbasetransform.h:
19568 * gst/base/gstcollectpads.c:
19569 * gst/base/gstcollectpads.h:
19570 * gst/base/gstpushsrc.c:
19571 * gst/base/gstpushsrc.h:
19572 * gst/base/gsttypefindhelper.c:
19573 * gst/base/gsttypefindhelper.h:
19574 * gst/check/Makefile.am:
19575 * gst/check/gstcheck.c:
19576 * gst/check/gstcheck.h:
19577 * gst/net/Makefile.am:
19578 * gst/net/gstnet.h:
19579 * gst/net/gstnetclientclock.c:
19580 * gst/net/gstnetclientclock.h:
19581 * gst/net/gstnettimepacket.c:
19582 * gst/net/gstnettimepacket.h:
19583 * gst/net/gstnettimeprovider.c:
19584 * gst/net/gstnettimeprovider.h:
19585 * libs/gst/Makefile.am:
19586 * libs/gst/base/Makefile.am:
19587 * libs/gst/base/gstbasetransform.c:
19588 * libs/gst/check/Makefile.am:
19589 * plugins/elements/Makefile.am:
19591 CVS surgery + support to move base, check, and net out of gst
19594 2005-11-29 Andy Wingo <wingo@pobox.com>
19596 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19598 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19601 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19603 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19605 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19607 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19608 padding; reduces object size by about 30%. We don't expect
19609 anything else to go into gstobject.
19611 * gst/gstminiobject.h (struct _GstMiniObject)
19612 (struct _GstMiniObjectClass): Only one pointer of padding; the
19613 payload is only a pointer and two ints anyway. For the class there
19614 are only two methods as well.
19616 * gst/gstelement.h (struct _GstElementClass): Removed
19617 the state_changed signal callback, it is not used.
19619 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19621 * docs/gst/gstreamer.types:
19622 fix includes, though they are a little dinky
19624 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19626 * check/Makefile.am:
19627 look in the right place for elements, a lot more chance of
19630 remove indexers and elements subdirs
19631 * plugins/Makefile.am:
19632 make indexers conditional
19634 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19638 * plugins/elements/Makefile.am:
19639 * plugins/elements/gstcapsfilter.c:
19640 * plugins/elements/gstfilesink.c:
19641 * plugins/elements/gstfilesrc.c:
19642 * plugins/elements/gstidentity.c:
19643 * plugins/indexers/Makefile.am:
19644 do CVS surgery and related build fixery to move elements
19645 and indexers in a new gstreamer/plugins directory, out of the
19648 2005-11-29 Andy Wingo <wingo@pobox.com>
19650 * check/Makefile.am:
19651 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19652 * pkgconfig/gstreamer-net.pc.in:
19653 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19656 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19658 * tools/Makefile.am:
19659 * tools/gst-complete.1.in:
19660 * tools/gst-complete.c:
19661 * tools/gst-compprep.1.in:
19662 * tools/gst-compprep.c:
19663 removing -compprep and -complete
19665 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19667 * gst/gstevent.c: (gst_event_new_new_segment),
19668 (gst_event_parse_new_segment):
19670 fix #320529 - clean up new_segment API and structure.
19671 Let's hope everyone was using the methods, and not the structure.
19673 2005-11-29 Edward Hervey <edward@fluendo.com>
19675 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19676 (gst_base_sink_event), (gst_base_sink_do_sync),
19677 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19678 Properly handle non GST_FORMAT_TIME segment
19679 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19680 Properly handle non GST_FORMAT_TIME segment
19681 * gst/gstsegment.c:
19682 This function is valid if the accumulator is 0 and the format
19683 is different from the requested format.
19685 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19687 * docs/gst/gstreamer-sections.txt:
19688 Add gst_query_new_seeking and gst_query_parse_seeking to the
19691 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19693 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19694 Treat a pad alloc with new caps the same as if we were not
19695 negotiated, in order to allow a changing upstream output
19696 to produce a new format of data.
19698 2005-11-29 Edward Hervey <edward@fluendo.com>
19700 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19701 (gst_base_transform_event), (gst_base_transform_eventfunc):
19702 The event virtual method is now properly implemented, with a default
19704 Sub classes should call the parent_class event method. They should
19705 return FALSE if they had a problem handling the given event, or don't
19706 want GstBaseTransform to send that even downstream
19707 * gst/elements/gstidentity.c: (gst_identity_class_init),
19708 (gst_identity_init), (gst_identity_event),
19709 (gst_identity_transform_ip), (gst_identity_set_property),
19710 (gst_identity_get_property):
19711 * gst/elements/gstidentity.h:
19712 Added the single-segment boolean property.
19713 If set to TRUE, it will output a single segment of data, starting from
19714 0, will eat up all incoming newsegment, and modify the timestamp of the
19715 buffers accordingly
19717 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19719 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19720 Don't ref NULL target pad (#322751). Improve docs.
19722 2005-11-29 Michael Smith <msmith@fluendo.com>
19724 * gst/gstregistryxml.c: (load_plugin):
19725 Don't crash if we failed to load a feature from a plugin.
19727 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19729 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19731 use more check API and less GLib API
19733 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19736 don't run checks if we don't have check
19737 * common/check.mak:
19738 remove the registry when running make torture
19739 * docs/gst/gstreamer-sections.txt:
19740 remove second multiply
19741 * gst/gstqueue.c: (gst_queue_loop):
19742 fix a compile warning when disabling debug
19744 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19747 Hey! Let's print the pad name if the pointer != NULL instead
19748 of when it == NULL :-)
19750 2005-11-28 Wim Taymans <wim@fluendo.com>
19752 * check/gst/gstutils.c: (GST_START_TEST):
19753 Updated check, add some scaling accuracy checking code.
19755 * gst/gstutils.c: (gst_util_div128_64),
19756 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19757 (gst_util_uint64_scale_int):
19758 Fix 6 times faster division code. Optimize for common
19759 1/1 and less common X/1 cases.
19761 2005-11-28 Wim Taymans <wim@fluendo.com>
19763 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19766 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19767 (do_linear_regression), (gst_clock_add_observation):
19769 Release lock when the clock cannot be slaved.
19770 Catch the case where the regression returned an invalid denominator.
19772 * gst/gstutils.c: (gst_util_div128_64_iterate),
19773 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19774 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19775 Add protentially more performant non-iterative 128/64 divide function
19776 that unfortunatly does not work yet.
19777 Shortcut the trivial 0/X = 0 case.
19778 Remove the warnings on overflow.
19780 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19782 * gst/gstplugin.c: (gst_plugin_register_func):
19783 everything causing a plugin not to load should be at least a WARNING
19785 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19787 * docs/random/ensonic/dparams.txt:
19788 some TODOs for the next dev cycle
19789 * libs/gst/controller/gstcontroller.c:
19790 (gst_controlled_property_set_interpolation_mode),
19791 (gst_controlled_property_new):
19792 * libs/gst/controller/gstcontroller.h:
19793 use base type to assign acccessor functions
19795 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19797 * check/Makefile.am:
19798 Oops, that should have been top_srcdir
19800 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19802 * check/Makefile.am:
19803 * check/elements/fdsrc.c: (GST_START_TEST):
19804 Use a cmdline define to specify the location of a file to use for
19805 testing, to avoid breaking distcheck.
19807 2005-11-28 Andy Wingo <wingo@pobox.com>
19809 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19811 2005-11-28 Edward Hervey <edward@fluendo.com>
19813 * tools/gst-launch.c: (main):
19814 Clarify the output strings, makes it easier to translate.
19817 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19820 don't try and build net if we don't even have <sys/socket.h>
19822 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19824 * check/Makefile.am:
19825 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19826 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19827 Add tests for fdsrc seekability
19829 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19830 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19831 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19832 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19833 * gst/elements/gstfdsrc.h:
19834 fdsrc should not be a 'live' source.
19835 Implement seeking on seekable fd's.
19837 * gst/gstquery.c: (gst_query_new_seeking),
19838 (gst_query_parse_seeking):
19840 Implement SEEKING query functions:
19841 *_new_seeking and *_parse_seeking
19843 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19845 * gst/gstelement.c: (gst_element_dispose):
19848 * gst/gstiterator.c:
19849 * gst/gststructure.c:
19852 * libs/gst/controller/gstcontroller.c:
19853 (gst_controlled_property_set_interpolation_mode):
19854 * libs/gst/controller/gstcontroller.h:
19855 * libs/gst/controller/gstinterpolation.c:
19856 (interpolate_none_get_enum_value_array):
19857 support controlling enums
19859 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19862 Improve documentation for gst_value_union().
19865 Change return value for union, intersect and subtract functions
19866 from gint to gboolean.
19868 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19870 * gst/gstvalue.c: (gst_value_serialize_any_list),
19871 (gst_value_transform_any_list_string),
19872 (gst_value_deserialize_list), (gst_value_deserialize_array),
19873 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19874 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19875 (gst_value_set_fraction_range_full),
19876 (gst_value_deserialize_fraction_range),
19877 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19878 (gst_value_deserialize_boolean),
19879 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19880 (gst_value_serialize_float), (gst_value_deserialize_float),
19881 (gst_string_wrap), (gst_value_deserialize_string),
19882 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19883 (gst_value_union_int_range_int_range),
19884 (gst_value_intersect_int_range_int_range),
19885 (gst_value_intersect_double_range_double_range),
19886 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19887 (gst_value_subtract_int_range_int_range),
19888 (gst_value_subtract_double_double_range),
19889 (gst_value_subtract_double_range_double_range),
19890 (gst_value_deserialize_fraction):
19892 Use gint, gdouble and gchar in our API instead of int, double and
19893 char (and make usage in gstvalue.c more consistent).
19895 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19897 * check/Makefile.am:
19898 * libs/gst/controller/Makefile.am:
19899 * libs/gst/dataprotocol/Makefile.am:
19900 fix up Makefile.am and remove GST_ENABLE_NEW
19902 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19906 * gst/base/Makefile.am:
19907 * gst/check/Makefile.am:
19908 * gst/elements/Makefile.am:
19909 * gst/net/Makefile.am:
19910 update LDFLAGS use some more
19912 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19914 * common/m4/gst-doc.m4:
19917 2005-11-26 Edward Hervey <edward@fluendo.com>
19919 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19920 This shouldn't issue a g_warning since it returns NULL if it
19921 couldn't find the plugin, and all functions using this behave
19922 properly on a NULL return. Switching to a GST_WARNING.
19924 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19926 * gst/gstbin.c: (gst_bin_handle_message_func):
19927 Don't leak clock messages.
19929 2005-11-25 Wim Taymans <wim@fluendo.com>
19931 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19932 (gst_util_uint64_scale_int):
19933 Optimisations, remove unneeded vars.
19935 2005-11-25 Wim Taymans <wim@fluendo.com>
19937 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19938 Added more checks for the high precision uint64 cases.
19940 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19941 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19942 Implement high precision (guint64 * guint64) / guint64.
19944 2005-11-24 Wim Taymans <wim@fluendo.com>
19946 * gst/base/gstbasesrc.c: (gst_base_src_query):
19947 Fix wrong percentage query.
19949 * gst/gstutils.c: (gst_util_uint64_scale),
19950 (gst_util_uint64_scale_int):
19951 Add some more common cases that can be handled
19952 efficiently to _scale.
19954 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19956 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19957 (gst_mini_object_suite):
19958 don't use check calls from threads; check probably isn't
19959 threadsafe and using a lock to make it threadsafe would
19960 defeat the purpose of this check
19961 * gst/check/gstcheck.c:
19962 * gst/check/gstcheck.h:
19963 use GST_DEBUG some more
19965 2005-11-24 Wim Taymans <wim@fluendo.com>
19967 * gst/gstutils.c: (gst_util_uint64_scale),
19968 (gst_util_uint64_scale_int):
19969 Chain trivial case to _scale_int.
19971 2005-11-24 Wim Taymans <wim@fluendo.com>
19973 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19974 Added test for scaling.
19979 * gst/gstutils.c: (gst_util_uint64_scale_int):
19980 Implemented high precision scaling code.
19982 2005-11-24 Stefan Kost <ensonic@users.sf.net>
19985 do not crash on pad==NULL
19987 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19989 Patch by: Stefan Kost
19991 * common/gtk-doc.mak:
19992 * docs/gst/Makefile.am:
19993 * docs/libs/Makefile.am:
19994 Fix distcheck issues for the libraries docs build
19997 2005-11-24 Michael Smith <msmith@fluendo.com>
19999 * docs/manual/basics-helloworld.xml:
20000 Fix bug #315027: memory leak in example code in docs.
20002 2005-11-24 Michael Smith <msmith@fluendo.com>
20004 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20005 Unlock the PREROLL_LOCK in a failure case.
20007 2005-11-24 Wim Taymans <wim@fluendo.com>
20009 * docs/gst/gstreamer-sections.txt:
20010 * gst/base/gstadapter.h:
20011 * gst/base/gstbasesink.h:
20012 * gst/base/gstbasesrc.h:
20013 * gst/base/gstbasetransform.h:
20014 * gst/base/gstpushsrc.h:
20015 * gst/elements/gstfakesink.h:
20016 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20017 * gst/elements/gstfakesrc.h:
20018 * gst/elements/gstfilesink.h:
20019 * gst/elements/gstfilesrc.h:
20022 * gst/gstbuffer.c: (_gst_buffer_copy):
20025 * gst/gstchildproxy.c:
20027 * gst/gstelement.c:
20028 * gst/gstelementfactory.c:
20029 * gst/gstelementfactory.h:
20031 * gst/gstghostpad.h:
20033 * gst/gstinterface.h:
20034 * gst/gstminiobject.c:
20035 * gst/gstminiobject.h:
20038 * gst/gstpadtemplate.h:
20039 * gst/gstpipeline.h:
20040 * gst/gstpluginfeature.h:
20043 * gst/gsttaglist.c:
20044 * gst/gsttaglist.h:
20045 * gst/gsttagsetter.c:
20046 * gst/gsttagsetter.h:
20049 * gst/gsttypefind.h:
20052 * gst/net/gstnetclientclock.c:
20053 * gst/net/gstnetclientclock.h:
20054 * gst/net/gstnettimepacket.c:
20055 * gst/net/gstnettimeprovider.c:
20056 * gst/net/gstnettimeprovider.h:
20059 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20061 * configure.ac: back to HEAD
20063 === release 0.9.6 ===
20065 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20068 releasing 0.9.6, "Always On Time"
20070 2005-11-23 Wim Taymans <wim@fluendo.com>
20072 * docs/gst/gstreamer-sections.txt:
20073 * gst/glib-compat.c:
20074 * gst/gsttagsetter.c:
20076 * gst/net/gstnetclientclock.c:
20077 * gst/net/gstnettimepacket.h:
20080 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20082 * docs/faq/using.xml:
20083 * docs/libs/tmpl/gstcontrol.sgml:
20084 * docs/manual/advanced-dparams.xml:
20085 * docs/manual/appendix-checklist.xml:
20086 * docs/manual/basics-elements.xml:
20087 * docs/pwg/other-source.xml:
20088 * docs/random/moving-plugins:
20090 * tools/gst-launch.1.in:
20091 remove mentions of sinesrc
20093 2005-11-23 Michael Smith <msmith@fluendo.com>
20095 * docs/gst/gstreamer-sections.txt:
20096 Update for new API and API changes.
20098 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20100 Documentation typo fix.
20101 * gst/net/gstnettimepacket.c:
20102 Documentation fixes for arguments.
20104 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20106 * gst/gststructure.c: (gst_structure_get_fraction),
20107 (gst_structure_parse_value),
20108 (gst_structure_fixate_field_nearest_fraction):
20109 * gst/gststructure.h:
20110 * gst/gstutils.c: (gst_util_uint64_scale_int):
20112 * scripts/update-funcnames:
20114 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20115 Make gst_structure_fixate_field_nearest_fraction take a numerator
20116 and denominator argument instead of a GValue
20117 add gst_structure_get_fraction helper function.
20119 2005-11-23 Wim Taymans <wim@fluendo.com>
20121 * docs/design/part-TODO.txt:
20124 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20125 * gst/net/gstnetclientclock.h:
20126 Use parent fields for timeout and window_size.
20128 2005-11-23 Andy Wingo <wingo@pobox.com>
20130 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20131 rate_num/rate_denom change.
20133 * gst/net/gstnetclientclock.c
20134 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20135 OBJECT_LOCK. Don't call add_observation with the lock.
20137 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20139 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20141 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20142 deal with rate as a fraction whose numerator and denominator are
20143 GstClockTime values.
20144 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20145 master; the other fields are protected by the SLAVE_LOCK.
20146 (do_linear_regression): Note that this must be called with the
20148 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20149 OBJECT_LOCK. Call set_calibration instead of touching the
20150 variables directly.
20151 (gst_clock_set_property, gst_clock_get_property): Protect
20152 master/slave parameters with the SLAVE_LOCK.
20154 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20155 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20156 note that all of the instance variables that add_observation and
20157 the set_master functions use are protected by that lock and not
20159 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20161 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20162 the caller to take the object lock.
20164 2005-11-23 Wim Taymans <wim@fluendo.com>
20166 * gst/gsterror.c: (_gst_core_errors_init):
20168 Add error for clock stuff.
20170 * gst/gstpipeline.c: (gst_pipeline_change_state),
20171 (gst_pipeline_set_clock):
20172 Post clock error when clock cannot be used in a pipeline.
20174 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20176 * docs/gst/gstreamer-sections.txt:
20177 make two symbols from gstinfo private for the docs
20178 * gst/base/gstcollectpads.h:
20180 fix doc typos, update docs
20182 2005-11-22 Wim Taymans <wim@fluendo.com>
20184 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20185 (gst_base_sink_wait), (gst_base_sink_do_sync),
20186 (gst_base_sink_handle_event):
20187 * gst/base/gstbasesink.h:
20188 No need to store the clock, the parent element class already
20191 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20192 Updates for clock_set returning a gboolean
20194 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20195 (gst_clock_id_wait_async), (gst_clock_class_init),
20196 (gst_clock_init), (gst_clock_finalize),
20197 (gst_clock_get_internal_time), (gst_clock_get_time),
20198 (gst_clock_slave_callback), (gst_clock_set_master),
20199 (gst_clock_get_master), (do_linear_regression),
20200 (gst_clock_add_observation), (gst_clock_set_property),
20201 (gst_clock_get_property):
20203 Implement master/slave. When setting a clock as a slave, a
20204 periodic timeout is scheduled to sample master and slave times.
20205 Then the slave clock is recalibrated to match offset and rate
20206 of the master clock.
20207 Update logging a bit.
20208 Add flag so that a clock can state that is cannot be slaved to
20211 * gst/gstelement.c: (gst_element_set_clock):
20212 * gst/gstelement.h:
20213 The set clock returns a gboolean for when an element cannot
20214 deal with the selected clock in the pipeline.
20216 * gst/gstpipeline.c: (gst_pipeline_change_state),
20217 (gst_pipeline_set_clock):
20218 * gst/gstpipeline.h:
20219 Handle the case where the selected clock cannot be set on
20222 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20223 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20224 (gst_net_client_clock_set_property),
20225 (gst_net_client_clock_get_property),
20226 (gst_net_client_clock_observe_times):
20227 * gst/net/gstnetclientclock.h:
20228 Use regression code in GstClock parent, remove duplicated
20231 2005-11-22 Michael Smith <msmith@fluendo.com>
20233 * gst/gstutils.c: (gst_util_clock_time_scale):
20235 * docs/gst/gstreamer-sections.txt:
20236 Rename method to have extra underscore.
20238 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20240 * gst/elements/Makefile.am:
20241 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20242 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20243 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20244 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20245 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20246 * gst/elements/gstfakesrc.h:
20247 * gst/gstqueue.c: (queue_leaky_get_type):
20248 correctly fix GEnumValues so that nick is the short lowercase
20250 * tools/gst-inspect.c: (print_element_properties_info):
20251 also show the nick, since it's useful to use from parse_launch
20255 2005-11-22 Michael Smith <msmith@fluendo.com>
20257 * gst/gstutils.c: (gst_util_clocktime_scale):
20259 * docs/gst/gstreamer-sections.txt:
20260 Add util method for scaling a clocktime by a fraction. Useful
20261 implementation is left as an exercise for the reader.
20263 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20265 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20266 If needed, allocate storage in the destination value during
20269 2005-11-22 Edward Hervey <edward@fluendo.com>
20271 * docs/gst/gstreamer-sections.txt:
20274 * gst/gsturitype.c:
20275 * gst/gsturitype.h:
20276 * gst/gstutils.c: (gst_util_set_object_arg):
20277 * tools/gst-compprep.c: (main):
20278 * tools/gst-inspect.c: (print_element_properties_info):
20279 Removed GstURI, closes bug #321061
20281 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20283 * check/gst/gststructure.c: (GST_START_TEST):
20284 * gst/gststructure.c: (gst_structure_parse_value):
20285 Oops, broke automatic string type parsing.
20286 Add a test to catch it in future.
20288 2005-11-22 Andy Wingo <wingo@pobox.com>
20290 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20291 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20292 Actually rename the function implementations. Grr.
20294 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20296 * check/gst/capslist.h:
20298 * check/gst/gststructure.c: (GST_START_TEST),
20299 (gst_structure_suite):
20300 Test automatic value type detection in gst_structure_from_string.
20301 * gst/gststructure.c: (gst_structure_parse_value):
20302 Add fraction as a type we try and guess automatically in
20303 caps/structure strings.
20305 2005-11-22 Andy Wingo <wingo@pobox.com>
20307 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20309 * gst/gsttagsetter.h:
20310 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20311 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20312 (gst_tag_setter_add_tag_valist)
20313 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20314 _add_values, _add_valist, and _add_valist_values. Since this is an
20315 interface the function suffixes should be more explicit so
20316 language binding don't end up with element.add_valist ->
20317 gst_tag_setter_add_valist, for example. Fixes #322069.
20319 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20321 * check/gst/gstcaps.c: (GST_START_TEST):
20322 Extend caps string tests to check that a caps to string
20323 conversion is reversible and produces the same caps.
20325 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20326 Output "fraction" as the generic type fraction range, so caps
20327 serialisation and deserialisation works.
20328 * check/gst/capslist.h:
20329 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20330 Support 'MIN' and 'MAX' for deserialising fractions.
20332 2005-11-22 Andy Wingo <wingo@pobox.com>
20334 * gst/gstevent.h (gst_event_new_new_segment)
20335 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20336 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20337 Renamed from *_newsegment, *_buffersize, *_notarget.
20339 * scripts/update-funcnames: New script, performs the changes
20342 2005-11-22 Wim Taymans <wim@fluendo.com>
20344 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20345 Make sure the GstFlowReturn is returned.
20347 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20348 (gst_bus_add_signal_watch):
20350 add gst_bus_add_signal_watch_full.
20352 * gst/gstplugin.c: (gst_plugin_load_file):
20353 Small style cleanup.
20355 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20357 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20358 Block the fakesrc srcpad when we send an event, to avoid
20359 contention on the stream_lock causing random test failures.
20361 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20363 * check/gst/gstvalue.c: (GST_START_TEST):
20364 * gst/gstvalue.c: (gst_value_fraction_subtract):
20367 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20370 include "gstchildproxy.h"
20371 * gst/gstchildproxy.h:
20372 * libs/gst/controller/gstcontroller.h:
20373 use G_GNUC_NULL_TERMINATED
20375 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20377 * check/gst/capslist.h:
20378 * check/gst/gstcaps.c: (GST_START_TEST):
20379 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20380 * gst/gststructure.c: (gst_structure_parse_range),
20381 (gst_structure_fixate_field_nearest_fraction):
20382 * gst/gststructure.h:
20383 * gst/gstvalue.c: (gst_value_init_fraction_range),
20384 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20385 (gst_value_collect_fraction_range),
20386 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20387 (gst_value_set_fraction_range_full),
20388 (gst_value_get_fraction_range_min),
20389 (gst_value_get_fraction_range_max),
20390 (gst_value_serialize_fraction_range),
20391 (gst_value_transform_fraction_range_string),
20392 (gst_value_compare_fraction_range),
20393 (gst_value_deserialize_fraction_range),
20394 (gst_value_intersect_fraction_fraction_range),
20395 (gst_value_intersect_fraction_range_fraction_range),
20396 (gst_value_subtract_fraction_fraction_range),
20397 (gst_value_subtract_fraction_range_fraction),
20398 (gst_value_subtract_fraction_range_fraction_range),
20399 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20400 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20401 (gst_value_transform_string_fraction), (_gst_value_initialize):
20403 Implement fraction ranges and extend GstFraction to support
20404 arithmetic subtraction, as well as deserialization from integer
20405 strings such as "100"
20406 Add a testsuite as for int and double range set operations
20408 2005-11-21 Andy Wingo <wingo@pobox.com>
20410 * gst/gsttaglist.h:
20412 * gst/gststructure.h: Add glib-compat.h.
20414 2005-11-21 Wim Taymans <wim@fluendo.com>
20416 * gst/gstbin.c: (gst_bin_change_state_func):
20419 2005-11-21 Wim Taymans <wim@fluendo.com>
20421 * gst/gstsegment.h:
20422 And add a nice define too.
20424 2005-11-21 Wim Taymans <wim@fluendo.com>
20426 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20427 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20428 (gst_segment_set_duration), (gst_segment_set_last_stop),
20429 (gst_segment_set_seek), (gst_segment_set_newsegment),
20430 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20431 (gst_segment_clip):
20432 * gst/gstsegment.h:
20433 Make binding friendly.
20435 2005-11-21 Andy Wingo <wingo@pobox.com>
20437 * gst/gsttagsetter.h:
20438 * gst/gsttaglist.h:
20439 * gst/gststructure.h:
20441 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20444 * gst/gsterror.c (_gst_core_errors_init):
20445 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20448 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20449 (noinst_HEADERS): noinst the -private.
20451 2005-11-21 Michael Smith <msmith@fluendo.com>
20454 * gst/gstregistry.h:
20455 Remove unimplemented declarations for which we can see no sensible
20458 2005-11-21 Andy Wingo <wingo@pobox.com>
20460 * gst/gst.h: Include glib-compat.h.
20462 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20464 * gst/glib-compat.c: Include the public and the private header.
20466 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20470 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20472 * check/gst/gstevent.c (create_custom_events): Check that
20473 FLUSH_STOP is serialized.
20475 * check/elements/identity.c (event_func):
20476 * check/elements/fakesrc.c (event_func): No stream lock, the core
20479 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20480 stream lock taking, yay.
20482 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20483 ensure that core takes the stream lock.
20485 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20488 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20489 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20490 it already. For the flush start we do take it though so we get the
20491 right preroll state change messages.
20493 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20494 the stream lock here, the core does it for us.
20496 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20497 GST_STREAM_GET_LOCK.
20498 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20499 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20500 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20501 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20502 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20503 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20505 * gst/gstpad.c: Update for stream lock name change.
20507 * gst/base/gstbasesink.c: Update for preroll lock name change.
20509 2005-11-21 Wim Taymans <wim@fluendo.com>
20511 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20512 (gst_clock_get_master):
20514 * gst/gstsystemclock.c: (gst_system_clock_init):
20515 Convert Clock flags to object flags.
20516 Added methods to manage master/slave clocks.
20518 2005-11-21 Wim Taymans <wim@fluendo.com>
20520 * check/gst/gstsegment.c: (GST_START_TEST):
20521 * docs/design/part-TODO.txt:
20522 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20523 (gst_base_sink_event), (gst_base_sink_do_sync),
20524 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20525 (gst_base_sink_query), (gst_base_sink_change_state):
20526 * gst/base/gstbasesink.h:
20527 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20528 (gst_base_src_default_newsegment),
20529 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20530 (gst_base_src_get_range), (gst_base_src_loop),
20531 (gst_base_src_change_state):
20532 * gst/base/gstbasesrc.h:
20533 * gst/base/gstbasetransform.c:
20534 (gst_base_transform_prepare_output_buf),
20535 (gst_base_transform_event), (gst_base_transform_change_state):
20536 * gst/base/gstbasetransform.h:
20537 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20538 (gst_collect_pads_event):
20539 * gst/base/gstcollectpads.h:
20540 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20541 (gst_fake_src_create):
20542 * gst/elements/gstfakesrc.h:
20543 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20544 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20545 (gst_segment_set_last_stop), (gst_segment_set_seek),
20546 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20547 (gst_segment_to_running_time), (gst_segment_clip):
20548 * gst/gstsegment.h:
20549 More segment updates, replace code in plugins with segment
20552 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20554 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20555 Don't ignore sscanf results
20557 2005-11-21 Andy Wingo <wingo@pobox.com>
20559 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20562 * *.c: Ran scripts/update-macros. Oh yes.
20564 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20565 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20568 * scripts/update-macros: New script. Run it on your files to
20569 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20572 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20574 * docs/gst/Makefile.am:
20575 * docs/gst/gstreamer-docs.sgml:
20576 * docs/gst/gstreamer-sections.txt:
20577 * docs/gst/gstreamer.types:
20579 more docs fixes, add new api to the docs
20581 2005-11-21 Andy Wingo <wingo@pobox.com>
20583 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20584 state_broadcast call.
20586 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20588 2005-11-21 Julien MOUTTE <julien@moutte.net>
20590 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20591 function calls for arrays.
20593 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20595 * docs/random/ensonic/media-device-daemon.txt:
20596 wild idea, can this be done?
20597 * docs/gst/gstreamer-sections.txt:
20602 * gst/gstpluginfeature.c:
20606 doc fixes and additions
20608 2005-11-21 Andy Wingo <wingo@pobox.com>
20610 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20611 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20612 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20613 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20614 private to the basesrc implementation.
20616 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20617 behalf of event function if necessary. It should no longer be
20618 necessary to take the stream lock in pad's event functions. Fixes
20621 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20622 * docs/gst/gstreamer-sections.txt:
20623 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20624 (gst_structure_fixate_field_nearest_double),
20625 (gst_structure_fixate_field_boolean):
20626 * gst/gststructure.h:
20627 * win32/common/libgstreamer.def:
20628 * win32/gstreamer.def:
20630 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20633 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20635 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20636 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20637 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20638 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20639 (gst_fdsrc_uri_handler_init):
20640 * gst/elements/gstfdsrc.h:
20641 Port fd:// URI handler from 0.8 to fdsrc
20643 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20645 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20646 (gst_value_serialize_fourcc):
20648 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20649 consistent with our other format defines (#320324).
20651 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20653 * gst/gstvalue.c: (gst_value_is_fixed):
20654 Revert previous commit. Value lists are by definition
20655 not fixed, as they are a list of possible values.
20657 2005-11-21 Andy Wingo <wingo@pobox.com>
20659 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20660 during the stable series if we need it. Fixes #319178.
20662 * gst/gstevent.c (gst_event_new_filler): Removed.
20664 * check/gst/gstevent.c: Update comment about filler events.
20666 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20668 * gst/gstvalue.c: (gst_value_is_fixed):
20669 Should handle both value arrays and value lists.
20671 2005-11-21 Andy Wingo <wingo@pobox.com>
20673 patch by: Alessandro Dessina <alessandro nnva org>
20675 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20676 functions to access arrays. Fixes #321962.
20678 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20680 * docs/gst/gstreamer.types:
20681 gst_collectpads_get_type => gst_collect_pads_get_type.
20683 * gst/base/gstbasetransform.c:
20684 Remove unused SIGNAL_HANDOFF enum.
20686 2005-11-21 Andy Wingo <wingo@pobox.com>
20688 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20689 the event type (upstream, downstream, serialized). Renamed
20690 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20691 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20692 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20694 * gst/gstevent.c: Update for new CUSTOM event names.
20696 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20699 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20702 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20704 * docs/gst/gstreamer-sections.txt:
20705 * win32/common/libgstbase.def:
20706 * win32/libgstbase.def:
20707 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20708 (gst_collect_pads_class_init), (gst_collect_pads_init),
20709 (gst_collect_pads_finalize), (gst_collect_pads_new),
20710 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20711 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20712 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20713 (gst_collect_pads_start), (gst_collect_pads_stop),
20714 (gst_collect_pads_peek), (gst_collect_pads_pop),
20715 (gst_collect_pads_available), (gst_collect_pads_read),
20716 (gst_collect_pads_flush), (gst_collect_pads_event),
20717 (gst_collect_pads_chain):
20718 * gst/base/gstcollectpads.h:
20719 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20720 unimplemented functions as unimplemented. Add padding to
20721 GstCollectData. (#320766, #320423)
20723 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20725 * gst/gstmessage.c:
20726 Improve docs for DURATION message (usage of duration parameter)
20729 2005-11-20 Wim Taymans <wim@fluendo.com>
20731 * check/Makefile.am:
20732 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20736 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20737 (gst_segment_set_seek), (gst_segment_set_newsegment),
20738 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20739 (gst_segment_clip):
20740 * gst/gstsegment.h:
20741 Added segment helper structure and methods. Not fully implemented
20743 Added segment check.
20745 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20747 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20748 Add a deserialisation test for fractions
20749 * examples/metadata/read-metadata.c: (message_loop),
20750 (make_pipeline), (main):
20751 Fix up metadata reading sample.
20752 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20754 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20755 Don't try and fixate empty caps
20756 * gst/gst_private.h:
20757 Wrap in G_BEGIN_DECLS/G_END_DECLS
20758 * gst/gstvalue.c: (gst_value_collect_fraction),
20759 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20760 (gst_value_transform_string_fraction),
20761 (gst_value_compare_fraction):
20762 Add some extra guards to ensure that we don't end up
20763 with an invalid denominator of 0 in a gstfraction and
20764 that fractions always get reduced.
20766 2005-11-20 Wim Taymans <wim@fluendo.com>
20768 * docs/gst/gstreamer-sections.txt:
20770 * gst/gstelement.c:
20779 2005-11-20 Wim Taymans <wim@fluendo.com>
20781 * docs/design/part-TODO.txt:
20783 Make a proper enum of the flag.
20785 2005-11-19 Wim Taymans <wim@fluendo.com>
20787 * docs/design/part-TODO.txt:
20788 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20789 (gst_format_to_quark), (gst_format_register):
20791 * gst/gstquery.c: (_gst_query_initialize),
20792 (gst_query_type_get_name), (gst_query_type_to_quark),
20793 (gst_query_type_register):
20795 Add type to quark and type to string conversions.
20797 2005-11-19 Andy Wingo <wingo@pobox.com>
20799 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20802 2005-11-19 Wim Taymans <wim@fluendo.com>
20804 * docs/design/part-TODO.txt:
20805 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20806 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20807 (gst_bin_handle_message_func):
20809 Make message handling overridable.
20811 2005-11-19 Andy Wingo <wingo@pobox.com>
20813 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20816 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20818 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20819 is a GstClockTime. Fixes #321710.
20821 * gst/gstclock.h (GstClock): Remove offset property. Add
20822 internal_calibration and external_calibration. Fix padding. Pad
20823 also by GstClockTime so we don't run into problems.
20825 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20826 (gst_clock_get_rate_offset): Remove.
20827 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20830 * gst/gstutils.c (g_static_rec_cond_wait)
20831 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20833 * gst/gstbin.c: Remove terrible continue_state prototype.
20835 * gst/gstelement.h (gst_element_continue_state): Make public.
20837 * gst/gstelement.h:
20838 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20839 by continue_state. Fixes #319389.
20841 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20842 Really fixes #168438. However I don't see anywhere where the
20843 filter function is called... stupid GStreamer...
20845 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20846 don't have a dispose function, so it won't get called when the
20847 object is unreffed, but oh well!
20849 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20850 allows a destroy function to be set so user_data can be freed.
20852 (gst_index_set_filter): Call gst_index_set_filter_full.
20854 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20856 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20857 string should produce an error, given the lack of a way to
20858 represent NULL strings. Fixes #165650.
20861 * gst/gstvalue.c (gst_value_array_append_value)
20862 (gst_value_array_prepend_value, gst_value_array_get_size)
20863 (gst_value_array_get_value): New API, copied from
20864 gst_value_list_*, only operates on arrays.
20865 (gst_value_list_append_value, gst_value_list_prepend_value)
20866 (gst_value_list_concat, gst_value_list_get_size)
20867 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20869 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20870 init_list, because it works on both.
20871 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20872 (gst_value_copy_list_or_array): Renamed from copy_list.
20873 (gst_value_free_list_or_array): Renamed from free_list.
20874 (gst_value_collect_list_or_array): Renamed from collect_list.
20875 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20876 (gst_value_list_or_array_peek_pointer): Renamed from
20878 (_gst_value_array_value_table, _gst_value_list_value_table):
20879 Update value table functions.
20880 (gst_value_compare_list_or_array): Renamed from compare_list.
20882 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20885 * gst/gsttaglist.c:
20886 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20887 GstTagList*. Fixes #143472.
20889 * gst/gststructure.h: Clarify what the foreach/map functions can
20890 or can't do to their arguments.
20892 2005-11-18 Wim Taymans <wim@fluendo.com>
20894 * gst/gstclock.c: (gst_clock_set_calibration),
20895 (gst_clock_get_calibration):
20897 Calibration can be set with internal time equal to current
20900 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20906 2005-11-18 Andy Wingo <wingo@pobox.com>
20909 * pkgconfig/gstreamer-net.pc.in:
20910 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20911 * pkgconfig/Makefile.am: Add net pkgconfig files.
20913 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20916 * gst/gstghostpad.c:
20922 2005-11-18 Andy Wingo <wingo@pobox.com>
20924 * gst/net/gstnetclientclock.c: Turn off debugging.
20926 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20927 times connverge somewhat. Can't make a real test.
20929 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20930 integer arithmetic. Return the minimum of the domain, which can be
20931 set as "internal" for gst_clock_set_calibration.
20932 (gst_net_client_clock_observe_times): Call _set_calibration.
20933 (gst_net_client_clock_new): Call _set_calibration instead of
20936 * check/net/gstnetclientclock.c (test_functioning): Use the right
20940 * gst/gstclock.c (gst_clock_get_calibration)
20941 (gst_clock_set_calibration): New functions, obsolete the ones I
20942 added yesterday. Doh. Precision issues mean we have to extrapolate
20943 from a point in the more recent past than 1970.
20944 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20946 (gst_clock_adjust_unlocked): Use the right calibration data.
20948 2005-11-18 Edward Hervey <edward@fluendo.com>
20950 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20951 Also reset the ->current_* values in READY->PAUSED
20953 2005-11-18 Andy Wingo <wingo@pobox.com>
20955 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20956 Whoops, check the right fd. Also add some debugging.
20957 (gst_net_client_clock_observe_times): Adjust for int64 offset.
20958 (do_linear_regression): Add a crapload of debugging. Subtract off
20959 the minimum values from the input series to discard unneeded bits.
20960 Use only int arithmetic. There is still double arithmetic when
20961 calculating the intercept that needs fixing. Return boolean to
20962 indicate success; FALSE would mean the domain or range is too
20963 great. Still needs fixes.
20965 2005-11-18 Wim Taymans <wim@fluendo.com>
20967 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20968 For the current position in stream time, we need to subtract
20971 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20972 Release lock before calling the callback function of async
20975 2005-11-18 Andy Wingo <wingo@pobox.com>
20977 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20978 Port goes all the way to MAXUINT16.
20980 * gst/net/gstnettimeprovider.c: Make the port range the same as
20981 for the kernel: 0 assigns, otherwise ports are less than
20984 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20987 * check/net/gstnetclientclock.c (test_functioning): Add the start
20990 2005-11-18 Wim Taymans <wim@fluendo.com>
20992 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20993 (gst_bin_remove_func), (bin_bus_handler):
20995 Removing a clock provider from a bin, triggers a clock lost message
20996 so that a new clock will be selected.
20997 Adding a clock to a bin triggers a clock provider message.
20998 Make sure we reselect a clock when we received a clock lost message.
20999 Keep a reference to the element that provided the clock.
21001 2005-11-18 Andy Wingo <wingo@pobox.com>
21003 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21004 the clock initially so it produces values around the base time.
21005 (gst_net_client_clock_class_init): Typo fix.
21006 (gst_net_client_clock_thread): Add note on when the socket gets
21009 2005-11-17 Wim Taymans <wim@fluendo.com>
21011 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21012 Free remote and local time arrays.
21014 2005-11-17 Wim Taymans <wim@fluendo.com>
21016 * gst/net/gstnetclientclock.c: (do_linear_regression),
21017 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21018 Fix compilation, uninitialized vars and a forgotten continue.
21020 2005-11-17 Andy Wingo <wingo@pobox.com>
21022 * check/Makefile.am (check_PROGRAMS):
21023 * check/net/gstnetclientclock.c: Add a most minimal test for the
21024 net client clock. More to come later.
21026 * gst/net/gstnet.h:
21027 * gst/net/Makefile.am: Add netclientclock.
21029 * gst/net/gstnetclientclock.h:
21030 * gst/net/gstnetclientclock.c: New files, implement an untested
21031 GstClock that takes its time from a network time provider.
21032 Implements the algorithm in network-clock.scm.
21034 * tests/network-clock.scm (*window-size*): Rename from
21036 * tests/network-clock.scm (network-time):
21037 * tests/network-clock-utils.scm (q-push): Update callers.
21039 2005-11-17 Wim Taymans <wim@fluendo.com>
21041 * gst/gstbin.c: (gst_bin_provide_clock_func),
21042 (gst_bin_sort_iterator_new):
21043 And unref the child too..
21045 2005-11-17 Wim Taymans <wim@fluendo.com>
21047 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21048 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21049 Refactor the sort iterator so it can be used while holding the
21051 Make clock selection select a clock closest to the source.
21053 2005-11-17 Michael Smith <msmith@fluendo.com>
21055 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21056 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21058 Anonymous structs are a gcc (and some other compilers) extension, so
21059 don't use them. Since this is only for ABI-compatibility, and our
21060 API/ABI freeze is over in a few days, this whole thing will only
21061 last a few days, so don't bother trying to think up a meaningful
21062 name for the struct.
21064 2005-11-17 Andy Wingo <wingo@pobox.com>
21066 * gst/gstclock.h (GstClock): Add rate and offset properties,
21067 preserving ABI stability. Add rate/offset accessors. Will file bug
21068 for the freeze break.
21070 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21071 and offset, trying to keep precision and avoiding
21072 underflow/overflow.
21073 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21074 functions. Make gst_clock_set_time_adjust obsolete.
21075 (gst_clock_set_time_adjust): Note that this function is obsolete.
21076 Will file bug soon.
21078 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21079 greppable by using GST_PADDING-1+1.
21081 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21083 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21085 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21086 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21088 * gst/gstpadtemplate.h:
21089 * gst/gstpluginfeature.h:
21090 Don't use c++ style comments in headers (#321638).
21092 2005-11-16 Andy Wingo <wingo@pobox.com>
21094 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21097 * check/net/gstnettimeprovider.c: Check to see that the time
21098 provider actually provides times. Works, yo!
21100 2005-11-16 Wim Taymans <wim@fluendo.com>
21102 * check/Makefile.am:
21105 * check/elements/fakesrc.c: (GST_START_TEST):
21106 Set element to NULL before disposing it.
21108 2005-11-16 Andy Wingo <wingo@pobox.com>
21110 * gst/net/Makefile.am:
21111 * gst/net/gstnet.h:
21112 * gst/net/gstnettimeprovider.c:
21113 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21114 provider, include it from gstnet.h, and add it to the build.
21116 * gst/net/gstnettimepacket.h:
21117 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21118 sending and receiving.
21120 2005-11-16 Wim Taymans <wim@fluendo.com>
21122 * check/Makefile.am:
21123 Enable valgrind check.
21125 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21126 (gst_fake_src_alloc_buffer):
21129 2005-11-16 Wim Taymans <wim@fluendo.com>
21131 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21132 Call parent finalize too.
21134 2005-11-16 Wim Taymans <wim@fluendo.com>
21136 * check/Makefile.am:
21137 Enable valgrind check that should work fine now.
21139 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21140 * gst/gstqueue.c: (gst_queue_init):
21141 Fix memleaks in pad allocation.
21143 2005-11-16 Andy Wingo <wingo@pobox.com>
21145 * gst/net/Makefile.am:
21146 * gst/net/gstnet.h: New part of core to hold network elements and
21147 objects. Put in core because it exposes API that applications want
21148 to use. The library is named libgstnet-tempname right now because
21149 of the existing libgstnet in gst-plugins-base. Solution is
21150 probably to rename the one in plugins-base; will file a bug for
21153 * gst/net/gstnettimeprovider.c:
21154 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21155 get_time call over the network.
21158 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21160 * check/Makefile.am:
21161 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21162 get additions shortly.
21164 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21166 * gst/gstpad.c: (gst_pad_new_from_static_template):
21168 add gst_pad_new_from_static_template functions
21169 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21170 (gst_check_setup_sink_pad):
21171 * gst/elements/gsttee.c: (gst_tee_init):
21174 2005-11-16 Wim Taymans <wim@fluendo.com>
21176 * gst/gstpad.c: (gst_pad_pause_task):
21177 Removed warning, it's not really an error either.
21179 2005-11-16 Wim Taymans <wim@fluendo.com>
21181 * gst/base/gstbasetransform.c:
21182 (gst_base_transform_prepare_output_buf),
21183 (gst_base_transform_event):
21184 Check if the caps are NULL, this can happen if the element
21185 is shutting down and the pad caps are set to NULL.
21187 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21189 * gst/elements/gsttee.c: (gst_tee_init):
21190 fix pad template leak in tee
21192 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21194 * gst/glib-compat.c: (g_value_dup_gst_object):
21195 * gst/glib-compat.h:
21196 * gst/gstpad.c: (gst_pad_set_property):
21197 use gst_object_ref when setting the pad template; this will
21198 trigger the pad template leaks on GLib 2.6 and the slaves
21200 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21202 * gst/glib-compat.c: (gst_flags_get_first_value):
21203 * gst/glib-compat.h:
21204 * gst/gstregistryxml.c:
21205 remove functions copied from GLib 2.6
21207 2005-11-16 Michael Smith <msmith@fluendo.com>
21210 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21211 do, but only breaks with newer valgrind versions. We're not a
21212 valgrind tool, we have no link-time dependencies on libcoregrind.
21214 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21216 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21218 * gst/gstmessage.h:
21221 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21223 * gst/base/gstbasesrc.c: (gst_base_src_init):
21224 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21225 * gst/gstqueue.c: (gst_queue_init):
21226 * gst/gstregistryxml.c: (load_feature):
21227 Revert all these unrefs, they don't even pass make check !
21229 2005-11-15 Johan Dahlin <johan@gnome.org>
21231 * gst/base/gstbasesrc.c: (gst_base_src_init):
21232 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21233 * gst/gstqueue.c: (gst_queue_init):
21234 Free pad templates, fixes a couple of leaks.
21236 2005-11-15 Daniel Fischer <dan at f3c dot com>
21238 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21240 * gst/gstpad.c: (gst_pad_get_property):
21241 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21242 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21245 2005-11-15 Wim Taymans <wim@fluendo.com>
21250 2005-11-15 Andy Wingo <wingo@pobox.com>
21252 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21254 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21255 using GST_CLOCK_TIME_NONE to disable base time management.
21256 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21257 time if it was NONE before.
21258 (gst_pipeline_change_state): Only munge the base time if
21259 stream_time != GST_CLOCK_TIME_NONE.
21261 * check/gst/gstpipeline.c (test_base_time): Punt around the
21262 problem of the probe not being called, because that's not the
21263 issue I'm looking at. Add a check that setting stream_time to NONE
21264 disables base time management.
21266 2005-11-15 Wim Taymans <wim@fluendo.com>
21268 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21269 segment_stop == -1 at startup.
21271 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21272 (gst_base_transform_change_state):
21273 Init segment values at start.
21275 2005-11-15 Wim Taymans <wim@fluendo.com>
21277 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21278 0 segment values are 0 in any format.
21280 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21281 * gst/base/gstbasetransform.h:
21282 Parse newsegment correctly in basetransform
21284 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21285 Sync to clock using updated segment values.
21287 2005-11-15 Andy Wingo <wingo@pobox.com>
21289 * check/gst/gstpipeline.c (test_base_time): Add check that the
21290 base time and stream time are reset correctly.
21292 2005-11-15 Wim Taymans <wim@fluendo.com>
21294 * docs/design/part-TODO.txt:
21295 Some more TODO items.
21297 2005-11-15 Andy Wingo <wingo@pobox.com>
21299 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21300 error if the user selected "no clock" as the clocking method.
21302 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21303 timestamps with live capture.
21305 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21306 is 0 but we are a live source, timestamp the buffers using the
21309 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21311 * docs/gst/gstreamer-sections.txt:
21313 * gst/gstghostpad.c:
21318 2005-11-14 Wim Taymans <wim@fluendo.com>
21321 add suppressions from Wim's Debian machine
21323 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21326 add suppressions from Andy's AMD64 Ubuntu machine
21328 2005-11-14 Andy Wingo <wingo@pobox.com>
21330 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21331 STATE_LOCK not necessary. Fixes #311489.
21333 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21336 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21337 this function is not implemented.
21339 2005-11-14 Julien MOUTTE <julien@moutte.net>
21341 * gst/base/gstbasetransform.c:
21342 (gst_base_transform_prepare_output_buf):
21343 Ref the source pad caps while we need them.
21346 2005-11-11 Wim Taymans <wim@fluendo.com>
21348 * docs/gst/gstreamer-sections.txt:
21349 Added some docs for GstCollectData.
21351 * gst/base/gstadapter.c:
21352 Some small code example fix.
21354 * gst/base/gstcollectpads.c:
21355 * gst/base/gstcollectpads.h:
21356 Document some more.
21358 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21360 * configure.ac: back to HEAD
21362 === release 0.9.5 ===
21364 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21367 releasing 0.9.5, "Bike Lunch Day"
21369 2005-11-11 Wim Taymans <wim@fluendo.com>
21371 * gst/gstbuffer.c: (_gst_buffer_copy):
21374 * gst/gstcaps.c: (gst_caps_is_equal):
21376 Make _is_equal fast in the trivial cases.
21378 * gst/gstminiobject.c:
21379 * gst/gstminiobject.h:
21380 More docs. Spifify .h file.
21385 2005-11-11 Wim Taymans <wim@fluendo.com>
21387 * gst/base/gstbasetransform.c:
21388 (gst_base_transform_prepare_output_buf),
21389 (gst_base_transform_handle_buffer):
21391 If we're processing a buffer and need to allocate an output
21392 buffer, we cannot accept a format change. If we did get a
21393 format change, we have to alloc a buffer ourselves of the
21396 2005-11-11 Wim Taymans <wim@fluendo.com>
21398 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21399 While checking the flag for reentrancy in the gstcaps function
21400 is nice to detect recursive invocations, it also makes it
21401 impossible to call getcaps from multiple threads, which must be
21402 possible. So, checking for recursive calls has to go.
21404 2005-11-11 Michael Smith <msmith@fluendo.com>
21406 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21407 Don't sync on buffers that fall partially outside our current
21408 segment. Prevents an assertion failure/abort playing some files.
21410 2005-11-10 Andy Wingo <wingo@pobox.com>
21412 * check/gst/gstbin.c (test_message_state_changed_children): Style
21415 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21416 gst_bus_poll with the signal watch. Ensures that poll and a signal
21417 watch see the same messages.
21419 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21420 a poll and a watch at the same time get the same messages.
21422 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21424 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21425 * gst/gstcaps.c: (gst_caps_intersect):
21426 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21427 and it's not needed.
21429 2005-11-10 Wim Taymans <wim@fluendo.com>
21431 * docs/design/part-TODO.txt:
21434 2005-11-10 Wim Taymans <wim@fluendo.com>
21436 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21437 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21438 (gst_base_src_do_sync), (gst_base_src_get_range):
21439 Implement clock sync in base class.
21441 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21443 patch by: Tim-Philipp Müller <tim at centricular dot net>
21445 * gst/gststructure.c: (gst_structure_parse_field),
21446 (gst_structure_from_string):
21447 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21448 so that gst_parse_launch() can deal with spaces in filtered link
21449 caps (fixes #164479)
21450 * check/gst/capslist.h:
21451 * check/gst/gststructure.c: (GST_START_TEST):
21452 add unit tests for this change
21454 2005-11-10 Wim Taymans <wim@fluendo.com>
21456 * docs/gst/gstreamer-sections.txt:
21457 * gst/gstelement.c:
21458 * gst/gstelement.h:
21459 Fix docs, move some STATE macros to private.
21461 2005-11-10 Wim Taymans <wim@fluendo.com>
21463 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21464 Added check for bug #317341
21468 Some more spiffifying.
21470 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21471 Call peer linkfunction if we are a source pad. Totally fixes
21475 Update docs, source pads should call the peer linkfunction
21476 so they can atomically perform the pad link.
21478 2005-11-09 Wim Taymans <wim@fluendo.com>
21482 Uber-spiffy-spiffify some more.
21484 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21486 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21487 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21488 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21489 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21490 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21491 * gst/gstpad.c: (gst_pad_init):
21492 Use GST_DEBUG_FUNCPTR() more extensively.
21494 2005-11-09 Wim Taymans <wim@fluendo.com>
21496 * gst/gstobject.c: (gst_object_class_init):
21498 Documentation fixes.
21500 2005-11-09 Edward Hervey <edward@fluendo.com>
21502 * gst/gsttypefindfactory.c:
21505 2005-11-09 Edward Hervey <edward@fluendo.com>
21507 * gst/base/gsttypefindhelper.c:
21508 * gst/gsttypefind.c:
21509 * gst/gsttypefind.h:
21512 2005-11-09 Wim Taymans <wim@fluendo.com>
21514 * gst/gstiterator.c:
21521 2005-11-09 Wim Taymans <wim@fluendo.com>
21527 2005-11-09 Wim Taymans <wim@fluendo.com>
21529 * docs/gst/gstreamer-sections.txt:
21530 Moved the message async delivery private lock and cond
21531 to the private section.
21533 * gst/gstmessage.c:
21534 * gst/gstmessage.h:
21537 2005-11-09 Edward Hervey <edward@fluendo.com>
21539 * docs/gst/gstreamer-sections.txt:
21542 Document GstURIHandler
21544 2005-11-09 Wim Taymans <wim@fluendo.com>
21546 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21547 (gst_iterator_find_custom):
21548 * gst/gstiterator.h:
21551 2005-11-09 Wim Taymans <wim@fluendo.com>
21554 Document another field.
21556 * gst/gststructure.c:
21557 * gst/gststructure.h:
21560 2005-11-09 Wim Taymans <wim@fluendo.com>
21563 Documented structs.
21565 2005-11-09 Wim Taymans <wim@fluendo.com>
21567 * docs/gst/gstreamer-sections.txt:
21568 Added some new macros.
21575 2005-11-09 Wim Taymans <wim@fluendo.com>
21577 * docs/design/part-TODO.txt:
21578 Some more items for the TODO
21584 2005-11-09 Andy Wingo <wingo@pobox.com>
21586 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21587 to work on something else now tho...
21589 * gst/base/gstadapter.c: More adapter docs.
21591 * gst/elements/gstfilesink.c (gst_file_sink_start)
21592 (gst_file_sink_stop): New functions, replace the state change
21594 (gst_file_sink_class_init): Hook up the start and stop functions.
21595 (gst_file_sink_base_init): Don't set the state change handler any
21596 more. It was a bit ugly too, being set from here...
21597 (gst_file_sink_get_property, gst_file_sink_set_property):
21599 (gst_file_sink_set_location): More robust check that doesn't call
21600 GST_STATE. Ugggggg.
21602 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21604 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21605 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21607 2005-11-08 Wim Taymans <wim@fluendo.com>
21609 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21610 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21611 (gst_base_sink_chain), (gst_base_sink_change_state):
21612 * gst/base/gstbasesink.h:
21613 * gst/base/gstbasesrc.h:
21614 * gst/gstelement.h:
21616 Avoid excessive typechecking in macros.
21618 * gst/gstminiobject.c: (gst_mini_object_get_type),
21619 (gst_mini_object_init), (gst_mini_object_new),
21620 (gst_mini_object_free):
21621 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21622 (gst_object_finalize):
21623 Remove cruft code, optimize alloc_trace.
21625 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21627 * docs/faq/gst-uninstalled:
21628 fix up PS1 for systems that try to reset it
21630 2005-11-07 Wim Taymans <wim@fluendo.com>
21632 * gst/base/gstbasesrc.c: (gst_base_src_init),
21633 (gst_base_src_get_range):
21634 Set the segment_end to -1 initially. Fixed typefind.
21636 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21638 * gst/base/gstadapter.c:
21639 Debug category should be 'adapter', not 'GstAdapter'.
21641 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21642 (gst_collectpads_class_init), (gst_collectpads_init),
21643 (gst_collectpads_peek), (gst_collectpads_pop),
21644 (gst_collectpads_event), (gst_collectpads_chain):
21645 Add debug category and some debugging output. Use boilerplate
21646 macros. Remove some extraneous words from docs.
21648 2005-11-05 Andy Wingo <wingo@pobox.com>
21650 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21653 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21655 * docs/gst/gstreamer-sections.txt:
21658 * gst/gstminiobject.h:
21663 2005-11-04 Wim Taymans <wim@fluendo.com>
21665 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21666 Small update to stop at the configured segment_end
21669 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21671 * gst/gstregistry.c:
21672 * gst/gstregistry.h:
21675 2005-11-04 Edward Hervey <edward@fluendo.com>
21677 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21678 Check if we are doing a segment seek and have arrived at the
21679 end of that segment.
21681 2005-11-04 Wim Taymans <wim@fluendo.com>
21683 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21684 Don't leak a mutex unlock in case of an error.
21689 2005-11-04 Wim Taymans <wim@fluendo.com>
21691 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21693 Get the context to wake up only once.
21695 2005-11-03 Wim Taymans <wim@fluendo.com>
21697 * check/states/sinks.c: (GST_START_TEST):
21698 Uncomment fixed check.
21700 * docs/design/part-TODO.txt:
21703 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21704 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21705 (gst_base_sink_get_position):
21706 If we are going to PLAYING, post the right pending state
21707 when we post the intermediate paused message.
21709 * gst/gstelement.c: (gst_element_continue_state),
21710 (gst_element_set_state_func), (gst_element_change_state):
21711 Don't post state changes that were between the same state
21712 and were not ASYNC.
21714 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21716 * docs/gst/gstreamer-sections.txt:
21719 * gst/gstminiobject.h:
21722 more docs and doc style fixes
21724 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21726 * docs/gst/gstreamer-sections.txt:
21727 * gst/gstelement.c:
21728 * gst/gstminiobject.c:
21731 2005-11-03 Andy Wingo <wingo@pobox.com>
21733 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21734 state-changed messages actually have the right order and the right
21737 2005-11-03 Wim Taymans <wim@fluendo.com>
21739 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21740 Added some more checks. Specifically the case where NO_PREROLL
21741 elements are in the pipeline.
21743 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21744 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21745 (gst_base_sink_get_position):
21746 Post READY->PAUSED state change messages too.
21747 Fix bug where VOID was posted as pending state...
21749 * gst/gstbin.c: (gst_bin_recalc_state):
21750 use _element_continue_state() to continue the state change.
21752 * gst/gstelement.c: (gst_element_continue_state),
21753 (gst_element_commit_state), (gst_element_set_state_func),
21754 (gst_element_change_state), (gst_element_change_state_func):
21755 Lots of state change cleanups, assign the STATE_RETURN in
21756 a new continue_state() function that also propagates the
21757 last return value from a state change to the app.
21758 Update some debug statements with proper category.
21760 2005-11-03 Wim Taymans <wim@fluendo.com>
21762 * docs/design/part-events.txt:
21763 * docs/design/part-gstpipeline.txt:
21764 * docs/design/part-messages.txt:
21765 * docs/design/part-overview.txt:
21766 * docs/design/part-seeking.txt:
21767 * docs/design/part-states.txt:
21768 * docs/design/part-trickmodes.txt:
21769 * docs/manual/advanced-position.xml:
21770 Small docs updates.
21773 People think !! is ugly, this looks better.
21775 * gst/gstpad.c: (gst_pad_set_blocked_async):
21776 Remove !! since it's fixed elsewhere now.
21778 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21780 * gst/gstminiobject.h:
21782 Add !! to _FLAG_IS_SET macros to make the result boolean.
21784 2005-11-03 Edward Hervey <edward@fluendo.com>
21786 * gst/gstpad.c: (gst_pad_set_blocked_async):
21787 comparing a flag and a gboolean rarely returns coherent results...
21788 Added two characters (!!) to make that work correctly.
21790 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21792 * gst/gstbus.c: (gst_bus_class_init):
21795 * gst/gstqueue.c: (gst_queue_loop):
21796 Don't assume a miniobject that isn't a buffer is an
21797 event (it could be that there is a refcounting
21798 problem somewhere and the pointer is stale and
21799 refers to an already destroyed miniobject).
21801 2005-11-03 Julien MOUTTE <julien@moutte.net>
21803 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21805 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21807 * docs/manual/advanced-position.xml:
21808 Update seek example and explanations to current 0.9 API.
21810 * gst/elements/gsttypefindelement.c:
21811 (gst_type_find_element_activate):
21812 Remove FIXME comment now that the found caps
21815 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21817 * gst/gstregistryxml.c: (load_feature):
21818 Add another GST_STR_NULL instance
21820 2005-11-02 Edward Hervey <edward@fluendo.com>
21822 * gst/gstpad.c: (handle_pad_block):
21823 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21825 2005-11-02 Wim Taymans <wim@fluendo.com>
21830 * gst/gstelement.c: (gst_element_commit_state):
21831 Remove unused value.
21833 * gst/gstiterator.c:
21834 Mention that the returned element is reffed in the docs.
21836 2005-11-02 Wim Taymans <wim@fluendo.com>
21838 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21839 (gst_pad_push), (gst_pad_push_event):
21840 Unlock blocked pads when they are flushed.
21842 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21845 * docs/gst/gstreamer-sections.txt:
21848 * gst/gstregistry.c: (gst_registry_scan_path_level):
21849 fix for a nasty little missed situation where an installed plug-in
21850 which was in the cache did not get overridden by an uninstalled one
21851 which was earlier in the plugin path because the newly created plugin
21852 for the uninstalled one (not in the registry) didn't get its
21853 ->registered set to TRUE
21855 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21857 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21858 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21859 (gst_collectpads_is_active), (gst_collectpads_collect),
21860 (gst_collectpads_collect_range), (gst_collectpads_start),
21861 (gst_collectpads_stop), (gst_collectpads_peek),
21862 (gst_collectpads_pop), (gst_collectpads_available),
21863 (gst_collectpads_read), (gst_collectpads_flush):
21864 Guard public API with assertions.
21867 Fix docs for gst_pad_set_link_function().
21869 2005-11-02 Johan Dahlin <johan@gnome.org>
21871 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21872 Unref found_caps after we used it.
21874 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21876 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21877 Don't try to ref NULL.
21879 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21881 * win32/common/config.h.in:
21882 provide a GST_FUNCTION that just gives a string for now
21884 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21886 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21887 (gst_object_flags_get_type), (register_gst_bin_flags),
21888 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21889 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21890 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21891 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21892 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21893 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21894 (gst_clock_flags_get_type), (register_gst_state),
21895 (gst_state_get_type), (register_gst_state_change_return),
21896 (gst_state_change_return_get_type), (register_gst_state_change),
21897 (gst_state_change_get_type), (register_gst_element_flags),
21898 (gst_element_flags_get_type), (register_gst_core_error),
21899 (gst_core_error_get_type), (register_gst_library_error),
21900 (gst_library_error_get_type), (register_gst_resource_error),
21901 (gst_resource_error_get_type), (register_gst_stream_error),
21902 (gst_stream_error_get_type), (register_gst_event_type),
21903 (gst_event_type_get_type), (register_gst_seek_type),
21904 (gst_seek_type_get_type), (register_gst_seek_flags),
21905 (gst_seek_flags_get_type), (register_gst_format),
21906 (gst_format_get_type), (register_gst_index_certainty),
21907 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21908 (gst_index_entry_type_get_type),
21909 (register_gst_index_lookup_method),
21910 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21911 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21912 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21913 (gst_index_flags_get_type), (register_gst_debug_level),
21914 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21915 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21916 (gst_iterator_result_get_type), (register_gst_iterator_item),
21917 (gst_iterator_item_get_type), (register_gst_message_type),
21918 (gst_message_type_get_type), (register_gst_mini_object_flags),
21919 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21920 (gst_pad_link_return_get_type), (register_gst_flow_return),
21921 (gst_flow_return_get_type), (register_gst_activate_mode),
21922 (gst_activate_mode_get_type), (register_gst_pad_direction),
21923 (gst_pad_direction_get_type), (register_gst_pad_flags),
21924 (gst_pad_flags_get_type), (register_gst_pad_presence),
21925 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21926 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21927 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21928 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21929 (gst_plugin_flags_get_type), (register_gst_rank),
21930 (gst_rank_get_type), (register_gst_query_type),
21931 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21932 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21933 (gst_tag_flag_get_type), (register_gst_task_state),
21934 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21935 (gst_alloc_trace_flags_get_type),
21936 (register_gst_type_find_probability),
21937 (gst_type_find_probability_get_type), (register_gst_uri_type),
21938 (gst_uri_type_get_type), (register_gst_parse_error),
21939 (gst_parse_error_get_type):
21940 * win32/common/gstversion.h:
21941 update win32 copies
21943 2005-11-01 Luca Ognibene <luogni@tin.it>
21946 fix docs. popt is dead, long live GOption.
21948 2005-10-31 Wim Taymans <wim@fluendo.com>
21953 2005-10-31 Andy Wingo <wingo@pobox.com>
21957 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21959 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21960 need to serialize property notifications on GLib 2.8. GLib 2.6 has
21961 the possibility of deadlocks here if code calling notify() or
21962 set() has a lock that can be taken in another notify handler (ABBA
21963 with class lock and e.g. python GIL state lock).
21965 2005-10-28 Julien MOUTTE <julien@moutte.net>
21967 * gst/gstbus.c: Doc updates.
21969 2005-10-28 Wim Taymans <wim@fluendo.com>
21971 * docs/design/part-TODO.txt:
21972 * gst/gstiterator.c:
21973 * gst/gstsystemclock.c:
21974 * gst/gstsystemclock.h:
21977 2005-10-28 Edward Hervey <edward@fluendo.com>
21979 * docs/gst/gstreamer-docs.sgml:
21980 * docs/gst/gstreamer-sections.txt:
21981 the GstURIType documentation page is private, it only defines GstURIType
21982 which should be defined in the GstURIHandler page
21984 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
21986 * gst/gstbin.c: (gst_bin_class_init):
21989 Documentation updates.
21991 2005-10-28 Wim Taymans <wim@fluendo.com>
21993 * docs/gst/gstreamer-sections.txt:
21996 Documented the clocks.
21998 2005-10-28 Stefan Kost <ensonic@users.sf.net>
22000 * docs/gst/gstreamer-sections.txt:
22001 move some macros to private sections
22002 * gst/gstminiobject.c:
22003 * gst/gstminiobject.h:
22004 add descriptions provided by ds and some more
22006 mark macro as to be removed
22008 2005-10-28 Wim Taymans <wim@fluendo.com>
22010 * docs/design/part-TODO.txt:
22011 Add an item to TODO.
22013 * gst/gstiterator.c: (gst_iterator_fold),
22014 (gst_iterator_find_custom):
22015 * gst/gstiterator.h:
22018 2005-10-28 Wim Taymans <wim@fluendo.com>
22020 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22021 (gst_base_transform_init):
22024 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22025 An EOS event marks the queue as completely filled.
22027 2005-10-27 Wim Taymans <wim@fluendo.com>
22029 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22030 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22031 Some more debugging.
22033 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22034 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22035 (gst_base_transform_event), (gst_base_transform_getrange),
22036 (gst_base_transform_chain):
22037 * gst/base/gstbasetransform.h:
22039 Protect transform and concurrent buffer alloc with a new lock.
22040 Try not to break ABI/API.
22042 2005-10-27 Wim Taymans <wim@fluendo.com>
22044 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22045 (gst_base_src_init), (gst_base_src_query),
22046 (gst_base_src_default_newsegment),
22047 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22048 (gst_base_src_send_event), (gst_base_src_event_handler),
22049 (gst_base_src_pad_get_range), (gst_base_src_loop),
22050 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22051 (gst_base_src_start), (gst_base_src_deactivate),
22052 (gst_base_src_activate_push), (gst_base_src_change_state):
22053 Move some stuff around and cleanup things.
22055 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22057 * gst/base/gstbasesrc.c: (gst_base_src_query):
22058 Add missing break statements.
22060 2005-10-27 Wim Taymans <wim@fluendo.com>
22062 * check/gst/gstbin.c: (GST_START_TEST):
22063 An extra refcount is taken in basesrc.
22065 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22066 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22067 (gst_base_src_loop):
22068 Small cleanups, check for flushing after being unlocked from the
22069 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22070 Don't send out EOS when going to READY.
22072 2005-10-27 Wim Taymans <wim@fluendo.com>
22074 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22075 (gst_base_sink_get_position):
22078 * gst/gstbin.c: (message_check), (bin_replace_message),
22079 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22080 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22081 (bin_query_duration_init), (bin_query_duration_fold),
22082 (bin_query_duration_done), (bin_query_generic_fold),
22084 * tools/gst-launch.c: (main):
22087 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22089 * examples/controller/audio-example.c: (main):
22090 * examples/queue/queue.c: (event_loop):
22091 * gst/base/gstbasetransform.h:
22092 * gst/gstelement.c: (gst_element_send_event):
22094 * gst/gstpad.c: (gst_pad_send_event):
22097 changing log priority in error situations
22099 2005-10-25 Wim Taymans <wim@fluendo.com>
22101 * gst/gstbin.c: (message_check), (bin_replace_message),
22102 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22103 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22104 (bin_query_duration_init), (bin_query_duration_fold),
22105 (bin_query_duration_done), (bin_query_generic_fold),
22107 Some doc and debug updates.
22108 Cache previously requested query DURATION for speed. invalidate
22109 cached duration if element posts a DURATION message.
22111 2005-10-25 Wim Taymans <wim@fluendo.com>
22113 * docs/design/part-TODO.txt:
22116 * gst/gstbin.c: (message_check), (bin_replace_message),
22117 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22118 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22119 (bin_query_duration_init), (bin_query_duration_fold),
22120 (bin_query_duration_done), (bin_query_generic_fold),
22122 Handle SEGMENT_START/DONE messages correctly.
22123 More evolved query algorithm that handles duration queries
22126 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22127 (gst_element_get_state_func), (gst_element_abort_state),
22128 (gst_element_commit_state), (gst_element_lost_state):
22129 Some more debugging.
22131 * gst/gstmessage.h:
22134 2005-10-25 Wim Taymans <wim@fluendo.com>
22136 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22137 Don't use invalid stream_time.
22139 * gst/gstevent.c: (gst_event_new_newsegment):
22140 stream_time in newsegment cannot be undefined.
22142 2005-10-24 Wim Taymans <wim@fluendo.com>
22147 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22149 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22151 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22153 * docs/libs/tmpl/gstdparam.sgml:
22154 * docs/libs/tmpl/gstdplinint.sgml:
22155 * docs/libs/tmpl/gstdpman.sgml:
22156 * docs/libs/tmpl/gstdpsmooth.sgml:
22157 * docs/libs/tmpl/gstunitconvert.sgml:
22160 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22165 === release 0.9.4 ===
22167 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22170 releasing 0.9.4, "Tyrannosaurus Rex"
22172 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22174 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22175 (gst_file_sink_get_current_offset):
22176 Use fseeko() and ftello() if available. When falling back on
22177 lseek() to get the current offset, fflush() first to make sure
22178 everything is up-to-date and we get the right offset.
22180 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22182 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22183 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22184 * gst/gsterror.c: (_gst_stream_errors_init):
22186 * gst/gstqueue.c: (gst_queue_loop):
22188 remove prematurely added error category and clean up the instances
22190 2005-10-21 Wim Taymans <wim@fluendo.com>
22192 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22193 (gst_base_sink_get_position), (gst_base_sink_query),
22194 (gst_base_sink_change_state):
22195 Simply set the right flag when going to playing, that's all
22196 we need to do instead of calling a function inside the object
22197 lock (that could take the lock as well and deadlock)
22199 2005-10-21 Wim Taymans <wim@fluendo.com>
22201 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22202 (gst_base_src_loop):
22203 Don't warn, the peer element knows what to do best when
22204 the seek failed, it might try something else.
22206 2005-10-21 Wim Taymans <wim@fluendo.com>
22208 * gst/base/gstbasesrc.c: (gst_base_src_init),
22209 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22212 2005-10-21 Wim Taymans <wim@fluendo.com>
22214 * docs/design/part-segments.txt:
22217 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22218 Correctly set caps, even on the subbufer.
22220 2005-10-21 Wim Taymans <wim@fluendo.com>
22222 * docs/gst/gstreamer-docs.sgml:
22223 * docs/gst/gstreamer-sections.txt:
22224 * gst/gstelement.h:
22227 * gst/gstmessage.h:
22230 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22234 And 2% more doc coverage.
22236 2005-10-21 Andy Wingo <wingo@pobox.com>
22238 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22239 position reporting.
22241 2005-10-20 Wim Taymans <wim@fluendo.com>
22243 * gst/gsterror.c: (gst_error_get_message):
22246 * gst/gststructure.c:
22251 2005-10-20 Wim Taymans <wim@fluendo.com>
22256 Another 1% more coverage.
22258 2005-10-20 Wim Taymans <wim@fluendo.com>
22260 * docs/gst/gstreamer-sections.txt:
22261 * gst/gstelement.c: (gst_element_get_state_func),
22262 (gst_element_abort_state), (gst_element_commit_state),
22263 (gst_element_lost_state):
22265 * gst/gstquery.c: (gst_query_set_position),
22266 (gst_query_parse_position), (gst_query_set_duration),
22267 (gst_query_parse_duration), (gst_query_new_convert):
22269 Yay! 1% more docs coverage.
22271 2005-10-20 Wim Taymans <wim@fluendo.com>
22274 * gst/gstquery.c: (gst_query_set_position),
22275 (gst_query_parse_position), (gst_query_set_duration),
22276 (gst_query_parse_duration), (gst_query_new_convert):
22278 * gst/gstutils.c: (gst_element_query_convert):
22280 Docs and consistency fixes.
22282 2005-10-20 Wim Taymans <wim@fluendo.com>
22288 2005-10-20 Wim Taymans <wim@fluendo.com>
22290 * gst/gstbin.c: (message_check), (bin_replace_message),
22291 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22292 (update_degree), (gst_bin_sort_iterator_next),
22293 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22294 Reworked the message handling a bit, cache the messages instead of
22295 only the senders. alows us to do more in the future.
22297 2005-10-20 Wim Taymans <wim@fluendo.com>
22299 * docs/design/part-TODO.txt:
22302 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22303 (gst_base_sink_query):
22304 Don't use clock time to report position when in EOS.
22306 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22308 * tools/gst-inspect.c: (print_interfaces),
22309 (print_element_properties_info), (print_element_info):
22310 Fix interface output with gst-inspect -a; don't print
22311 newlines after double/float properties.
22313 2005-10-20 Wim Taymans <wim@fluendo.com>
22315 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22316 (gst_base_sink_query):
22317 Speed up current position calculation.
22319 * gst/base/gstbasesrc.c: (gst_base_src_query),
22320 (gst_base_src_default_newsegment):
22321 Correctly set stream position in newsegment.
22323 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22324 (update_degree), (gst_bin_sort_iterator_next),
22325 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22326 * gst/gstmessage.c: (gst_message_new_custom):
22327 Clean up debugging info
22329 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22330 (gst_queue_loop), (gst_queue_handle_src_query):
22333 2005-10-19 Wim Taymans <wim@fluendo.com>
22335 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22336 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22337 Fix query handling again.
22339 2005-10-19 Wim Taymans <wim@fluendo.com>
22341 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22342 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22343 * gst/base/gstbasesrc.c: (gst_base_src_query):
22344 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22345 * gst/elements/gsttypefindelement.c:
22346 (gst_type_find_handle_src_query), (find_element_get_length),
22347 (gst_type_find_element_activate):
22350 * gst/gstquery.c: (gst_query_new_position),
22351 (gst_query_set_position), (gst_query_parse_position),
22352 (gst_query_new_duration), (gst_query_set_duration),
22353 (gst_query_parse_duration), (gst_query_set_segment),
22354 (gst_query_parse_segment):
22356 Bundling query position/duration is not a good idea since duration
22357 does not change much and we don't want to recalculate it for every
22358 position query, so they are separated again..
22359 Base value in segment query is not needed.
22361 * gst/gstqueue.c: (gst_queue_handle_src_query):
22362 * gst/gstutils.c: (gst_element_query_position),
22363 (gst_element_query_duration), (gst_pad_query_position),
22364 (gst_pad_query_duration):
22366 Updates for query API change.
22367 Added some docs here and there.
22369 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22371 * check/gst/gstbin.c: (GST_START_TEST):
22372 * check/gst/gstghostpad.c: (GST_START_TEST):
22373 * check/pipelines/cleanup.c: (GST_START_TEST):
22374 wait on thread to die so we can check refcount correctly
22376 2005-10-18 Wim Taymans <wim@fluendo.com>
22378 * check/pipelines/stress.c: (GST_START_TEST):
22379 Make check a little more time consuming.
22381 2005-10-18 Wim Taymans <wim@fluendo.com>
22383 * check/Makefile.am:
22384 * check/pipelines/stress.c: (GST_START_TEST),
22385 (simple_launch_lines_suite), (main):
22386 Small state change torture test.
22388 * docs/design/part-states.txt:
22389 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22390 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22391 (gst_base_sink_change_state):
22392 Never take state lock from streaming thread, clean up ugly
22393 hacks. Unfortunatly core does not yet support nice ways to
22394 async commit state.
22396 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22398 Start state recalc if a STATE_DIRTY message is posted, but only
22399 on the toplevel bin.
22401 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22402 (gst_element_get_state_func), (gst_element_abort_state),
22403 (gst_element_commit_state), (gst_element_lost_state),
22404 (gst_element_set_state_func), (gst_element_change_state):
22405 * gst/gstelement.h:
22406 State variables are now protected with the LOCK, the state
22407 lock is only used to serialize _set_state().
22409 2005-10-18 Wim Taymans <wim@fluendo.com>
22411 * check/gst/gstbin.c: (GST_START_TEST):
22412 * check/gst/gstmessage.c: (GST_START_TEST):
22413 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22414 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22416 * gst/gstelement.c: (gst_element_abort_state),
22417 (gst_element_commit_state), (gst_element_lost_state):
22418 * gst/gstmessage.c: (gst_message_new_state_changed),
22419 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22420 (gst_message_new_segment_done), (gst_message_new_duration),
22421 (gst_message_parse_state_changed),
22422 (gst_message_parse_segment_start),
22423 (gst_message_parse_segment_done), (gst_message_parse_duration):
22424 * gst/gstmessage.h:
22425 * tools/gst-launch.c: (event_loop):
22426 Seriously, this is better than a previous commit as we only need
22427 to notify the fact that an element changed state in a streaming
22428 thread, marking the state of the parents dirty, hence the
22429 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22432 2005-10-18 Wim Taymans <wim@fluendo.com>
22434 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22435 (gst_bin_recalc_func):
22436 * gst/gstelement.c: (gst_element_set_clock),
22437 (gst_element_abort_state), (gst_element_lost_state):
22438 Cleanups, prepare for state change fixes.
22440 2005-10-18 Wim Taymans <wim@fluendo.com>
22443 * gst/gstelement.c: (gst_element_class_init),
22444 (gst_element_set_state), (gst_element_set_state_func):
22445 * gst/gstelement.h:
22446 Pending ABI changes.
22447 GThreadPool in GstBinClass to monitor async state changes.
22448 state_cookie in GstElement to detect concurrent gst/set state.
22449 set_state is now virtual too in case a very complicated element
22450 has to be constructed.
22452 2005-10-18 Wim Taymans <wim@fluendo.com>
22454 * check/gst/gstbin.c: (GST_START_TEST):
22455 * check/gst/gstmessage.c: (GST_START_TEST):
22456 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22457 * gst/gstbin.c: (bin_bus_handler):
22458 * gst/gstelement.c: (gst_element_commit_state),
22459 (gst_element_lost_state):
22460 * gst/gstmessage.c: (gst_message_new_state_changed),
22461 (gst_message_new_segment_start), (gst_message_new_segment_done),
22462 (gst_message_new_duration), (gst_message_parse_state_changed),
22463 (gst_message_parse_segment_start),
22464 (gst_message_parse_segment_done), (gst_message_parse_duration):
22465 * gst/gstmessage.h:
22466 * tools/gst-launch.c: (event_loop):
22467 Make messages future proof.
22468 state-change gets a flag if it was a message comming from the
22470 segment-start/stop can also be specified in other formats.
22471 A message to notify an app that a pipeline changed playback
22473 Also fix a GstMessage leak in -launch
22475 2005-10-18 Andy Wingo <wingo@pobox.com>
22477 * gst/gstelement.c (gst_element_dispose): More helpful message.
22479 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22481 reviewed by: <delete if not using a buddy>
22483 * common/gtk-doc.mak:
22485 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22487 * gst/gstregistry.c: (gst_registry_scan_path_level):
22488 unref a plug-in we get that was already initialized
22490 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22492 * docs/gst/gstreamer-sections.txt:
22493 * docs/libs/gstreamer-libs-sections.txt:
22494 * gst/gstelement.h:
22495 add new api entries
22496 hide internal macro
22498 2005-10-17 Andy Wingo <wingo@pobox.com>
22500 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22503 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22505 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22507 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22508 (gst_element_get_state_func): Better debug message.
22509 (gst_element_commit_state): s/INFO/DEBUG/.
22510 (gst_element_lost_state, gst_element_change_state):
22512 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22513 (gst_message_new_custom): s/INFO/LOG/.
22515 2005-10-17 Michael Smith <msmith@fluendo.com>
22517 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22518 Check if end time is valid using end time, not start time.
22520 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22522 * check/gst-libs/controller.c: (GST_START_TEST),
22523 (gst_controller_suite):
22524 * libs/gst/controller/gstcontroller.c:
22525 (gst_controlled_property_set_interpolation_mode):
22526 * libs/gst/controller/gstcontroller.h:
22527 * libs/gst/controller/gstinterpolation.c:
22528 * testsuite/controller/.cvsignore:
22529 * testsuite/controller/Makefile.am:
22530 * testsuite/controller/interpolator.c:
22531 merge controller testsuites
22533 remove mem-chunk from docs
22535 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22537 * gst/gstmemchunk.c:
22538 * gst/gstmemchunk.h:
22539 * gst/gsttrashstack.c:
22540 * gst/gsttrashstack.h:
22541 out. get out. you're fired. to the Attic !
22543 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22545 * gst/gstcaps.c: (gst_caps_intersect):
22546 fix signedness issues in a (hopefully) correct way
22547 * gst/gstelement.c: (gst_element_pads_activate):
22549 * gst/gstobject.c: (gst_object_set_parent):
22552 2005-10-17 Julien MOUTTE <julien@moutte.net>
22554 * gst/gstvalue.h: Fix prototypes.
22556 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22558 * docs/gst/gstreamer-sections.txt:
22559 * gst/gst.c: (gst_version_string):
22561 * gst/gstversion.h.in:
22562 * win32/common/libgstreamer.def:
22563 add gst_version_string ()
22565 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22569 * gst/gst.c: (init_post):
22570 * win32/common/config.h.in:
22572 * gst/gstcaps.c: (gst_caps_intersect):
22573 use gint64, the range could be bigger than a guint
22575 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22578 document potential problem in 2038
22580 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22582 * gst/gstcaps.c: (gst_caps_intersect):
22583 Fix guint j diving under 0
22585 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22588 * win32/common/config.h:
22589 * win32/common/config.h.in:
22590 check for process.h, declares getpid() on Windows
22592 include process.h if we have it
22593 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22594 * gst/gstmemchunk.h:
22595 fix signedness issues
22596 * win32/common/libgstreamer.def:
22599 2005-10-16 Julien MOUTTE <julien@moutte.net>
22601 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22602 fix. Because of unsigned ints, caps intersection was going nuts and
22603 trying to access structures with G_MAXUINT index. That fixes
22604 videotestsrc ! ffmpegcolorspace ! fakesink
22605 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22608 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22611 use the gettext macro
22612 * gst/elements/gstelements.c:
22614 * gst/indexers/gstindexers.c:
22615 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22616 * win32/common/config.h:
22618 * win32/common/config.h.in:
22619 add the template to generate config.h
22620 * win32/common/gstenumtypes.c:
22621 * win32/common/gstversion.h:
22624 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22626 * gst/gst.c: (gst_version):
22627 * gst/gstversion.h.in:
22630 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22633 Oops, add missing closing bracket.
22635 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22638 use common m4's for argument checking
22640 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22642 * docs/gst/gstreamer-sections.txt:
22644 Add GST_EVENT_TYPE_NAME() macro.
22646 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22649 * gst/gstpluginfeature.c:
22651 privatize more symbols
22653 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22656 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22657 everything that uses GStreamer API should have the includes
22659 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22661 * docs/gst/gstreamer-sections.txt:
22662 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22664 give each value a _get_type, removes the DATA exports
22666 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22670 remove _gst_registry_auto_load, not used anymore
22671 * gst/gstbin.c: (gst_bin_get_type):
22673 * gst/gstelement.c: (gst_element_get_type):
22674 * gst/gstelement.h:
22675 * gst/gstobject.c: (gst_object_get_type):
22677 * gst/gstpad.c: (gst_pad_get_type):
22679 make _get_type functions similar, fixes data export from library
22681 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22684 correctly make conditionals
22685 * gst/elements/Makefile.am:
22686 * gst/elements/gstelements.c:
22687 fix typo causing fdsrc not to build
22689 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22691 * testsuite/Makefile.am:
22692 * testsuite/bytestream/.cvsignore:
22693 * testsuite/bytestream/Makefile.am:
22694 * testsuite/bytestream/filepadsink.c:
22695 * testsuite/bytestream/gstbstest.c:
22696 * testsuite/bytestream/test1.c:
22697 * testsuite/bytestream/testfile1:
22698 * testsuite/caps/normalisation.c:
22699 * testsuite/caps/random.c: (main):
22700 * testsuite/cleanup/.cvsignore:
22701 * testsuite/cleanup/Makefile.am:
22702 * testsuite/cleanup/cleanup1.c:
22703 * testsuite/cleanup/cleanup2.c:
22704 * testsuite/cleanup/cleanup3.c:
22705 * testsuite/cleanup/cleanup4.c:
22706 * testsuite/cleanup/cleanup5.c:
22707 * testsuite/controller/interpolator.c:
22708 * testsuite/debug/printf_extension.c: (main):
22709 * testsuite/elements/tee.c:
22710 * testsuite/negotiation/.cvsignore:
22711 * testsuite/negotiation/Makefile.am:
22712 * testsuite/negotiation/pad_link.c:
22713 * testsuite/pad/Makefile.am:
22714 * testsuite/pad/chainnopull.c:
22715 * testsuite/pad/getnopush.c:
22716 * testsuite/pad/link.c:
22717 * testsuite/refcounting/sched.c: (create_pipeline):
22718 * testsuite/registry/Makefile.am:
22719 * testsuite/registry/gst-print-formats.c:
22720 * testsuite/schedulers/.cvsignore:
22721 * testsuite/schedulers/142183-2.c:
22722 * testsuite/schedulers/142183.c:
22723 * testsuite/schedulers/143777-2.c:
22724 * testsuite/schedulers/143777.c:
22725 * testsuite/schedulers/147713.c:
22726 * testsuite/schedulers/147819.c:
22727 * testsuite/schedulers/147894-2.c:
22728 * testsuite/schedulers/147894.c:
22729 * testsuite/schedulers/Makefile.am:
22730 * testsuite/schedulers/group_link.c:
22731 * testsuite/schedulers/queue_link.c:
22732 * testsuite/schedulers/relink.c:
22733 * testsuite/schedulers/unlink.c:
22734 * testsuite/schedulers/unref.c:
22735 * testsuite/schedulers/useless_iteration.c:
22736 * testsuite/states/bin.c:
22737 clean out/remove some stuff from the testsuite directories
22739 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22742 check for some headers
22743 * gst/elements/Makefile.am:
22744 * gst/elements/gstelements.c:
22745 don't compile fdsrc without sys/socket.h
22746 * gst/indexers/Makefile.am:
22747 * gst/indexers/gstindexers.c: (plugin_init):
22748 don't compile fileindex without mmap
22750 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22757 * check/Makefile.am:
22758 * docs/gst/Makefile.am:
22759 * examples/helloworld/Makefile.am:
22761 * gst/base/Makefile.am:
22762 * gst/check/Makefile.am:
22763 * gst/elements/Makefile.am:
22764 * gst/indexers/Makefile.am:
22765 * gst/parse/Makefile.am:
22766 * libs/gst/controller/Makefile.am:
22767 * libs/gst/dataprotocol/Makefile.am:
22768 * examples/helloworld/helloworld.c: (event_loop):
22769 compile fixes, though it's not being compiled currently
22771 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22773 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22774 Add some simple tests for the new taglist date API.
22776 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22778 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22779 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22780 Beautify 'last-message' output: print 'none' for buffer timestamps
22781 and durations if none is set; improve alignment with next messages.
22783 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22785 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22786 * gst/gstpluginfeature.h:
22787 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22788 * gst/gstregistry.h:
22789 * docs/gst/gstreamer-sections.txt:
22790 Add new API to check plugin feature version requirements.
22792 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22793 Some basic tests for the above.
22795 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22797 * gst/gststructure.c: (gst_structure_to_string):
22798 guard against NULL printf - happens when for example
22799 a message structure with GstClock gets serialized
22801 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22803 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22804 Fix presumable copy'n'pasto.
22806 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22808 * gst/elements/gstfakesrc.h:
22809 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22810 * gst/elements/gsttypefindelement.c:
22811 fix some signedness
22812 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22813 I wonder if this could actually write +2GB files before
22815 2005-10-13 Andy Wingo <wingo@pobox.com>
22817 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22818 Fix Timmeke Waymans bug.
22819 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22820 string of the proper length to gst_caps_from_string. There's a
22821 potential for, before this fix, that this could cause someone
22822 connecting over the network to cause a segfault if the payload is
22823 not NUL-terminated.
22825 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22827 * docs/design/draft-push-pull.txt:
22828 * docs/design/part-overview.txt:
22829 * docs/random/TODO-pre-0.9:
22830 * docs/random/old/ChangeLog.gstreamer:
22831 * gst/base/gstpushsrc.c:
22835 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22837 * gst/glib-compat.c: (gst_flags_get_first_value):
22838 * gst/glib-compat.h:
22839 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22840 (gst_value_compare_double), (gst_value_serialize_flags):
22841 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22844 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22846 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22847 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22849 * tools/gst-launch.c: (event_loop):
22850 print out clock nicely
22852 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22854 * docs/gst/gstreamer-sections.txt:
22855 * gst/gsttaglist.h:
22856 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22857 (gst_tag_list_get_date_index):
22858 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22859 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22861 2005-10-13 Julien MOUTTE <julien@moutte.net>
22863 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22864 (gst_collectpads_chain):
22865 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22868 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22870 * docs/gst/gstreamer-sections.txt:
22873 * tools/gst-inspect.c: (main):
22874 * tools/gst-launch.c: (main):
22875 * tools/gst-run.c: (main):
22876 * tools/gst-xmlinspect.c: (main):
22877 fix GOption context leaks
22880 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22884 * win32/common/config.h:
22886 * win32/vs6/grammar.dsp:
22887 * win32/vs6/libgstelements.dsp:
22888 * win32/vs6/libgstreamer.dsp:
22891 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22893 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22894 * gst/base/gstbasesrc.c: (gst_base_src_query):
22895 fix more guint64<->gdouble conversions
22897 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22900 add win32-update target
22901 * win32/common/gstconfig.h:
22902 * win32/common/gstenumtypes.c:
22903 * win32/common/gstenumtypes.h:
22904 * win32/common/gstversion.h:
22905 add files that visual studio can't generate
22907 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22910 add a win32-update target
22913 2005-10-12 Wim Taymans <wim@fluendo.com>
22915 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22916 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22917 * gst/gstelement.c: (gst_element_commit_state),
22918 (gst_element_set_state):
22919 Protect flags with proper lock.
22920 unref provided cached clock in dispose.
22922 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22925 * gst/gstminiobject.h:
22927 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22928 removed unused flags from miniobject
22931 2005-10-12 Wim Taymans <wim@fluendo.com>
22933 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22934 (gst_file_sink_event), (gst_file_sink_render):
22935 Flush before seeking.
22937 2005-10-12 Andy Wingo <wingo@pobox.com>
22939 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22940 always been the case.
22942 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22944 * check/gst/gstbin.c: (GST_START_TEST):
22945 * docs/gst/gstreamer-sections.txt:
22946 * gst/base/gstbasesink.c: (gst_base_sink_init):
22947 * gst/base/gstbasesrc.c: (gst_base_src_init),
22948 (gst_base_src_get_range), (gst_base_src_check_get_range),
22949 (gst_base_src_start), (gst_base_src_stop):
22950 * gst/base/gstbasesrc.h:
22951 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22952 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22953 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22957 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22959 * gst/gstelement.c: (gst_element_is_locked_state),
22960 (gst_element_set_locked_state), (gst_element_commit_state),
22961 (gst_element_set_state):
22962 * gst/gstelement.h:
22963 * gst/gstindex.c: (gst_index_init):
22965 * gst/gstminiobject.h:
22966 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22967 (gst_object_set_parent):
22969 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22970 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22972 * gst/gstpadtemplate.h:
22973 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22974 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22975 * gst/gstpipeline.h:
22976 * gst/indexers/gstfileindex.c: (gst_file_index_load),
22977 (gst_file_index_commit):
22978 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22979 * testsuite/pad/link.c: (gst_test_src_init),
22980 (gst_test_filter_init), (gst_test_sink_init):
22981 * testsuite/states/locked.c: (main):
22982 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22983 moved bitshift from macro to enum definition
22985 2005-10-12 Wim Taymans <wim@fluendo.com>
22987 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22988 * gst/elements/gstfilesink.c: (gst_file_sink_event),
22989 (gst_file_sink_render):
22990 Some more debugging info.
22992 2005-10-12 Wim Taymans <wim@fluendo.com>
22994 * docs/design/part-states.txt:
22995 * tools/gst-launch.c: (main):
22997 Revert non-intentional change.
22999 2005-10-12 Wim Taymans <wim@fluendo.com>
23001 * check/gst/gstbin.c: (GST_START_TEST):
23002 * check/gst/gstelement.c: (GST_START_TEST):
23003 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23004 * check/gst/gstghostpad.c: (GST_START_TEST):
23005 * check/gst/gstpipeline.c: (GST_START_TEST):
23006 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23007 * check/states/sinks.c: (GST_START_TEST):
23008 * gst/elements/gsttypefindelement.c: (stop_typefinding):
23009 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23010 (gst_bin_remove_func), (gst_bin_get_state_func),
23011 (gst_bin_recalc_state), (gst_bin_change_state_func),
23013 * gst/gstelement.c: (gst_element_get_state_func),
23014 (gst_element_get_state), (gst_element_abort_state),
23015 (gst_element_commit_state), (gst_element_set_state),
23016 (gst_element_change_state), (gst_element_change_state_func):
23017 * gst/gstelement.h:
23018 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23019 (gst_pipeline_provide_clock_func):
23020 * gst/gstutils.c: (gst_element_link_pads_filtered):
23021 * tools/gst-launch.c: (main):
23022 * tools/gst-typefind.c: (main):
23023 Use GstClockTime in _get_state() instead of GTimeVal.
23024 Remove old code in gstutils.c
23026 2005-10-12 Andy Wingo <wingo@pobox.com>
23028 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23031 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23032 there is no task. Shouldn't affect any code, as nothing in our
23033 plugins checks this return value.
23034 (gst_pad_stop_task): Also take the stream lock if the pad has no
23035 task. Docs updated.
23037 2005-10-12 Wim Taymans <wim@fluendo.com>
23039 * gst/gstpad.c: (pre_activate), (post_activate),
23040 (gst_pad_activate_pull), (gst_pad_activate_push):
23041 Cleanup activation code. Reset old state if
23044 2005-10-12 Wim Taymans <wim@fluendo.com>
23046 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23047 (gst_base_sink_change_state):
23048 No need to prerol after receiving EOS.
23050 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23051 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23052 * gst/elements/gstidentity.c: (gst_identity_event):
23053 Print events more verbosely.
23055 2005-10-12 Wim Taymans <wim@fluendo.com>
23057 * check/Makefile.am:
23058 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23059 * check/states/sinks2.c:
23060 Moved sinks2 testcode in sinks check.
23062 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23063 (gst_bin_remove_func), (gst_bin_recalc_state),
23064 (gst_bin_change_state_func), (bin_bus_handler):
23065 Fix potential race condition when _get_state() iterated over an
23066 ASYNC element right before it posted a state completion.
23069 Do proper cast here.
23071 * gst/gstevent.c: (gst_event_new_newsegment),
23072 (gst_event_parse_newsegment):
23073 A playback rate of 0.0 is not allowed.
23075 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23077 * win32/common/config.h:
23078 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23079 (_trewinddir), (_ttelldir), (_tseekdir):
23080 * win32/common/dirent.h:
23081 * win32/common/gtchar.h:
23082 * win32/common/libgstbase.def:
23083 * win32/common/libgstreamer.def:
23084 * win32/vs6/grammar.dsp:
23085 * win32/vs6/gst_inspect.dsp:
23086 * win32/vs6/gst_launch.dsp:
23087 * win32/vs6/gstreamer.dsw:
23088 * win32/vs6/libgstbase.dsp:
23089 * win32/vs6/libgstelements.dsp:
23090 * win32/vs6/libgstreamer.dsp:
23091 Visual Studio 6 project files, and a new common directory.
23094 2005-10-11 Wim Taymans <wim@fluendo.com>
23096 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23097 (gst_base_sink_do_sync), (gst_base_sink_query),
23098 (gst_base_sink_change_state):
23099 * gst/base/gstbasesink.h:
23100 Correctly parse newsegment info.
23102 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23104 * gst/gst.c: (init_post):
23105 split plugin paths correctly
23107 2005-10-11 Wim Taymans <wim@fluendo.com>
23109 * check/gst/gstevent.c: (GST_START_TEST):
23110 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23111 (gst_base_sink_change_state):
23112 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23113 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23114 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23115 * gst/gstevent.c: (gst_event_new_newsegment),
23116 (gst_event_parse_newsegment):
23118 Added extra flag to newsegment for future API freeze.
23119 Updated check and base elements.
23121 2005-10-11 Julien MOUTTE <julien@moutte.net>
23123 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23124 (gst_collectpads_add_pad), (gst_collectpads_pop),
23125 (gst_collectpads_event), (gst_collectpads_chain):
23126 * gst/base/gstcollectpads.h: Handle EOS correctly.
23128 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23130 * tools/gst-launch.c: (main):
23131 more null protecting
23133 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23135 * gst/gst-i18n-lib.h:
23136 check for ENABLE_NLS, not GETTEXT_PACKAGE
23137 * gst/gstregistry.c: (gst_registry_add_plugin),
23138 (gst_registry_scan_path_level),
23139 (_gst_registry_remove_cache_plugins):
23140 protect possibly NULL strings
23141 * gst/parse/types.h:
23142 config.h already included before
23143 * tools/gst-inspect.c: (main):
23144 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23145 check for ENABLE_NLS, not GETTEXT_PACKAGE
23146 * tools/gst-launch.c: (main):
23147 check for ENABLE_NLS, not GETTEXT_PACKAGE
23149 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23152 if we don't have glib, fail before testing 2.8
23153 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23154 fix a leak, should fix plugins-base testsuite
23156 2005-10-11 Andy Wingo <wingo@pobox.com>
23158 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23159 take the mode we're going to as an arg. Go head and set the mode
23160 and flushing flags now, so that if the activate function starts a
23161 thread all the flags will be in the right state.
23162 (post_activate): Renamed also. Just handle making sure streaming
23163 finishes for the deactivation case, and setting the deactivated
23165 (gst_pad_set_active): Complain loudly if deactivation fails.
23166 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23167 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23168 remove the terrible hack.
23170 2005-10-11 Wim Taymans <wim@fluendo.com>
23172 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23173 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23174 (gst_bin_recalc_state), (gst_bin_change_state_func),
23175 (gst_bin_dispose), (bin_bus_handler):
23177 Prepare to make current EOS message queue more generic.
23180 * gst/gstevent.c: (gst_event_new_newsegment),
23181 (gst_event_parse_newsegment):
23183 Rename base to stream_time.
23185 * gst/gstmessage.h:
23188 2005-10-11 Wim Taymans <wim@fluendo.com>
23190 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23191 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23192 (gst_bin_change_state_func), (bin_bus_handler):
23194 Work on proper clock selection.
23196 2005-10-11 Edward Hervey <edward@fluendo.com>
23198 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23199 * libs/gst/controller/gstcontroller.h:
23200 Added GList* version of _remove_properties() in order to be able to wrap
23203 2005-10-11 Wim Taymans <wim@fluendo.com>
23205 * docs/design/part-states.txt:
23208 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23209 (gst_bin_change_state_func), (bin_bus_handler):
23210 Doc updates. Don't distribute the same clock over and over again.
23216 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23217 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23218 (gst_pad_send_event):
23220 Make probe emission threadsafe again.
23221 Register quarks and move _get_name() from utils.
23224 * gst/gstpipeline.c: (gst_pipeline_class_init),
23225 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23226 Only redistribute the clock of it changed.
23228 * gst/gstsystemclock.h:
23233 Moved the _flow_get_name() to GstPad.
23235 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23237 * check/gst-libs/gdp.c: (GST_START_TEST):
23238 * check/gst/gstcaps.c: (GST_START_TEST):
23239 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23240 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23241 (gst_dp_packet_from_caps):
23242 fix more valgrind warnings before turning up the heat
23244 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23246 * gst/parse/grammar.y:
23247 some cleanup before the hacking
23249 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23251 * gst/base/gstbasesrc.c: (gst_base_src_query):
23253 * gst/gstutils.c: (gst_guint64_to_gdouble),
23254 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23256 externalize, basesrc uses it
23257 obviously the implementation needs testing
23259 2005-10-10 Wim Taymans <wim@fluendo.com>
23261 * tests/sched/Makefile.am:
23262 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23263 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23265 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23267 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23268 apparently converting from guint64 to double is not implemented
23271 2005-10-10 Wim Taymans <wim@fluendo.com>
23273 * check/Makefile.am:
23274 * check/generic/states.c: (GST_START_TEST):
23275 * check/gst/gstbin.c: (GST_START_TEST):
23276 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23277 * check/states/sinks.c: (GST_START_TEST):
23278 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23280 Check fixes, use API as stated in design docs, remove hacks.
23282 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23283 (gst_base_sink_change_state):
23284 Catch stopping our task while we're shutting down.
23286 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23287 (gst_bin_remove_func), (gst_bin_get_state_func),
23288 (gst_bin_recalc_state), (gst_bin_change_state_func),
23291 * gst/gstelement.c: (gst_element_init),
23292 (gst_element_get_state_func), (gst_element_abort_state),
23293 (gst_element_commit_state), (gst_element_lost_state),
23294 (gst_element_set_state), (gst_element_change_state),
23295 (gst_element_change_state_func):
23296 * gst/gstelement.h:
23297 New state change algorithm (see #318116)
23299 * gst/gstpipeline.c: (gst_pipeline_class_init),
23300 (gst_pipeline_init), (gst_pipeline_set_property),
23301 (gst_pipeline_get_property), (do_pipeline_seek),
23302 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23303 * gst/gstpipeline.h:
23304 Remove crude state change hacks.
23307 Remove crude hacks.
23309 * tools/gst-launch.c: (main):
23310 Fixes for state change. Needs some more work to fully use the
23313 2005-10-10 Andy Wingo <wingo@pobox.com>
23315 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23317 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23318 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23321 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23323 * gst/gstiterator.c: (gst_iterator_new):
23324 Fix my previous commit: GTypes passed to gst_iterator_new()
23325 can be fundamental types.
23327 2005-10-10 Wim Taymans <wim@fluendo.com>
23329 * gst/gstelement.c: (gst_element_iterate_pad_list),
23330 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23331 (gst_element_iterate_sink_pads):
23332 Use src/sink pads lists for the respective iterators instead
23335 2005-10-10 Andy Wingo <wingo@pobox.com>
23337 Merged in popt removal + GOption addition patch from Ronald, bug
23340 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23341 GstElement macros around, remove popt-related symbols, add goption
23344 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23346 * docs/gst/Makefile.am:
23347 * docs/libs/Makefile.am: No POPT_CFLAGS.
23349 * examples/manual/Makefile.am:
23350 * docs/manual/basics-init.xml: Doc updates with an example.
23352 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23353 (gst_init), (parse_one_option), (parse_goption_arg):
23354 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23355 bit of hand merging and debugging to get the GOption stuff working
23358 * tests/Makefile.am:
23359 * tools/Makefile.am:
23360 * tools/gst-inspect.c: (main):
23361 * tools/gst-launch.c: (main):
23362 * tools/gst-run.c: (main):
23363 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23365 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23367 * gst/gstiterator.c: (gst_iterator_new):
23368 Add assertions to make sure passed GType is likely to really
23369 be a GType (as the compiler won't catch it if the size and
23370 GType arguments get mixed up, see #318447).
23372 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23374 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23376 * gst/gstbin.c: (gst_bin_iterate_sorted):
23377 Pass GType and size arguments to gst_iterator_new() in the right
23378 order (maybe we should make _new() take the GType as first argument
23379 just like _new_list()?) (#318447).
23382 2005-10-10 Wim Taymans <wim@fluendo.com>
23384 * gst/gstelement.c: (gst_element_finalize):
23385 And free the GStaticRecMutex too
23387 2005-10-10 Andy Wingo <wingo@pobox.com>
23389 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23390 Allocate and free the mutex properly.
23392 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23394 (GstElement): The state_lock is now recursive. Rebuild your
23395 plugins, suckers. Old macros adapted.
23397 * docs/gst/gstreamer-sections.txt: Doc updates.
23400 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23401 (g_static_rec_cond_wait): Ported from state changes patch, while
23402 we wait on bug #317802 to be solved in a well-distributed GLib.
23404 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23405 gst_element_change_state, variable name changes.
23406 (gst_element_change_state): Split out of gst_element_set_state in
23407 preparation for the state change merge. Doesn't pay attention to
23408 the 'transition' argument.
23409 (gst_element_set_state): Updates, hopefully purely cosmetic.
23410 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23411 state change patch.
23412 (gst_element_get_state_func): Renamed from get_state, cosmetic
23415 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23417 * gst/elements/gstelements.c:
23418 * win32/GStreamer.vcproj:
23420 * win32/dirent.c: (_tseekdir):
23421 * win32/gst-inspect.vcproj:
23422 * win32/gst-launch.vcproj:
23423 * win32/gstconfig.h:
23424 * win32/gstelements.vcproj:
23425 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23426 * win32/gstreamer.def:
23427 * win32/msvc71.sln:
23428 updates for the win32 build (patch from Sebastien Moutte)
23430 2005-10-10 Andy Wingo <wingo@pobox.com>
23432 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23433 gst_bin_get_state, cleaned up (but no logic changes).
23434 (bin_element_is_sink): Comment updates.
23435 (sink_iterator_filter): Remove needless cast.
23436 (gst_bin_iterate_sinks): Doc update.
23437 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23438 cleaned up (but no logic changes).
23440 * check/states/sinks.c (test_src_sink): Cleanups from the state
23442 (test_livesrc_sink): Sync on the state.
23444 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23445 the state change patch.
23447 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23450 * check/gst/gstbin.c: Merge in some style fixes and additional
23451 checks from Wim's state change patch.
23453 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23455 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23456 (gst_type_find_helper):
23457 Check whether we have the requested data already in our list of
23458 cached buffers before pulling a new buffer; also make the buffer
23459 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23461 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23466 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23467 don't use long long, it's not portable. Replacing with
23468 gint64 seems to work; let's hope no skeletons fall out of the closet.
23470 2005-10-10 Andy Wingo <wingo@pobox.com>
23472 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23474 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23476 * docs/gst/gstreamer-sections.txt:
23481 * gst/gstmessage.c: (gst_message_parse_state_changed):
23484 more docs, fix compilation
23486 2005-10-09 Philippe Khalaf <burger@speedy.org>
23487 * gst/gstmessage.c:
23488 Fixed a few forgotten variables on previous commit
23490 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23492 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23493 Fix evil typefind crasher: getrange() might return a short
23494 buffer at the end of a file, but gst_type_find_peek() must
23495 either return the full data as requested or NULL, but
23496 never a short buffer.
23498 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23500 * gst/gstmessage.c: (gst_message_new_state_changed),
23501 (gst_message_parse_state_changed):
23502 * gst/gstmessage.h:
23503 don't use "new", it's a C++ keyword
23505 2005-10-08 Wim Taymans <wim@fluendo.com>
23507 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23508 * gst/gstelement.c: (gst_element_post_message):
23509 * gst/gstpipeline.c: (gst_pipeline_change_state):
23510 Small docs and debug updates.
23512 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23514 * docs/gst/gstreamer-sections.txt:
23515 * gst/gstelementfactory.c:
23517 * gst/gsttaglist.c:
23520 2005-10-08 Wim Taymans <wim@fluendo.com>
23522 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23523 (gst_bin_dispose), (bin_bus_handler):
23524 Fix typos, add comments.
23525 Clear EOS list when going to PAUSED from any direction and do it
23526 in a threadsafe way.
23527 Get base time in a threadsafe way too.
23528 Fix confusing debug in the change_state function.
23529 Various other small cleanups.
23531 * gst/gstelement.c: (gst_element_post_message):
23532 Fix very verbose bus posting code.
23534 * gst/gstpipeline.c: (gst_pipeline_class_init),
23535 (gst_pipeline_set_property), (gst_pipeline_get_property),
23536 (gst_pipeline_change_state):
23537 Small ARG_ -> PROP_ cleanup
23539 2005-10-08 Wim Taymans <wim@fluendo.com>
23541 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23542 Do a less CPU demanding EOS check because we can.
23544 2005-10-08 Wim Taymans <wim@fluendo.com>
23546 * libs/gst/dataprotocol/dataprotocol.c:
23547 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23548 (gst_dp_packet_from_event):
23549 * libs/gst/dataprotocol/dataprotocol.h:
23550 * libs/gst/dataprotocol/dp-private.h:
23551 It's about time we bump the version number.
23552 Since event types don't fit in the guint8 anymore describing
23553 the payload type, make payload type 16 bits wide.
23555 2005-10-08 Wim Taymans <wim@fluendo.com>
23557 * docs/design/part-TODO.txt:
23558 * docs/design/part-clocks.txt:
23559 * docs/design/part-events.txt:
23560 * docs/design/part-gstbin.txt:
23561 * docs/design/part-gstelement.txt:
23562 * docs/design/part-gstpipeline.txt:
23563 * docs/design/part-live-source.txt:
23564 * docs/design/part-messages.txt:
23565 * docs/design/part-overview.txt:
23566 * docs/design/part-states.txt:
23569 2005-10-08 Wim Taymans <wim@fluendo.com>
23573 Fix event quark registration.
23574 Add some space between events so we can insert them in the
23577 2005-10-08 Wim Taymans <wim@fluendo.com>
23579 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23580 (gst_base_sink_handle_buffer):
23581 Better log message.
23584 * gst/gstelement.h:
23587 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23588 (gst_queue_set_property), (gst_queue_get_property):
23590 Remove old unused properties.
23592 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23593 * docs/gst/gstreamer-sections.txt:
23594 * gst/gstmessage.c:
23595 * gst/gstmessage.h:
23596 * gst/gstminiobject.c:
23597 * gst/gstminiobject.h:
23601 lots of new docs and doc fixes
23603 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23605 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23607 * gst/gstregistry.c: (gst_registry_lookup_locked),
23608 (gst_registry_scan_path_level):
23609 * gst/gstregistryxml.c: (load_plugin):
23610 Only ever load one plugin for a given plugin basename.
23611 This ensures correct overriding of GST_PLUGIN_PATH over
23612 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23613 system installed plugins.
23615 2005-10-08 Wim Taymans <wim@fluendo.com>
23617 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23618 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23619 Prepare for doing QOS.
23621 2005-10-08 Wim Taymans <wim@fluendo.com>
23623 * check/gst/gstbin.c: (GST_START_TEST):
23624 * check/pipelines/cleanup.c: (GST_START_TEST):
23625 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23626 Allow new clock message too.
23628 2005-10-08 Wim Taymans <wim@fluendo.com>
23630 * gst/gstmessage.c: (gst_message_new_error),
23631 (gst_message_new_warning), (gst_message_new_tag),
23632 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23633 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23634 (gst_message_new_segment_start), (gst_message_new_segment_done),
23635 (gst_message_parse_state_changed),
23636 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23637 (gst_message_parse_new_clock):
23638 * gst/gstmessage.h:
23639 Also carry the clock in question.
23641 2005-10-08 Wim Taymans <wim@fluendo.com>
23643 * gst/gstmessage.c: (gst_message_new_custom),
23644 (gst_message_new_eos), (gst_message_new_error),
23645 (gst_message_new_warning), (gst_message_new_tag),
23646 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23647 (gst_message_new_new_clock), (gst_message_new_segment_start),
23648 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23649 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23650 * gst/gstmessage.h:
23652 Added clock related messages.
23654 * gst/gstpipeline.c: (gst_pipeline_change_state):
23655 Post message when the clock changed.
23657 * tools/gst-launch.c: (event_loop):
23660 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23662 * tools/gst-inspect.c: (print_element_properties_info):
23663 Can't pass NULL strings to g_print() on windows.
23665 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23667 * docs/Makefile.am:
23668 * docs/gst/Makefile.am:
23669 * docs/gst/gstreamer-docs.sgml:
23670 * docs/gst/running.xml:
23671 * docs/version.entities.in:
23672 add a chapter on running GStreamer.
23673 document GST_DEBUG and GST_PLUGIN* env vars
23675 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23680 remove PLUGINS_BUILDDIR stuff
23681 * gst/gst.c: (init_post):
23682 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23684 remove, it was condescending and not needed
23686 2005-10-08 Wim Taymans <wim@fluendo.com>
23688 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23689 (gst_base_sink_handle_object), (gst_base_sink_event),
23690 (gst_base_sink_wait), (gst_base_sink_handle_event),
23691 (gst_base_sink_change_state):
23692 * gst/base/gstbasesink.h:
23693 Repost EOS message while going to PLAYING if still EOS.
23694 Make sure that when receiving a FLUSH_START we don't attempt
23695 to sync on the clock anymore.
23697 2005-10-08 Wim Taymans <wim@fluendo.com>
23699 * tools/gst-launch.c: (event_loop):
23700 Better message printout.
23702 2005-10-08 Wim Taymans <wim@fluendo.com>
23704 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23705 (gst_bin_child_proxy_get_children_count):
23706 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23707 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23708 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23709 (gst_child_proxy_set_valist):
23710 * gst/parse/grammar.y:
23711 Make ChildProxy threadsafe and fix mem leaks.
23713 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23715 * gst/gst.c: (init_post):
23716 debug the GST_PLUGIN_ env vars
23718 2005-10-08 Wim Taymans <wim@fluendo.com>
23720 * check/gst/gstbin.c: (GST_START_TEST):
23721 * check/gst/gstmessage.c: (GST_START_TEST):
23722 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23723 * gst/gstelement.c: (gst_element_commit_state),
23724 (gst_element_lost_state):
23725 * gst/gstmessage.c: (gst_message_new_state_changed),
23726 (gst_message_parse_state_changed):
23727 * gst/gstmessage.h:
23728 * tools/gst-launch.c: (event_loop):
23729 Added extra field to STATE_CHANGE message with the pending
23730 state, which will be different from the new state soon.
23732 2005-10-08 Wim Taymans <wim@fluendo.com>
23734 * gst/gstbus.c: (gst_bus_pop):
23736 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23737 Small cleanups and doc updates.
23739 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23741 * gst/gst.c: (init_pre):
23742 * gst/gstbin.c: (gst_bin_add_func):
23743 log distributing clocks and base time
23744 * gst/gstregistry.c: (gst_registry_add_plugin),
23745 (gst_registry_scan_path_level), (gst_registry_scan_path):
23746 clean up the debugging output a little
23747 * gst/gstutils.c: (gst_element_state_get_name):
23748 warn about a memleak (I've actually seen this be used, though
23749 it was probably a bug)
23751 2005-10-07 Wim Taymans <wim@fluendo.com>
23753 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23754 (gst_base_src_init), (gst_base_src_default_newsegment),
23755 (gst_base_src_newsegment), (gst_base_src_do_seek),
23756 (gst_base_src_loop), (gst_base_src_start):
23757 * gst/base/gstbasesrc.h:
23758 Make the newsegment event customizable by subclasses.
23760 2005-10-07 Wim Taymans <wim@fluendo.com>
23762 * gst/gstevent.c: (gst_event_new_buffersize),
23763 (gst_event_parse_buffersize):
23765 New event for future idea.
23767 2005-10-07 Andy Wingo <wingo@pobox.com>
23769 * gst/gstelement.c (gst_element_post_message): Doc update.
23771 * docs/gst/gstreamer-sections.txt: Update.
23773 * gst/gstmessage.c (gst_message_new_application): Made into a
23774 function like honest API calls.
23775 (gst_message_new_element): New message type.
23777 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23779 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23780 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23783 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23784 NO_PREROLL from gst_element_change_state to fall through.
23786 2005-10-07 Wim Taymans <wim@fluendo.com>
23788 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23789 (gst_ghost_pad_do_activate_push):
23790 Activating a ghostpad with no internal pad in push mode
23793 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23796 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23797 Fixes compilation on Windows.
23799 2005-10-07 Michael Smith <msmith@fluendo.com>
23801 * tools/gst-inspect.c:
23802 Print out feature and plugin count at the end when printing out
23805 2005-10-04 Michael Smith <msmith@fluendo.com>
23807 * gst/gsterror.c: (_gst_stream_errors_init):
23808 Add another error string used in a few existing plugins.
23811 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23812 * tools/gst-inspect.c: (print_element_info):
23813 When a feature disappears from a plugin (and the feature exists in
23814 the cached registry file), things went horribly wrong. This isn't a
23815 complete fix, we should actually be removing the 'missing' features
23816 from the features list when we load the actual plugin. That's not
23819 2005-10-04 Johan Dahlin <johan@gnome.org>
23821 * check/gst/gstiterator.c: (GST_START_TEST):
23822 * gst/gstbin.c: (gst_bin_iterate_elements),
23823 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23824 * gst/gstelement.c: (gst_element_iterate_pads):
23825 * gst/gstformat.c: (gst_format_iterate_definitions):
23826 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23827 (gst_iterator_new_list), (gst_iterator_filter):
23828 * gst/gstiterator.h:
23829 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23830 Add a GType to GstIterator, update callsites and tests.
23832 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23834 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23835 give events a chance to be handled by event probes when the pad
23838 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23840 * gst/gstevent.c: (gst_event_type_get_name),
23841 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23843 add string representations for event types
23845 2005-10-06 Wim Taymans <wim@fluendo.com>
23847 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23848 Don't use NULL pointers.
23850 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23852 * gst/gst_private.h:
23854 * gst/gstelement.c:
23856 * gst/gstpluginfeature.c:
23857 widen the debug category in output to fit the biggest one we have
23858 add a bus category and use it
23859 play with the colors
23860 fix up some categories
23862 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23864 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23865 add push activation of sink ghost pads.
23866 Andye, please verify
23868 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23870 * gst/gstutils.c: (gst_element_link_pads):
23871 fix a bug in the case where neither element has a pad
23872 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23873 add a test for that case
23875 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23877 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23878 emit have-data before checking for peers. This allows
23879 for probe handlers to connect elements. This helps autopluggers.
23880 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23882 add six checks, linked/unlinked with no/true/false probe
23884 2005-10-04 Wim Taymans <wim@fluendo.com>
23886 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23887 (gst_fake_sink_event), (gst_fake_sink_preroll),
23888 (gst_fake_sink_render), (gst_fake_sink_change_state):
23889 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23890 (gst_fake_src_get_property), (gst_fake_src_create),
23891 (gst_fake_src_stop):
23892 * gst/elements/gstidentity.c: (gst_identity_stop):
23893 Protect last_message with lock.
23895 2005-10-04 Edward Hervey <edward@fluendo.com>
23898 Added precision in the comments for GST_FORMAT_DEFAULT
23900 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23902 * tools/gst-launch.c: (main):
23903 Don't try to run erroneous pipelines.
23905 2005-10-04 Julien MOUTTE <julien@moutte.net>
23907 * gst/gstbus.c: We don't need this header.
23909 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23912 back to development
23914 === release 0.9.3 ===
23916 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23920 Releasing 0.9.3, "Unregistered"
23922 2005-10-03 Andy Wingo <wingo@pobox.com>
23924 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23925 whereby calling a pad's activatepush() function can start a thread
23926 that starts to push or pull before the pad gets the FLUSHING flag
23927 unset. Hack around it by holding the stream lock until the flag is
23928 set. Need to replace this with a proper solution. Together with
23929 the ghost pad fixes, this fixes mp3 playing/tagreading.
23931 * docs/design/part-gstghostpad.txt: Add a note about activation of
23932 proxy pads outside of ghost pads.
23934 * gst/gstghostpad.c: Implement the ghost pad activation design.
23936 2005-10-02 Andy Wingo <wingo@pobox.com>
23938 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23939 It is volatile, after all.
23941 * docs/design/part-gstghostpad.txt: Flesh out activation with
23944 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23947 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23950 Fix (unused) AM_CONDITIONAL tests.
23952 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
23954 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23956 * gst/gstutils.c: (gst_pad_query_convert):
23957 Add assertion that makes sure src_val is >=0, just like
23958 gst_query_new_convert() has. (#315895)
23960 2005-09-30 Edward Hervey <edward@fluendo.com>
23962 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23963 Let's not iterate pads we're not interested in, it avoids getting
23964 sky-high refcounts on sinkpad.
23966 2005-09-30 Wim Taymans <wim@fluendo.com>
23968 * gst/gstelement.c: (gst_element_set_state),
23969 (gst_element_change_state):
23970 Small tweak, element in ASYNC remains ASYNC.
23972 2005-09-30 Wim Taymans <wim@fluendo.com>
23974 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23975 Only error is an error.
23977 * gst/gstbin.c: (gst_bin_change_state):
23980 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23981 Also call pad_block in pad alloc.
23983 * gst/gstutils.c: (gst_flow_get_name):
23986 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23988 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23989 (gst_base_src_get_range):
23990 Fix documentation typos. Add some more debug info.
23992 2005-09-29 David Schleef <ds@schleef.org>
23994 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23995 more end-user friendly.
23996 * tools/gst-inspect.c: (main): Check if command-line argument is
23997 a file and attempt to load that file as a plugin.
23999 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24001 * check/gst/gstbin.c:
24002 * check/states/sinks.c:
24003 fix tests for the new warning
24004 * check/gst/gstpipeline.c:
24005 add a test for pipeline and bus interaction
24006 * gst/gstelement.c:
24007 elements should be NULL if they get disposed; add a warning if not
24009 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24012 for 2.6 refcounting, make debug log more correct by printing
24013 the actual refcounts at the time of swap (Wim)
24015 2005-09-29 Andy Wingo <wingo@pobox.com>
24017 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24018 removes signal watches previously added via
24019 gst_bus_add_signal_watch.
24020 (gst_bus_add_signal_watch): Don't return the source id, just store
24021 it on the bus if there wasn't an id already.
24023 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24024 add_signal_watch and remove_signal_watch.
24026 2005-09-29 Edward Hervey <edward@fluendo.com>
24028 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24029 Better if we actually iterate the list :)
24031 2005-09-29 Wim Taymans <wim@fluendo.com>
24033 * check/gst/gstbin.c: (GST_START_TEST):
24034 Change for new bus API.
24036 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24037 (send_messages), (GST_START_TEST), (gstbus_suite):
24038 Change for new bus signal API.
24040 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24041 (gst_bus_source_prepare), (gst_bus_source_check),
24042 (gst_bus_create_watch), (gst_bus_add_watch_full),
24043 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24044 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24046 Remove support for multiple GSources operating on different
24047 message types as it is too complex and unneeded when using
24049 Added support for receiving signals from the bus.
24051 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24053 * docs/libs/tmpl/gstdataprotocol.sgml:
24054 * docs/manual/advanced-dataaccess.xml:
24055 * gst/elements/gstcapsfilter.c:
24057 rename filter-caps to caps property
24059 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24061 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24062 More robust fraction string parsing.
24064 * docs/pwg/appendix-porting.xml:
24065 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24067 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24069 * gst/gstcaps.c: (gst_caps_do_simplify):
24070 Thou shalt not free a structure and then continue using it
24071 in the next loop iteration.
24073 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24075 Add test case for caps simplification.
24077 2005-09-29 Wim Taymans <wim@fluendo.com>
24079 * check/gst/gstbin.c: (GST_START_TEST):
24082 2005-09-29 Wim Taymans <wim@fluendo.com>
24084 * check/gst/gstbin.c: (GST_START_TEST):
24087 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24088 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24089 (find_element), (gst_bin_sort_iterator_next),
24090 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24091 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24092 (gst_bin_change_state), (gst_bin_dispose):
24093 A bin does not have a bus, it gets the bus from the parent.
24095 * gst/gstelement.c: (gst_element_requires_clock),
24096 (gst_element_provides_clock), (gst_element_is_indexable),
24097 (gst_element_is_locked_state), (gst_element_change_state),
24098 (gst_element_set_bus_func):
24101 * gst/gstpipeline.c: (gst_pipeline_class_init),
24102 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24103 The pipeline provides a bus.
24105 2005-09-28 Johan Dahlin <johan@gnome.org>
24107 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24108 gst_structure_get_enum instead of gst_structure_get_int
24110 * gst/gststructure.c (gst_structure_get_enum): Impl.
24112 * gst/gststructure.h (gst_structure_get_enum): Add
24114 * docs/gst/gstreamer-sections.txt: Ditto
24116 * gst/gstmessage.c (gst_message_new_state_changed): Use
24117 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24118 which does introspection.
24119 Reviewed by Christian Schaller
24121 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24123 * gst/gstinfo.c: (gst_debug_log_default):
24124 don't do dummy g_strdup()s
24125 * libs/gst/controller/gstcontroller.c:
24126 (on_object_controlled_property_changed),
24127 (gst_controlled_property_new), (gst_controller_new_valist),
24128 (gst_controller_new_list),
24129 (gst_controller_remove_properties_valist), (gst_controller_set),
24130 (gst_controller_get), (gst_controller_sync_values),
24131 (gst_controller_get_value_array), (_gst_controller_class_init),
24132 (gst_controller_get_type):
24133 * libs/gst/controller/gstcontroller.h:
24134 * libs/gst/controller/gstinterpolation.c:
24135 (gst_controlled_property_find_timed_value_node):
24136 convert // to /**/ comments
24138 2005-09-28 Wim Taymans <wim@fluendo.com>
24140 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24141 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24142 (gst_bus_sync_signal_handler):
24144 Added async-message and sync-message signals to the bus.
24145 Added helper BusFunc to emit signals for all posted messages.
24147 * gst/gstmessage.c: (gst_message_type_get_name),
24148 (gst_message_type_to_quark), (gst_message_get_type):
24149 * gst/gstmessage.h:
24150 Register quarks for message names.
24152 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24154 * docs/libs/gstreamer-libs-sections.txt:
24155 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24156 (gst_controller_new_list):
24157 * libs/gst/controller/gstcontroller.h:
24158 added another constructor for language bindings
24160 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24162 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24166 * gst/gstinfo.c: (_gst_debug_init):
24167 slightly more readable color for refcount debugging
24169 2005-09-28 Wim Taymans <wim@fluendo.com>
24171 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24172 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24173 (find_element), (gst_bin_sort_iterator_next),
24174 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24175 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24176 (gst_bin_change_state), (gst_bin_dispose):
24177 Small doc fixes. get_clock -> provide_clock.
24179 * gst/gstelement.c: (gst_element_class_init),
24180 (gst_element_provides_clock), (gst_element_provide_clock),
24181 (gst_element_get_clock), (gst_element_commit_state),
24182 (gst_element_lost_state):
24183 * gst/gstelement.h:
24184 Make get/set_clock() symetric. Add provide_clock vmethod since
24185 that is actually what this function does.
24187 * gst/gstpipeline.c: (gst_pipeline_class_init),
24188 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24189 (gst_pipeline_get_clock):
24190 get_clock -> provide_clock.
24192 2005-09-28 Andy Wingo <wingo@pobox.com>
24194 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24195 lieu of real docs...
24197 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24199 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24201 * gst/elements/gstcapsfilter.c:
24202 * gst/elements/gstfakesink.c:
24203 * gst/elements/gstfakesrc.c:
24204 * gst/elements/gstfdsink.c:
24205 * gst/elements/gstfdsrc.c:
24206 * gst/elements/gstfilesink.c:
24207 * gst/elements/gstfilesrc.c:
24208 * gst/elements/gstidentity.c:
24209 * gst/elements/gsttee.c:
24210 * gst/elements/gsttypefindelement.c:
24211 Make element details static.
24213 2005-09-28 Wim Taymans <wim@fluendo.com>
24215 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24216 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24217 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24218 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24219 (gst_bin_change_state), (gst_bin_dispose):
24220 Some documentation updates.
24221 Clean up dispose handlers.
24223 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24224 * gst/gstpad.c: (gst_pad_dispose):
24225 Clean up dispose handler.
24227 * gst/gstpipeline.c: (gst_pipeline_change_state):
24228 Removed spurious UNLOCK.
24230 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24232 * docs/gst/gstreamer-sections.txt:
24233 * gst/base/gstbasesrc.h:
24234 * gst/gstelement.h:
24238 * gst/gstpipeline.c:
24239 * gst/gstpipeline.h:
24242 added two new functions to the docs
24243 documents all undocumented GstXXXFlags
24244 completed some incomplete docs
24246 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24248 * gst/gstbin.c: (gst_bin_dispose):
24249 * gst/gstelement.c: (gst_element_dispose):
24250 remove now useless and leaky resurrection code in dispose
24251 * gst/base/gstbasesrc.c: (gst_base_src_init):
24252 * gst/gstelementfactory.c: (gst_element_factory_create):
24253 * gst/gstobject.c: (gst_object_set_parent):
24256 2005-09-27 Wim Taymans <wim@fluendo.com>
24258 * docs/design/part-TODO.txt:
24261 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24262 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24263 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24264 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24265 (gst_bin_change_state):
24266 * gst/gstelement.h:
24267 Remove element variable, we keep element info in the iterator now.
24269 2005-09-27 Andy Wingo <wingo@pobox.com>
24271 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24274 2005-09-27 Wim Taymans <wim@fluendo.com>
24276 * check/gst/gstbin.c: (GST_START_TEST):
24277 Enable check that works now.
24279 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24280 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24281 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24282 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24283 (gst_bin_change_state):
24285 Redid the state change algorithm using a topological sort algo.
24286 Handles all cases correctly.
24287 Exposed iterator for state change order.
24289 * gst/gstelement.h:
24290 Temp storage for state changes. Need to get rid of this soon.
24292 2005-09-27 Wim Taymans <wim@fluendo.com>
24294 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24295 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24296 (link_fold_func), (gst_pad_proxy_setcaps):
24297 Leak fixes, the fold functions need to unref the passed object and
24298 _get_parent_*() returns ref to parent.
24300 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24302 * check/gst/gstbuffer.c: (test_make_writable):
24303 Plug leak in test case and fix 'make check-valgrind'
24305 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24307 * gst/gstbuffer.c: (gst_subbuffer_init):
24308 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24309 works correctly in all circumstances (we could have just copied
24310 the parent buffer's readonly flag, but conceptually it seems
24311 cleaner to mark all subbuffers as read-only). (based on patch
24312 by Alessandro Decina, #314710).
24314 * check/gst/gstbuffer.c: (create_read_only_buffer),
24315 (test_make_writable), (test_subbuffer_make_writable),
24317 Add some tests for gst_buffer_make_writable().
24319 2005-09-27 Wim Taymans <wim@fluendo.com>
24321 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24322 use gst_object_has_ancestor().
24324 * gst/gstobject.c: (gst_object_has_ancestor):
24326 gst_object_has_ancestor() copied from gstbin.c as it is a
24329 * tests/instantiate/create.c: (create_all_elements):
24330 * tests/lat.c: (handoff_src), (handoff_sink):
24331 * tests/sched/runxml.c: (main):
24332 * tests/seeking/seeking1.c: (main):
24333 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24335 Fix compilation of some tests.
24337 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24340 Remove comment. GST_TYPE_G_ERROR is here to stay,
24341 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24342 (#316961, #300610).
24344 2005-09-26 Wim Taymans <wim@fluendo.com>
24346 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24347 Added check that shows error in state change order.
24349 2005-09-26 Wim Taymans <wim@fluendo.com>
24351 * gst/gstbin.c: (gst_bin_change_state):
24352 Make state change function use 3 queues again, we were
24353 adding elements in the wrong order.
24355 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24358 * gst/gstpad.c: (gst_pad_dispose):
24359 Added some debug info first.
24361 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24363 * docs/design/draft-push-pull.txt:
24364 * docs/design/part-events.txt:
24365 * docs/design/part-overview.txt:
24366 * docs/design/part-scheduling.txt:
24367 Replace all _pull_region() with _pull_range()
24369 2005-09-26 Andy Wingo <wingo@pobox.com>
24371 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24373 * check/gst-libs/controller.c: Update for controller api change.
24376 * tests/Makefile.am:
24377 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24378 over by GLib bug 118439.
24380 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24381 routines to a function.
24383 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24385 * libs/gst/controller/gsthelper.c:
24386 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24387 (gst_object_sync_values): Renamed from sink_values. Ugh.
24389 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24391 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24392 Renamed from controller_key, as it is exported.
24394 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24396 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24401 * gst/gstpadtemplate.h:
24404 * gst/gstqueryutils.c:
24405 * gst/gstqueryutils.h:
24406 remove queryutils headers after moving the two used functions
24407 to gstquery. also fixes build problem for gstsiddec
24409 2005-09-26 Michael Smith <msmith@fluendo.com>
24411 * tools/gst-launch.1.in:
24412 Correct documentation in manpage of debug syntax
24414 2005-09-26 Wim Taymans <wim@fluendo.com>
24416 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24417 (gst_base_src_is_seekable), (gst_base_src_change_state):
24418 Some more debugging info.
24420 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24422 * docs/gst/gstreamer-sections.txt:
24423 * gst/base/gstbasetransform.h:
24427 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24429 * docs/gst/.cvsignore:
24430 * docs/gst/tmpl/.cvsignore:
24431 * docs/gst/tmpl/gstpipeline.sgml:
24432 * docs/gst/tmpl/gstplugin.sgml:
24433 * gst/gstpipeline.c:
24436 inlined the last two docs files
24437 removed the tmpl directory from cvs (no more conflicts here!)
24439 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24441 * docs/gst/gstreamer-sections.txt:
24442 * docs/gst/tmpl/.cvsignore:
24443 * docs/gst/tmpl/gstpad.sgml:
24444 * docs/gst/tmpl/gstpadtemplate.sgml:
24446 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24447 (gst_pad_finalize), (gst_pad_set_pad_template):
24449 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24450 (gst_pad_template_class_init), (gst_pad_template_init),
24451 (gst_pad_template_dispose), (name_is_valid),
24452 (gst_static_pad_template_get), (gst_pad_template_new),
24453 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24454 (gst_pad_template_pad_created):
24455 * gst/gstpadtemplate.h:
24456 inlined two more docs
24457 factored gstpadtemplate out of gstpad
24459 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24461 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24462 (test_children_state_change_order_semi_sink):
24463 Fix test case: we can't rely on a fixed state change order when
24464 going from READY => PAUSED because the sink might commit its
24465 new state first when the first buffer created by the source
24466 reaches the sink before the source has finished its change state.
24467 (Test case still fails at times, see #316856, comment 5 onwards)
24469 2005-09-24 Wim Taymans <wim@fluendo.com>
24471 * docs/design/part-events.txt:
24472 * docs/design/part-gstbus.txt:
24473 * docs/design/part-gstpipeline.txt:
24474 * docs/design/part-messages.txt:
24475 * docs/design/part-overview.txt:
24476 * docs/design/part-segments.txt:
24480 * gst/gstelement.c:
24483 * gst/gstiterator.c:
24484 Various documentation updates.
24486 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24489 Well, that's embarassing. Luckily we weren't using
24490 GST_CLOCK_DIFF anywhere.
24492 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24494 * common/gtk-doc.mak:
24495 don't fail on building XML, FC4 slave shows a bunch of doc
24496 missing bits that I don't get
24498 * gst/gstpipeline.c:
24499 * gst/gststructure.c:
24502 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24504 * docs/design/part-gstbin.txt:
24505 * docs/design/part-gstbus.txt:
24507 Add blurb about how the bus goes into flushing mode and
24508 drops all messages when its bin goes from READY into NULL
24511 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24513 * docs/gst/gstreamer-sections.txt:
24514 * gst/gststructure.c: (gst_structure_get_clock_time):
24515 * gst/gststructure.h:
24516 add a method to get a GstClockTime out of a structure
24518 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24520 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24521 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24522 Added test to check state change order in bins (can still be made
24523 to fail here under heavy disk load; bails out with 'Push on pad
24524 fakesink:sink0, but it was not activated in push mode').
24526 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24527 Fix state change order when there is only a semi sink (#316856)
24529 * gst/gstbus.c: (gst_bus_class_init):
24530 Use _class_peek_parent(), not _class_ref(); fix docs to say
24531 'default main context' instead of 'mainloop' where that is
24534 * gst/gstelement.c: (gst_element_commit_state),
24535 (gst_element_set_state):
24536 Fix typos in debug messages
24538 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24541 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24542 * gst/gstpluginfeature.c:
24544 various doc updates
24545 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24546 change an assert into an error until it gets fixed properly
24548 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24550 * docs/gst/gstreamer-sections.txt:
24551 * docs/gst/tmpl/.cvsignore:
24552 * docs/gst/tmpl/gstelement.sgml:
24553 * docs/gst/tmpl/gstinfo.sgml:
24554 * docs/gst/tmpl/gstobject.sgml:
24555 * gst/gstelement.c:
24556 * gst/gstelement.h:
24559 * gst/gstobject.c: (gst_object_class_init):
24561 inlined 3 more biiiig doc files and added some missing docs on the fly
24563 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24565 * check/gst/.cvsignore:
24566 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24567 * gst/gstregistryxml.c: (load_plugin),
24568 (gst_registry_xml_save_plugin):
24569 put back source in registry. add checks for find_plugin.
24570 * testsuite/states/bin.c: (assert_state), (empty_bin),
24571 (test_adding_one_element), (main):
24572 * testsuite/states/locked.c: (main):
24573 some compile/run fixes
24575 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24577 * check/gst/gstvalue.c: (GST_START_TEST):
24578 fix leaks in the test itself
24580 2005-09-22 Wim Taymans <wim@fluendo.com>
24582 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24583 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24584 (gst_base_sink_query):
24585 Prepare for more accurate position reporting and query
24588 * gst/gstelement.c: (gst_element_send_event),
24589 (gst_element_set_state):
24592 2005-09-22 Wim Taymans <wim@fluendo.com>
24594 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24595 (gst_query_parse_segment):
24597 More documentation.
24598 Add segment query for future use.
24600 2005-09-22 Wim Taymans <wim@fluendo.com>
24602 * gst/gstbin.c: (gst_bin_add_func):
24603 Some more debug info.
24605 * gst/gstelement.c: (gst_element_send_event):
24606 Simplify send_event
24608 * gst/gstelement.h:
24609 Don't know how flags got broken.
24614 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24616 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24617 Add simplistic test suite for GST_TYPE_DATE serialisation and
24620 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24622 * docs/gst/gstreamer-sections.txt:
24623 * gst/gststructure.c: (gst_structure_set_valist),
24624 (gst_structure_get_date):
24625 * gst/gststructure.h:
24626 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24627 (gst_date_copy), (gst_value_compare_date),
24628 (gst_value_serialize_date), (gst_value_deserialize_date),
24629 (gst_value_transform_date_string),
24630 (gst_value_transform_string_date), (_gst_value_initialize):
24632 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24633 bunch of utility functions along with a hack that checks that
24634 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24635 is required. Part of the grand scheme in #170777.
24637 2005-09-22 Andy Wingo <wingo@pobox.com>
24639 * gst/gstconfig.h.in: Psych out gtk-doc.
24641 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24643 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24645 * tools/gst-inspect.c (print_element_list): Plug some
24646 inconsequential leaks.
24648 * gst/gstregistry.c (gst_registry_get_default): Doc.
24650 * check/gst/gstplugin.c:
24651 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24652 * gst/gstelementfactory.c (gst_element_factory_create):
24653 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24656 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24657 (gst_plugin_feature_load): Doc, don't eat refs.
24659 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24660 (gst_plugin_list_free): Doc.
24661 (gst_plugin_load_file): Doc updates.
24663 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24664 accessors returning refcounted objects, return a ref.
24666 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24667 accessor for caps. IDEMPOTENCE. Oh yes.
24669 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24671 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24673 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24674 (_gst_debug_register_funcptr):
24675 Add mutex to serialise access to the hash table with
24676 the function pointer => function name string mapping;
24677 make that hash table static scope (#316809).
24679 * gst/registries/.cvsignore:
24680 Remove left-over file.
24682 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24684 * docs/pwg/appendix-porting.xml:
24685 And something about newsegment events and caps-on-buffers to
24686 the porting guide (feel free to improve).
24688 2005-09-21 Andy Wingo <wingo@pobox.com>
24690 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24691 data and event probes on the same pad.
24692 (test_buffer_probe_once): Test that removing probes from within
24693 the probe functions works.
24695 2005-09-21 Andy Wingo <wingo@pobox.com>
24697 * check/gst/gstutils.c: New file.
24698 (test_buffer_probe_n_times): A simple buffer probe test. More to
24701 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24702 have-data::buffer, not have-data.
24703 (gst_pad_add_event_probe): Likewise for have-data::event.
24704 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24705 peer' isn't quite right yet though.
24706 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24707 (gst_pad_remove_data_probe): Change to take the guint handler_id
24708 as their arg, not the function+data, which is more glib-like.
24710 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24711 the signal emission to indicate if the data is a buffer or an
24713 (gst_pad_get_type): Initialize buffer and event quarks.
24714 (gst_pad_class_init): have-data is now a detailed signal, yes it
24717 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24719 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24720 * gst/gstutils.c: (gst_util_set_value_from_string),
24721 (gst_util_set_object_arg):
24722 Don't put functional code in g_return_if_fail() or
24723 g_return_val_if_fail() statements, otherwise things will
24724 break when G_DISABLE_CHECKS is defined during compilation.
24726 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24728 * docs/gst/tmpl/.cvsignore:
24729 * docs/gst/tmpl/gstvalue.sgml:
24732 inlied another one and added some obvious docs
24734 2005-09-21 Wim Taymans <wim@fluendo.com>
24736 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24737 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24738 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24739 (gst_fdsrc_get_property), (gst_fdsrc_create):
24740 * gst/elements/gstfdsrc.h:
24741 Properly implement fdsrc. Removed signal and timeout,
24742 better implemented somewhere else.
24744 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24746 * docs/gst/tmpl/.cvsignore:
24747 * docs/gst/tmpl/gstimplementsinterface.sgml:
24748 * gst/gstinterface.c:
24751 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24753 * docs/gst/gstreamer-sections.txt:
24754 * docs/gst/tmpl/.cvsignore:
24755 * docs/gst/tmpl/gstenumtypes.sgml:
24756 remove obsolete doc file
24758 2005-09-21 David Schleef <ds@schleef.org>
24760 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24761 little beer, fix a little leak.
24763 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24765 * docs/gst/gstreamer-docs.sgml:
24766 * docs/gst/gstreamer-sections.txt:
24767 * docs/gst/tmpl/.cvsignore:
24771 * gst/gstelement.h:
24772 * gst/gstindex.c: (gst_index_class_init):
24774 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24775 (gst_index_factory_class_init), (gst_index_factory_init),
24776 (gst_index_factory_finalize), (gst_index_factory_new),
24777 (gst_index_factory_destroy), (gst_index_factory_find),
24778 (gst_index_factory_create), (gst_index_factory_make):
24779 * gst/gstindexfactory.h:
24780 * gst/gstpluginfeature.c:
24781 * gst/gstpluginfeature.h:
24782 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24783 more docs inlined, splitted gstindex.{c,h}
24785 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24787 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24790 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24792 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24793 Set sync to FALSE by default.
24795 2005-09-20 Wim Taymans <wim@fluendo.com>
24797 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24798 (gst_base_sink_init):
24799 Make sync property settable from subclass.
24801 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24802 (gst_fake_sink_change_state):
24803 Set sync to FALSE by default.
24805 2005-09-20 Wim Taymans <wim@fluendo.com>
24807 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24808 * tools/gst-launch.c: (main):
24809 The timeout handler should have lower priority than the source
24810 so we don't timeout before popping a message with 0 timeout.
24811 Dump error messages after failed state change.
24813 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24815 * tools/gst-inspect.c: (print_element_properties_info):
24818 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24820 * check/gst/gstevent.c:
24821 * gst/elements/gstfakesink.c:
24822 * gst/elements/gstfakesink.h:
24823 remove the sync property from fakesink.
24824 has the side effect of setting sync TRUE
24825 for fakesink, which is a change. Anyone who knows how
24826 to fix this nicely in a GObject-y way, feel free.
24828 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24830 * docs/gst/gstreamer-docs.sgml:
24831 remove probe refsection
24833 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24835 * check/Makefile.am:
24836 disable valgrinding the controller test again
24837 * docs/gst/gstreamer-sections.txt:
24838 update for api-changes
24840 2005-09-20 Wim Taymans <wim@fluendo.com>
24842 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24843 (gst_base_sink_set_property), (gst_base_sink_get_property),
24844 (gst_base_sink_do_sync):
24845 * gst/base/gstbasesink.h:
24846 Added sync property to basesink to disable clock sync.
24848 2005-09-20 Andy Wingo <wingo@pobox.com>
24850 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24851 eating the caller's refcount.
24853 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24854 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24857 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24858 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24859 of GLib 2.8 public, so we can know which refcount to check in
24862 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24863 (gst_object_init): Only set the gst refcount if we're going ahead
24864 with the refcount hack.
24866 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24868 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24869 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24870 more leaks plumbed, added more debug-logging
24874 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24876 * gst/gstmessage.c:
24877 remove include of gstmemchunk.h
24879 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24881 * gst/gstclock.c: (_gst_clock_id_free):
24882 Commit from the Political Party For More Atomic CVS Commits,
24883 so that people don't waste too much of their day fishing
24884 out obvious leaks out of massive commits.
24885 Oh, and fix a pretty damn obvious leak in the memchunk
24888 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24890 * check/Makefile.am:
24891 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24892 plug mem-leak, re-add to valgrindable tests
24894 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24897 unbreak the build for those who have chronic arthritis
24898 and typing "make check" is just too taxing on the hands
24900 2005-09-20 Andy Wingo <wingo@pobox.com>
24902 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24903 really want it out, you should fix plugins at the same time.
24905 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24908 * docs/gst/gstreamer-sections.txt:
24910 added missing symbols to api docs
24911 disable ref-count hack if we have glib >= 2.8
24913 2005-09-19 David Schleef <ds@schleef.org>
24915 * docs/gst/Makefile.am: Ignore a few more internal headers
24916 * docs/gst/gstreamer-docs.sgml: Remove old sections
24917 * docs/gst/gstreamer-sections.txt: Remove old sections
24918 * docs/gst/tmpl/gstobject.sgml: update
24919 * docs/gst/tmpl/gstplugin.sgml: update
24920 * docs/gst/tmpl/gstpluginfeature.sgml: update
24921 * docs/random/ds/0.9-suggested-changes: update.
24922 * gst/Makefile.am: remove memchunk and trashstack, since they're
24924 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24925 * gst/gst.h: don't include some headers
24926 * gst/gstchildproxy.c: add gstmarshal.h
24927 * gst/gstclock.c: Don't use memchunks
24928 * gst/gstminiobject.c: Add some docs
24929 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24930 * gst/gstobject.h: same
24931 * gst/gstplugin.c: include gstmacros.h
24932 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24933 * gst/gstquery.c: don't use memchunks
24934 * gst/gstregistry.c: rename gst_registry_deinit()
24935 * gst/gstregistry.h: same
24937 2005-09-19 David Schleef <ds@schleef.org>
24939 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24940 * docs/libs/gstreamer-libs-sections.txt:
24941 * docs/libs/tmpl/gstgetbits.sgml:
24942 * docs/libs/tmpl/gstputbits.sgml:
24944 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24946 * win32/gstenumtypes.c:
24947 * win32/gstenumtypes.h:
24950 2005-09-19 Wim Taymans <wim@fluendo.com>
24952 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24953 Automatically PAUSE and RESUME a pipeline when a flushing seek
24956 2005-09-19 Andy Wingo <wingo@pobox.com>
24958 * gst/gstregistry.h: Spacing fixen.
24960 2005-09-19 Wim Taymans <wim@fluendo.com>
24962 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24963 Handle state change failure more correctly.
24965 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24967 * check/Makefile.am:
24968 * check/pipelines/cleanup.c: (run_pipeline):
24969 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24971 enable cleanup again after fixing the leak
24973 some more info on docs
24975 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24977 * check/Makefile.am:
24978 re-enable tests now that leaks are plugged
24980 * check/gst/gstbin.c:
24981 * check/gst/gstpipeline.c:
24982 add some more tests while fixing leaks
24983 * common/check.mak:
24984 make sure binaries are uptodate when valgrinding/gdbing
24986 * gst/gstelementfactory.c:
24987 remove a ref too many, and add a FIXME for when we get
24988 round to disposing of classes
24990 fix the refcounting when loading a plugin from a file and
24991 the code pretends that the pointer is the same even though
24992 of course it can change
24993 * gst/gstpluginfeature.c:
24994 unref plugins marked cached (a bit confusing as a name)
24995 as the docs state should be done
24996 various doc additions to explain refcounting
24997 * gst/gstregistry.c:
24998 * gst/gstregistryxml.c:
25001 2005-09-19 Wim Taymans <wim@fluendo.com>
25003 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25004 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25005 (send_messages), (GST_START_TEST), (gstbus_suite):
25006 * check/gst/gstpipeline.c: (GST_START_TEST):
25007 * check/pipelines/cleanup.c: (run_pipeline):
25008 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25010 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25011 (gst_bus_source_check), (gst_bus_source_dispatch),
25012 (gst_bus_create_watch), (gst_bus_add_watch_full),
25013 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25015 * tools/gst-launch.c: (event_loop):
25016 * tools/gst-md5sum.c: (event_loop):
25017 GstBusHandler -> GstBusFunc, return value has the same meaning as
25018 any other GSource (FALSE == remove source).
25019 _add_watch() and _add_watch_full() now take a MessageType mask to
25020 only handle specific types of messages.
25021 _poll() returns the GstMessage instead of the message type to avoid
25023 _have_pending() takes a MessageType mask now too.
25024 Added testsuite for multiple bus watches.
25025 Fix testsuites and applications for new bus API.
25027 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25029 * check/Makefile.am:
25030 mark a bunch of the tests as to fix until we fix them
25032 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25034 * common/check.mak:
25035 use GST_PLUGIN settings for valgrind tests as well, so we're
25036 valgrinding the correct thing
25037 * gst/gst.c: (init_post):
25040 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25042 * gst/gst.c: (init_post), (gst_deinit):
25043 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25044 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25045 * gst/gstindex.c: (gst_index_factory_class_init),
25046 (gst_index_factory_finalize):
25047 * gst/gstobject.c: (gst_object_dispose):
25048 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25049 (gst_plugin_load_file), (gst_plugin_desc_free):
25050 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25051 (gst_plugin_feature_finalize):
25052 * gst/gstregistry.c: (gst_registry_class_init),
25053 (gst_registry_init), (gst_registry_finalize),
25054 (gst_registry_get_default), (gst_registry_deinit):
25055 * gst/gstregistry.h:
25056 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25057 various cleanups and memleak plugging. make valgrind is happy now.
25059 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25061 * common/check.mak:
25062 add a check-valgrind target
25064 2005-09-18 David Schleef <ds@schleef.org>
25066 * tools/gst-inspect.c: Revert the GOption code.
25068 2005-09-17 David Schleef <ds@schleef.org>
25070 * check/Makefile.am: Fix environment variables.
25071 * check/gst/gstplugin.c: Fix for API changes.
25072 * tools/gst-inspect.c: Fix for API changes.
25073 * tools/gst-xmlinspect.c: Fix for API changes.
25074 * gst/gstelementfactory.c:
25077 * gst/gstpluginfeature.c:
25078 * gst/gstpluginfeature.h:
25079 * gst/gstregistry.c:
25080 * gst/gstregistry.h:
25081 * gst/gstregistryxml.c:
25082 * gst/gsttypefind.c:
25083 * gst/gsttypefindfactory.c:
25084 * gst/indexers/gstfileindex.c:
25085 * gst/indexers/gstmemindex.c:
25086 * gst/schedulers/Makefile.am:
25087 Change registry to keep track of both plugins and features,
25088 removing the feature tracking from plugins themselves.
25090 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25092 * check/Makefile.am:
25093 * tools/gst-register.1.in:
25094 remove gst-register
25096 2005-09-15 David Schleef <ds@schleef.org>
25098 * check/gst/gstplugin.c:
25099 * gst/gstelementfactory.c:
25101 * gst/gstpluginfeature.c:
25102 * gst/gstregistry.c:
25103 Getting tired of debugging. Disabled all the unreffing of
25104 plugins and features, which fixes the segfaults, but of
25105 course leaks like crazy. At least playbin works.
25107 2005-09-15 David Schleef <ds@schleef.org>
25109 * check/gst/gstplugin.c: (register_check_elements),
25110 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25112 * gst/elements/gsttypefindelement.c: Fix refcounting.
25113 * gst/gsttypefind.c:
25114 * gst/gsttypefindfactory.c:
25115 * gst/gsttypefindfactory.h:
25117 2005-09-15 David Schleef <ds@schleef.org>
25119 * gst/gstindex.c: get refcounting correct.
25120 * gst/gstregistry.c: Handle the case where a feature/plugin is
25123 2005-09-15 David Schleef <ds@schleef.org>
25125 * check/Makefile.am:
25126 * check/gst/gstplugin.c: Add test
25127 * gst/gstplugin.c: Fix problems noticed by testsuite
25129 * gst/gstregistry.c:
25130 * gst/gstregistry.h:
25132 2005-09-15 David Schleef <ds@schleef.org>
25134 * gst/gstplugin.c: Implement semi-decent recounting and locking
25135 in plugins and plugin features.
25137 * gst/gstpluginfeature.c:
25138 * gst/gstpluginfeature.h:
25139 * gst/gstregistry.c:
25141 2005-09-15 Michael Smith <msmith@fluendo.com>
25143 * gst/gstregistry.c: (gst_registry_get_feature_list):
25144 Implement this. Makes oggdemux work; decodebin still broken.
25146 2005-09-14 David Schleef <ds@schleef.org>
25148 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25150 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25151 * gst/check/Makefile.am:
25152 * libs/gst/controller/Makefile.am:
25153 * libs/gst/dataprotocol/Makefile.am:
25155 2005-09-14 David Schleef <ds@schleef.org>
25157 * configure.ac: Remove getbits library. Nothing uses it, and
25158 it should be in something like liboil if someone did want
25160 * libs/gst/Makefile.am:
25161 * libs/gst/getbits/Makefile.am:
25162 * libs/gst/getbits/gbtest.c:
25163 * libs/gst/getbits/getbits.c:
25164 * libs/gst/getbits/getbits.h:
25165 * libs/gst/getbits/gstgetbits_generic.c:
25166 * libs/gst/getbits/gstgetbits_i386.s:
25167 * libs/gst/getbits/gstgetbits_inl.h:
25169 2005-09-14 David Schleef <ds@schleef.org>
25171 * gst/Makefile.am: Dist glib-compat.h
25173 2005-09-14 David Schleef <ds@schleef.org>
25175 * configure.ac: Remove gst/registries, since it's no longer used.
25176 * gst/registries/Makefile.am:
25177 * gst/registries/gstlibxmlregistry.c:
25178 * gst/registries/gstlibxmlregistry.h:
25179 * gst/registries/gstxmlregistry.c:
25180 * gst/registries/gstxmlregistry.h:
25181 * gst/registries/registrytest.c:
25183 2005-09-14 David Schleef <ds@schleef.org>
25185 * gst/glib-compat.h:
25186 * gst/gstregistryxml.c:
25187 Convergence is near. Seriously.
25189 2005-09-14 David Schleef <ds@schleef.org>
25191 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25192 * gst/glib-compat.h:
25193 Attempt #4 to appease the buildbots.
25195 2005-09-14 David Schleef <ds@schleef.org>
25197 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25200 2005-09-14 David Schleef <ds@schleef.org>
25202 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25205 2005-09-14 David Schleef <ds@schleef.org>
25207 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25210 2005-09-14 David Schleef <ds@schleef.org>
25212 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25213 * gst/glib-compat.h: Add some functions that are in newer versions
25214 of glib than we care to require.
25215 * gst/gstregistryxml.c: Use them.
25217 2005-09-14 David Schleef <ds@schleef.org>
25219 * po/POTFILES.in: remove gst-register.c
25221 2005-09-14 David Schleef <ds@schleef.org>
25223 * docs/gst/gstreamer-docs.sgml:
25224 * docs/gst/gstreamer-sections.txt:
25225 * docs/gst/gstreamer.types:
25226 * docs/gst/tmpl/gstelement.sgml:
25227 * docs/gst/tmpl/gstplugin.sgml:
25228 * docs/gst/tmpl/gstpluginfeature.sgml:
25229 Documentation updates for registry changes.
25231 2005-09-14 David Schleef <ds@schleef.org>
25233 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25234 because we don't require glib-2.8.
25236 2005-09-14 David Schleef <ds@schleef.org>
25238 * gst/gstregistryxml.c: Added. Essentially moved out of the
25239 registries directory.
25241 2005-09-14 David Schleef <ds@schleef.org>
25243 * check/Makefile.am:
25244 * check/generic/states.c:
25248 * gst/gst_private.h:
25249 * gst/gstelementfactory.c:
25254 * gst/gstpluginfeature.c:
25255 * gst/gstpluginfeature.h:
25256 * gst/gstregistry.c:
25257 * gst/gstregistry.h:
25258 * gst/gstregistrypool.c: remove
25259 * gst/gstregistrypool.h: remove
25260 * gst/gsttypefind.c:
25261 * gst/gsttypefindfactory.c:
25263 * tools/Makefile.am:
25264 * tools/gst-compprep.c:
25265 * tools/gst-inspect.c:
25266 * tools/gst-register.c: remove
25267 * tools/gst-xmlinspect.c:
25268 Registry rewrite. Changes registry from being a file created
25269 by a tool into a simple cache file created automatically by
25270 libgstreamer. Removed gst-register (because it's no longer
25271 needed). Remove registry pools, because we only have one
25272 registry implementation (XML). Fix up other subsystems as
25275 2005-09-13 Michael Smith <msmith@fluendo.com>
25277 * gst/gstconfig.h.in:
25278 Don't Use windows linking attributes for MinGW. Fixes #316157
25280 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25282 * gst/gstutils.c: (set_state_async_thread_func),
25283 (gst_element_set_state_async):
25284 Apparently people think it's better if this function doesn't
25285 try to set the state to whatever state was asked for on the first
25286 call to this function for any object. Seriously.
25288 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25290 * check/gst/gstpipeline.c: (GST_START_TEST):
25291 * docs/gst/gstreamer-sections.txt:
25292 * gst/gstutils.c: (set_state_async_thread_func),
25293 (gst_element_set_state_async):
25295 add a "gst_element_set_state_async" method that
25296 sets the state and starts a thread to make sure the state
25297 change completes as best as it can
25299 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25301 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25302 codify design+behaviour in testsuite after discussion
25304 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25306 * docs/gst/tmpl/gstelement.sgml:
25307 * docs/manual/appendix-quotes.xml:
25309 * gst/gstelement.c: (gst_element_set_state):
25312 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25314 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25315 (gst_base_transform_prepare_output_buf),
25316 (gst_base_transform_handle_buffer):
25317 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25318 (gst_capsfilter_prepare_buf):
25319 Remove the requirement for sub-classes to call the parent
25320 implementation of prepare_output_buffer with a wrapper function.
25322 * gst/gsttaglist.h:
25323 * gst/gsttagsetter.h:
25324 Fix #define wrapper
25326 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25328 * docs/gst/gstreamer-sections.txt:
25331 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25333 * docs/gst/gstreamer-sections.txt:
25334 * docs/gst/tmpl/gstelement.sgml:
25335 * docs/gst/tmpl/gstplugin.sgml:
25336 * gst/gstminiobject.c:
25338 docs now stop throwing warnings
25340 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25342 * docs/gst/gstreamer-sections.txt:
25343 * docs/gst/gstreamer.types:
25344 * docs/gst/tmpl/gstpad.sgml:
25345 * docs/gst/tmpl/gsttypes.sgml:
25346 * gst/base/gstadapter.h:
25347 * gst/base/gstbasesink.h:
25348 * gst/base/gstbasesrc.h:
25354 * gst/gstelement.h:
25356 * gst/gstmessage.h:
25358 * gst/gststructure.c:
25359 * gst/registries/gstlibxmlregistry.h:
25360 various documentation fixes
25362 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25364 * docs/gst/gstreamer-sections.txt:
25365 * docs/gst/tmpl/gstvalue.sgml:
25366 rearrange gstvalue section
25367 * gst/gstutils.c: (gst_element_state_get_name):
25369 * gst/gstvalue.c: (_gst_value_initialize):
25373 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25375 * check/gst-libs/controller.c:
25376 Header include fix.
25377 * gst/base/gstbasetransform.c:
25378 (gst_base_transform_default_prepare_buf),
25379 (gst_base_transform_handle_buffer):
25380 * gst/base/gstbasetransform.h:
25381 Some more basetransform changes and fixes to enable sub-classes
25382 that modify buffer metadata only.
25383 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25384 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25385 (gst_capsfilter_prepare_buf):
25386 If the output pad has fixed allowed caps and input buffers
25387 don't have any, set the fixed caps on outgoing buffers.
25389 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25390 * check/elements/identity.c: (GST_START_TEST):
25391 Make the error a little clearer when the test fails because
25392 identity made a copy of the buffer.
25393 * docs/gst/gstreamer-sections.txt:
25394 New symbols in gstbasetransform.h
25395 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25396 (gst_base_transform_init), (gst_base_transform_transform_size),
25397 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25398 (gst_base_transform_default_prepare_buf),
25399 (gst_base_transform_get_unit_size),
25400 (gst_base_transform_buffer_alloc),
25401 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25402 (gst_base_transform_change_state),
25403 (gst_base_transform_set_passthrough),
25404 (gst_base_transform_set_in_place),
25405 (gst_base_transform_is_in_place):
25406 * gst/base/gstbasetransform.h:
25407 Change BaseTransform to separate in_place operate from same_caps
25408 output. in_place implies that the element can perform the transform
25409 on incoming buffers in-place, even if the caps on the output are
25411 Sub-class elements can now implement special buffer allocation
25412 methods for outgoing buffers if they wish to.
25413 Big documentation addition.
25414 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25415 * gst/elements/gstelements.c:
25416 Changes for basetransform modifications.
25417 * gst/elements/Makefile.am:
25418 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25419 Compile fix. Extra debug output.
25421 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25423 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25425 add tests for valid pad naming
25426 * gst/check/gstcheck.c: (gst_check_log_message_func),
25427 (gst_check_log_critical_func):
25429 remove printing of code, it is fragile when the code contains
25430 % and the line number is enough info
25431 * gst/check/gstcheck.h:
25432 * gst/gstpad.c: (gst_pad_template_new):
25435 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25438 say what CHECK flags we use
25439 * docs/libs/gstreamer-libs.types:
25440 * libs/gst/controller/Makefile.am:
25441 * libs/gst/controller/gst-controller.c:
25442 * libs/gst/controller/gst-controller.h:
25443 * libs/gst/controller/gst-helper.c:
25444 * libs/gst/controller/gst-interpolation.c:
25445 * libs/gst/controller/gstcontroller.c:
25446 * libs/gst/controller/gsthelper.c:
25447 * libs/gst/controller/gstinterpolation.c:
25448 * tools/gst-inspect.c: (print_plugin_info):
25449 we don't use dashes in header names
25451 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25453 * check/Makefile.am:
25454 * check/gst/.cvsignore:
25455 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25456 (gst_pipeline_suite), (main):
25457 adding a test for pipelines and state changes
25458 * gst/gstutils.c: (get_state_func):
25460 * gstreamer.spec.in:
25463 2005-09-08 Michael Smith <msmith@fluendo.com>
25465 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25466 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25467 (gst_file_src_is_seekable), (gst_file_src_get_size),
25468 (gst_file_src_start):
25469 * gst/elements/gstfilesrc.h:
25470 Various fixes for unseekable, unmmapable, and non-normal files, so
25471 that fallback to read() rather than mmap() works.
25472 * gst/gstevent.c: (gst_event_new_newsegment):
25473 Allow newsegment events with segment_start == segment_end, as will
25474 correctly happen if you use filesrc on a zero-size file, for
25477 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25479 * gst/gstplugin.c: (gst_plugin_load_file):
25480 Call g_module_close when we don't load the module
25482 * gst/registries/gstlibxmlregistry.c:
25483 (gst_xml_registry_get_property):
25484 Port leak fix from 0.8
25486 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25488 * docs/gst/gstreamer-docs.sgml:
25489 * docs/gst/tmpl/.cvsignore:
25490 * docs/gst/tmpl/gsttrace.sgml:
25491 * docs/gst/tmpl/gsttrashstack.sgml:
25494 * gst/gstelement.h:
25496 * gst/gstmessage.c:
25497 * gst/gstmessage.h:
25500 * gst/gsttaginterface.c:
25501 * gst/gsttaginterface.h:
25502 * gst/gsttaglist.c:
25503 * gst/gsttaglist.h:
25504 * gst/gsttagsetter.c:
25505 * gst/gsttagsetter.h:
25508 * gst/gsttrashstack.c:
25509 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25510 inlined docs for gsttrace, gsttrashstack
25512 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25515 * gst/elements/gstbufferstore.h:
25516 * gst/elements/gsttypefindelement.c:
25517 * gst/elements/gsttypefindelement.h:
25519 * gst/gsttypefind.c:
25520 * gst/gsttypefind.h:
25521 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25522 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25523 (gst_type_find_factory_dispose),
25524 (gst_type_find_factory_unload_thyself),
25525 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25526 (gst_type_find_factory_get_caps),
25527 (gst_type_find_factory_get_extensions),
25528 (gst_type_find_factory_call_function):
25529 * gst/gsttypefindfactory.h:
25530 * gst/registries/gstlibxmlregistry.c:
25531 * gst/registries/gstxmlregistry.c:
25532 splitted gsttypefind into gsttypefind, gsttypefindfactory
25534 2005-09-07 Andy Wingo <wingo@pobox.com>
25536 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25537 condition whereby the pad's task function is entered before the
25538 pad_mode variable was set.
25540 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25542 * gst/gstpad.c: (gst_pad_alloc_buffer):
25543 Catch misbehaving pad_alloc functions that don't
25544 set up caps and do it for them.
25546 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25548 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25549 test for pipe!=NULL
25550 * docs/gst/tmpl/.cvsignore:
25551 * docs/gst/tmpl/gstmemchunk.sgml:
25552 * docs/gst/tmpl/gstparse.sgml:
25553 * docs/gst/tmpl/gsttaglist.sgml:
25554 * docs/gst/tmpl/gsttagsetter.sgml:
25555 * docs/gst/tmpl/gsttypefind.sgml:
25556 * docs/gst/tmpl/gsttypefindfactory.sgml:
25557 * gst/gstmemchunk.c:
25560 * gst/gsttaginterface.c:
25561 * gst/gsttypefind.c:
25562 * gst/gsttypefind.h:
25565 === release 0.9.2 ===
25567 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25572 releasing 0.9.2, "South"
25574 2005-09-05 Andy Wingo <wingo@pobox.com>
25576 * gst/registries/gstxmlregistry.h:
25577 * gst/registries/gstxmlregistry.c: Um... resurrect...
25579 * gst/registries/gstxmlregistry.h:
25580 * gst/registries/gstxmlregistry.c: and update to newer API.
25581 Incidentally they should be a bit faster now that they don't have
25584 2005-09-05 Andy Wingo <wingo@pobox.com>
25586 * gst/registries/gstxmlregistry.h:
25587 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25588 replaced by the libxml registry a while back
25590 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25592 * docs/gst/tmpl/gstplugin.sgml:
25593 * gst/elements/gstelements.c:
25595 * gst/gstplugin.c: (gst_plugin_register_func),
25596 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25597 (gst_plugin_get_source):
25599 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25600 (gst_xml_registry_save_plugin):
25601 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25602 (gst_xml_registry_save_plugin):
25603 * tools/gst-inspect.c: (print_plugin_info):
25604 add a "source" plugin description field, to represent the source
25605 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25606 will set it to PACKAGE, which is automake's idea of the name of
25607 the source project.
25609 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25614 * docs/Makefile.am:
25615 * docs/faq/Makefile.am:
25616 * docs/gst/tmpl/gstelement.sgml:
25617 * docs/gst/tmpl/gsttypes.sgml:
25618 * docs/htmlinstall.mak:
25619 * docs/manual/Makefile.am:
25620 * docs/pwg/Makefile.am:
25621 reorganize doc build a little
25622 split out docbook and gtk-doc stuff
25623 have two separate --enable's and enable them through autogen
25624 but disable by default in configure (to be similar to other
25626 * gstreamer.spec.in:
25627 clean up docs install
25645 translation updates
25647 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25649 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25652 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25653 (gst_fake_sink_change_state):
25654 Make state change function thread-safe.
25656 * gst/gstpad.c: (gst_pad_alloc_buffer):
25657 Set offset on generic buffer allocated by fallback.
25659 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25661 * docs/gst/gstreamer-sections.txt:
25662 * docs/gst/tmpl/gstelement.sgml:
25664 * libs/gst/controller/gst-controller.c:
25665 (gst_controlled_property_set_interpolation_mode),
25666 (gst_controlled_property_new),
25667 (gst_controller_find_controlled_property):
25668 run the wingo-magic script against the docs
25670 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25672 * docs/gst/gstreamer-docs.sgml:
25673 * docs/gst/gstreamer-sections.txt:
25674 * docs/gst/tmpl/.cvsignore:
25675 * docs/gst/tmpl/gstelementdetails.sgml:
25676 * docs/gst/tmpl/gstelementfactory.sgml:
25679 * gst/gstelementfactory.c:
25680 * gst/gstelementfactory.h:
25681 merged elementdetails docs into elementfactory docs
25684 2005-09-02 Andy Wingo <wingo@pobox.com>
25686 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25687 consider this enum an enum and not a flags.
25689 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25691 * docs/gst/gstreamer-docs.sgml:
25692 * docs/gst/tmpl/.cvsignore:
25693 * docs/gst/tmpl/gstghostpad.sgml:
25694 * docs/gst/tmpl/gstiterator.sgml:
25695 * docs/gst/tmpl/gstmacros.sgml:
25696 * docs/gst/tmpl/gstrealpad.sgml:
25697 * docs/gst/tmpl/gstregistry.sgml:
25698 * docs/gst/tmpl/gstregistrypool.sgml:
25699 * docs/gst/tmpl/gststructure.sgml:
25700 * docs/gst/tmpl/gstsystemclock.sgml:
25701 * docs/gst/tmpl/gsttrace.sgml:
25702 * gst/gstghostpad.c:
25704 * gst/gstmemchunk.c:
25705 * gst/gstmemchunk.h:
25707 * gst/gstregistry.c:
25708 * gst/gstregistrypool.c:
25709 * gst/gststructure.c:
25710 * gst/gstsystemclock.c:
25713 2005-09-02 Andy Wingo <wingo@pobox.com>
25715 * gst/gstelement.h (GstState): Renamed from GstElementState,
25716 changed to be a normal enum instead of flags.
25717 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25718 munged to be GST_STATE_CHANGE_*.
25719 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25720 work with the new state representation.
25721 (GstStateChange): New enumeration of possible state transitions.
25722 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25723 (GstElementClass::change_state): Pass the GstStateChange along as
25724 an argument. Helps language bindings, so they don't have to use
25725 tricky lock-needing macros like GST_STATE_CHANGE ().
25727 * scripts/update-states (file): New script. Run it on a file to
25728 update it for state naming and API changes. Updates files in
25731 * All files updated for the new API.
25733 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25735 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25736 * gst/gstutils.c: (gst_util_set_value_from_string),
25737 (gst_util_set_object_arg):
25738 fix a bunch of unchecked return values
25739 * tools/gst-complete.c: (main):
25740 * gstreamer.spec.in:
25743 2005-09-01 Wim Taymans <wim@fluendo.com>
25745 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25746 (gst_base_sink_event), (gst_base_sink_do_sync),
25747 (gst_base_sink_handle_event):
25748 * gst/base/gstbasesink.h:
25749 Handle newsegments more correctly.
25754 * gst/gstevent.c: (gst_event_new_newsegment):
25755 A newsegment cannot have a start_time of -1
25757 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25759 * win32/gstenumtypes.c:
25760 * win32/gstenumtypes.h:
25763 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25765 * libs/gst/controller/gst-controller.c:
25766 (gst_controlled_property_set_interpolation_mode),
25767 (gst_controlled_property_new):
25768 fixed boolean again
25770 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25772 * docs/faq/gst-uninstalled:
25777 * gst/gstutils.c: (gst_element_link_filtered):
25779 add gst_element_link_filtered
25781 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25783 * docs/gst/gstreamer-docs.sgml:
25784 * docs/gst/gstreamer-sections.txt:
25785 * docs/gst/tmpl/.cvsignore:
25786 * docs/gst/tmpl/gsterror.sgml:
25787 * docs/gst/tmpl/gstfilter.sgml:
25788 * docs/gst/tmpl/gsturihandler.sgml:
25789 * docs/gst/tmpl/gsturitype.sgml:
25790 * docs/gst/tmpl/gstutils.sgml:
25791 * docs/gst/tmpl/gstxml.sgml:
25796 * gst/gsturitype.c:
25799 inlined more docs, fixed double id-ref
25801 2005-08-31 Wim Taymans <wim@fluendo.com>
25803 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25804 (gst_base_transform_handle_buffer):
25805 Passthrough elements don't need the caps as they don't care.
25807 2005-08-31 Wim Taymans <wim@fluendo.com>
25809 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25810 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25811 Don't leak refcounts on buffers.
25813 2005-08-31 Wim Taymans <wim@fluendo.com>
25815 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25816 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25817 (gst_base_transform_chain), (gst_base_transform_change_state):
25818 * gst/base/gstbasetransform.h:
25819 Handle the case where we are not negotiated more gracefully.
25821 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25823 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25824 (gst_file_src_map_region):
25825 Set READONLY flag on mmap'ed buffers, otherwise
25826 gst_buffer_make_writable() won't work properly (#314708).
25828 2005-08-31 Wim Taymans <wim@fluendo.com>
25830 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25831 passthrough elements can even do inplace on non writable
25832 buffers (as they don't touch them).
25834 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25836 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25837 (gst_test_mono_source_set_property),
25838 (gst_test_mono_source_class_init), (GST_START_TEST),
25839 (gst_controller_suite):
25840 more tests (hehe I have the most)
25842 describe popping messages whenusing mulltiple sources
25843 * libs/gst/controller/gst-controller.c:
25844 (gst_controlled_property_set_interpolation_mode),
25845 (gst_controlled_property_new):
25846 * libs/gst/controller/gst-controller.h:
25847 * libs/gst/controller/gst-interpolation.c:
25848 implement boolean properties
25850 2005-08-31 Wim Taymans <wim@fluendo.com>
25852 * gst/gstminiobject.c: (gst_mini_object_ref):
25853 Cannot assert that the refcount has to be positive
25854 since a disposed object can be resurrected.
25856 2005-08-31 Wim Taymans <wim@fluendo.com>
25858 * gst/gstpad.c: (gst_pad_init):
25859 Revert change, need to first fix badly behaving
25862 2005-08-30 Wim Taymans <wim@fluendo.com>
25864 * check/elements/fakesrc.c: (setup_fakesrc):
25865 * check/elements/identity.c: (setup_identity):
25866 Activate pads before using them.
25868 2005-08-30 Wim Taymans <wim@fluendo.com>
25870 * gst/base/gstadapter.c: (gst_adapter_flush):
25871 Flushing out 0 bytes is ok for this function.
25873 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25874 no newsegment gives a warning and sets the start/stop to
25877 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25878 (gst_base_transform_set_passthrough):
25881 * gst/gstminiobject.c: (gst_mini_object_ref):
25882 Check refcount here too.
25884 * gst/gstpad.c: (gst_pad_init):
25885 Pads are initially flushing and refusing data.
25887 * gst/gstutils.c: (gst_element_link_pads_filtered):
25888 When adding a capsfilter element make sure it has the
25889 same state as the parent bin.
25891 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25893 * docs/gst/tmpl/.cvsignore:
25894 * docs/gst/tmpl/gstformat.sgml:
25895 * docs/gst/tmpl/gstversion.sgml:
25899 * gst/gstversion.h.in:
25900 more docs and two more inlined
25902 2005-08-30 Wim Taymans <wim@fluendo.com>
25904 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25905 Don't sync to clock.
25907 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25909 * docs/gst/gstreamer-sections.txt:
25910 ultral33t func10ns deserve to appear in the docs actually
25911 * docs/gst/tmpl/.cvsignore:
25912 * docs/gst/tmpl/gstcompat.sgml:
25913 * docs/gst/tmpl/gstconfig.sgml:
25914 * gst/check/gstcheck.c:
25916 * gst/gstconfig.h.in:
25919 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25921 * docs/gst/tmpl/.cvsignore:
25922 * docs/gst/tmpl/gstquery.sgml:
25923 * docs/gst/tmpl/gstutils.sgml:
25926 inlined and extended docs
25928 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25930 * check/gst-libs/controller.c: (GST_START_TEST),
25931 (gst_controller_suite):
25933 * docs/gst/tmpl/gstutils.sgml:
25934 * docs/libs/gstreamer-libs-sections.txt:
25935 * docs/libs/tmpl/gstdataprotocol.sgml:
25937 * examples/controller/audio-example.c: (main):
25938 controller example works now
25941 * tools/gst-inspect.c: (print_element_properties_info):
25942 show param spec flags
25944 2005-08-29 Andy Wingo <wingo@pobox.com>
25946 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25948 2005-08-28 Andy Wingo <wingo@pobox.com>
25950 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25951 as having two arguments instead of just one. Allows superclasses
25952 to access information on subclasses -- see the terrible for() loop
25953 in gtype.c:g_type_create_instance for the reason why. All callers
25956 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25958 * docs/design/part-messages.txt:
25960 * docs/gst/tmpl/.cvsignore:
25961 * docs/gst/tmpl/gstcaps.sgml:
25962 * docs/gst/tmpl/gstclock.sgml:
25968 * gst/gstmessage.c:
25969 added descriptions for bus and message
25970 inline caps and clock docs
25972 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25974 * gst/gstmessage.c:
25975 * gst/gstmessage.h:
25978 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25980 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25983 2005-08-26 Andy Wingo <wingo@pobox.com>
25985 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25986 element_set_state's return val.
25987 (test_2_elements): Add test that's been disabled for months.
25989 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25990 can-activate-pull properties.
25992 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25993 can-activate-pull properties. Implement is_seekable so fakesrc can
25994 operate in pull mode.
25996 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25998 (gst_base_sink_activate, gst_base_sink_activate_pull)
25999 (gst_base_sink_activate_push): Make activation mode choosing work.
26001 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26002 is right. Make pull mode work. Post an eos before pausing in pull
26004 (gst_base_sink_change_state): Pay attention to the core's
26005 change_state() return val.
26007 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26008 has-getrange properties. Cleanups.
26010 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26011 has_getrange and replace with can_activate_pull and
26014 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26015 locking comments. Remove has_loop, has_chain and replace with
26016 can_activate_pull and can_activate_push.
26018 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26021 * examples/Makefile.am:
26022 * examples/metadata/Makefile.am:
26023 * examples/metadata/read-metadata.c: (message_loop),
26024 (have_pad_handler), (make_pipeline), (print_tag), (main):
26025 Add metadata reading example that loops over a list of filenames,
26026 dumping any tags found.
26028 * gst/gstbus.c: (gst_bus_dispose):
26029 * gst/gstelement.c: (gst_element_dispose):
26030 Release a few potentially-held references in dispose.
26032 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26034 * docs/gst/tmpl/gstminiobject.sgml:
26035 do *not* add tmpl/*.sgml files to CVS!
26037 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26039 * libs/gst/bytestream/.cvsignore:
26040 * libs/gst/bytestream/Makefile.am:
26041 * libs/gst/bytestream/adapter.c:
26042 * libs/gst/bytestream/adapter.h:
26043 * libs/gst/bytestream/bytestream.c:
26044 * libs/gst/bytestream/bytestream.h:
26045 * libs/gst/bytestream/filepad.c:
26046 * libs/gst/bytestream/filepad.h:
26047 removing obsolete files
26049 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26051 * docs/gst/gstreamer-docs.sgml:
26052 * docs/libs/gstreamer-libs-docs.sgml:
26053 disabed additional index entries again, as this makes docs-gen just
26054 slow and they aren't useful yet
26055 * docs/libs/gstreamer-libs-sections.txt:
26056 little -section.txt cleanup for libs
26058 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26060 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26061 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26062 fix up some debugging
26063 (gst_base_transform_get_unit_size),
26064 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26065 (gst_base_transform_handle_buffer):
26066 * gst/base/gstbasetransform.h:
26067 handle and store timed NEWSEGMENT events so that subclasses that
26068 calculate time by counting samples have a segment_start time they
26069 need to add to their timestamps - see audioresample
26071 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26074 removed ';' from the end of macro defs
26075 * docs/gst/gstreamer-docs.sgml:
26076 * docs/gst/gstreamer-sections.txt:
26077 * docs/gst/tmpl/.cvsignore:
26079 * gst/gstelement.c: (gst_element_class_init),
26080 (gst_element_set_state), (activate_pads),
26081 (gst_element_save_thyself):
26082 * gst/gstevent.c: (gst_event_new_newsegment):
26084 * gst/gstiterator.c:
26085 * gst/gstiterator.h:
26088 * gst/gstutils.c: (gst_pad_query_convert):
26090 fixed parameter name mismatches between source, header and docs
26091 added some more docs, resolved the last batch of unused elements in
26092 docs (now someone needs to doc them)
26094 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26096 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26097 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26098 don't walk through the plugins backwards. Where is all this
26099 reversed logic coming from ?
26101 2005-08-25 Wim Taymans <wim@fluendo.com>
26103 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26104 (gst_base_transform_transform_size),
26105 (gst_base_transform_configure_caps),
26106 (gst_base_transform_get_unit_size),
26107 (gst_base_transform_buffer_alloc),
26108 (gst_base_transform_change_state):
26109 * gst/base/gstbasetransform.h:
26110 Cache caps unit_size.
26111 Make sure we cannot negotiate up and downstream at the
26114 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26116 * gst/gst.c: (init_pre), (init_post):
26117 register the installed plugin path after the env var
26118 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26119 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26120 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26121 directories, so the tests can prefer uninstalled over installed
26123 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26125 * gst/base/gstbasetransform.h:
26130 2005-08-25 Wim Taymans <wim@fluendo.com>
26132 * gst/gstbin.c: (bin_bus_handler):
26133 Be a bit more conservative about the posted message.
26135 * gst/gstbus.c: (gst_bus_post):
26136 Some cleanups, warn wrong return values.
26138 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26140 * check/gst/gstbin.c: (GST_START_TEST):
26141 * gst/gstbin.c: (bin_bus_handler):
26142 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26143 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26144 (gst_message_new_warning), (gst_message_new_tag),
26145 (gst_message_new_state_changed), (gst_message_new_segment_start),
26146 (gst_message_new_segment_done), (gst_message_new_custom):
26147 * gst/gstmessage.h:
26148 * tools/gst-launch.c: (event_loop):
26149 * tools/gst-md5sum.c: (event_loop):
26150 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26152 2005-08-25 Wim Taymans <wim@fluendo.com>
26154 * check/generic/states.c: (GST_START_TEST):
26155 Cleanup can be done at the end.
26157 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26158 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26159 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26160 Oh boy.. Thanks for finding this, Thomas.
26162 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26164 * docs/gst/gstreamer.types:
26165 added missing types
26167 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26169 * docs/gst/gstreamer-docs.sgml:
26170 * docs/gst/gstreamer-sections.txt:
26171 * docs/gst/tmpl/.cvsignore:
26173 * gst/gstiterator.c:
26175 * gst/registries/gstxmlregistry.h:
26176 added missing classes and symbols (123 more to go)
26177 removed removed symbols from section file
26178 fixed many doc-comments
26180 2005-08-24 Wim Taymans <wim@fluendo.com>
26182 * check/generic/states.c: (GST_START_TEST):
26183 Make sure all tasks are stopped.
26185 * check/gst/gstbin.c: (GST_START_TEST):
26186 Unref after usage for proper valgrinding.
26188 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26189 Really wait for the task to stop before destroying the
26192 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26193 (gst_queue_src_activate_push):
26194 Small cleanups. Don't stop the task when we did not start
26197 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26198 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26199 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26202 Protect the stream lock with the object lock.
26203 Disallow setting the stream lock when running.
26204 Add cleanup_all to wait for the threadpool to finish.
26205 Remove code to autoallocate a mutex if none was provided.
26206 Add _join() to wait for a task to stop.
26207 Protect the thread pool with a global lock.
26209 2005-08-24 Wim Taymans <wim@fluendo.com>
26211 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26212 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26213 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26214 * gst/base/gstbasesink.h:
26215 Handle newsegment events correctly.
26216 Drop buffers out of the segment range.
26218 2005-08-22 Andy Wingo <wingo@pobox.com>
26220 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26221 macro, implements an interface and gstimplementsinterface for a
26224 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26226 * check/Makefile.am:
26227 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26228 add a test that does a bunch of state changes on elements
26229 needs some fixing for valgrind
26230 * check/states/sinks.c: (gst_object_suite):
26233 add prototype for gst_caps_is_equal_fixed
26235 * gst/gstregistrypool.c:
26238 2005-08-24 Andy Wingo <wingo@pobox.com>
26240 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26241 convert a negative value. Doesn't make much sense. Mostly this is
26242 here to force callers to ensure -1 maps to -1.
26244 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26246 * docs/pwg/advanced-types.xml:
26247 Well done to Michael for catching my deliberate introduction
26248 of this spelling mistake.
26249 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26250 * gst/gstelement.h:
26251 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26252 unlink pads before removing the element from the bin.
26254 2005-08-24 Andy Wingo <wingo@pobox.com>
26256 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26257 the same thing as GST_DEBUG=*:4.
26258 (parse_debug_level, parse_debug_category): New helper parsers.
26260 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26262 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26263 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26264 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26265 (gst_base_transform_buffer_alloc),
26266 (gst_base_transform_handle_buffer):
26267 use gboolean return values and pointers to size so we can use the
26268 full GST_BUFFER_SIZE range (guint) for buffer sizes
26269 use GstPadDirection for transform_caps
26270 * gst/base/gstbasetransform.h:
26271 rename get_size to get_unit_size since that's what it is
26272 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26273 use GstPadDirection for transform_caps
26274 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26276 cleanup and debugging
26278 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26280 * gst/gstelement.c: (gst_element_class_init),
26281 (gst_element_set_state), (activate_pads),
26282 (gst_element_save_thyself):
26283 * tools/gst-compprep.c: (main):
26284 * tools/gst-inspect.c: (print_element_properties_info):
26285 * tools/gst-xmlinspect.c: (print_element_properties):
26286 Fixed long standing mem-leak
26288 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26290 * check/gst/gstbin.c: (GST_START_TEST):
26291 * gst/gstbin.c: (bin_bus_handler):
26292 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26293 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26294 (gst_message_new_warning), (gst_message_new_tag),
26295 (gst_message_new_state_changed), (gst_message_new_segment_start),
26296 (gst_message_new_segment_done), (gst_message_new_custom):
26297 * gst/gstmessage.h:
26298 * tools/gst-launch.c: (event_loop):
26299 * tools/gst-md5sum.c: (event_loop):
26300 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26301 that applications can sensibly post custom messages with references
26302 to their own objects.
26304 2005-08-24 Andy Wingo <wingo@pobox.com>
26306 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26309 2005-08-24 Wim Taymans <wim@fluendo.com>
26311 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26312 (gst_base_transform_transform_caps),
26313 (gst_base_transform_transform_size),
26314 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26315 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26316 (gst_base_transform_handle_buffer):
26317 * gst/base/gstbasetransform.h:
26318 Many fixes and new features added by Thomas. Can now also do
26319 transforms with variable sizes and a custom fixate_caps function.
26321 2005-08-24 Wim Taymans <wim@fluendo.com>
26323 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26327 Cast to ClockTime before formatting to time.
26332 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26334 * check/gst-libs/controller.c: (GST_START_TEST),
26335 (gst_controller_suite):
26336 * docs/gst/tmpl/gstcaps.sgml:
26337 * docs/gst/tmpl/gstghostpad.sgml:
26338 * docs/gst/tmpl/gstquery.sgml:
26339 * docs/gst/tmpl/gstutils.sgml:
26340 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26341 (gst_object_sink_values), (gst_object_get_value_arrays),
26342 (gst_object_get_value_array):
26343 gracefully handle helper method calls to objects that are not beeing
26344 controlled, added test case for that
26346 2005-08-23 Wim Taymans <wim@fluendo.com>
26348 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26349 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26350 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26351 (gst_event_parse_qos), (gst_event_new_seek),
26352 (gst_event_parse_seek):
26354 Some more debugging output and doc cleanups.
26356 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26357 Fix possible deadlock.
26359 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26361 * docs/gst/gstreamer-docs.sgml:
26362 * docs/gst/gstreamer-sections.txt:
26363 * docs/gst/gstreamer.types:
26364 * docs/gst/tmpl/.cvsignore:
26367 * gst/gstelement.c:
26369 added 100 symbols from gstreamer-unused.txt to the right sections
26370 fixed more broken comments
26371 added GstBus to docs
26373 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26375 * docs/gst/gstreamer-sections.txt:
26376 * docs/gst/tmpl/.cvsignore:
26377 * docs/gst/tmpl/gstbin.sgml:
26378 * docs/gst/tmpl/gstbuffer.sgml:
26379 * gst/base/gstbasesrc.c:
26380 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26383 * tools/gst-launch.1.in:
26384 inlined more doc comments, added missing comments and fixed comments
26387 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26389 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26393 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26395 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26396 * gst/gststructure.h:
26397 add a fixate function for booleans; add a FIXME that these func
26398 names should probably be gst_structure_fixate_*
26400 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26402 * docs/gst/gstreamer-docs.sgml:
26403 * docs/gst/gstreamer-sections.txt:
26405 * gst/gstbin.c: (gst_bin_get_type),
26406 (gst_bin_child_proxy_get_child_by_index),
26407 (gst_bin_child_proxy_get_children_count),
26408 (gst_bin_child_proxy_init):
26409 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26410 (gst_child_proxy_get_child_by_index),
26411 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26412 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26413 (gst_child_proxy_get), (gst_child_proxy_set_property),
26414 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26415 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26416 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26417 * gst/gstchildproxy.h:
26418 * gst/parse/grammar.y:
26419 * tools/gst-inspect.c: (print_interfaces),
26420 (print_element_properties_info), (print_element_info):
26421 ported gstchildproxy over from 0.8
26422 ported gst-inspect fixes and enhancements over from 0.8
26424 2005-08-22 Wim Taymans <wim@fluendo.com>
26426 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26427 (gst_base_transform_handle_buffer):
26428 Also call the transform function if we have ANY caps.
26430 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26433 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26435 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26436 Don't pretend to handle seek events if the source is not seekable
26438 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26440 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26441 Remove extra parameter to debug output
26443 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26444 (gst_base_src_do_seek), (gst_base_src_activate_push):
26445 Fix seek event handling.
26447 * gst/gstpipeline.c: (gst_pipeline_change_state):
26448 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26449 (gst_queue_src_activate_push):
26450 Don't start the src pad task on FLUSH_STOP if the pad
26454 2005-08-22 Wim Taymans <wim@fluendo.com>
26456 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26457 Added check for gst_static_caps_get() refcounting.
26459 2005-08-22 Wim Taymans <wim@fluendo.com>
26461 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26462 Make _static_caps_get() refcounting sane.
26464 * gst/gstelement.c: (gst_element_set_state):
26465 Add g_return_val_if_fail() to protect against segfaults.
26467 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26469 * docs/gst/tmpl/gstevent.sgml:
26472 inlined remaining docs, added missing doc comments
26474 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26476 * check/gst/gstbin.c: (GST_START_TEST):
26477 since we don't know when preroll is done, use refcount range
26479 * gst/check/gstcheck.h:
26480 add macro for checking refcount range
26482 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26484 * check/Makefile.am:
26485 clean up environment for when registry gets built versus
26486 when actual tests are run; valgrind seems to not report
26487 leaks if GST_PLUGIN_PATH is set to some specific values
26488 * check/gst/gstbin.c: (GST_START_TEST):
26489 add more refcounting checks; maybe this exposes a
26491 * common/check.mak:
26492 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26493 * gst/check/gstcheck.h:
26494 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26495 (gst_bin_change_state):
26496 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26497 add/fix debugging/whitespace
26499 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26501 * check/gst/gstevent.c: (event_probe), (test_event),
26503 Er, don't call gst_bin_watch_for_state_change you idiot.
26505 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26507 * check/Makefile.am:
26508 Use CHECK_CFLAGS and CHECK_LIBS
26509 * check/gst/gstevent.c: (event_probe), (test_event),
26512 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26513 (gst_base_src_start), (gst_base_src_stop),
26514 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26515 (gst_base_src_change_state):
26516 Sprinkle gst_base_src_stop liberally around error paths to fix
26517 problems reusing a source after failed state changes.
26518 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26519 (helper_find_suggest), (gst_type_find_helper):
26520 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26522 * docs/gst/tmpl/gstevent.sgml:
26523 Migrate part of the docs from the SGML file. Wait for ensonic to
26524 tell me how I did it wrong ;)
26525 * tools/gst-typefind.c: (main):
26526 Extra robustness to state changes between files.
26528 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26530 * check/Makefile.am:
26531 don't valgrind the controller test - it's leaking - Stefan, HELP
26532 * gst/check/gstcheck.c: (gst_check_message_error),
26533 (gst_check_chain_func), (gst_check_setup_element),
26534 (gst_check_teardown_element), (gst_check_setup_src_pad),
26535 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26536 (gst_check_teardown_sink_pad):
26537 * gst/check/gstcheck.h:
26538 add a bunch of methods to set up elements, and src and sink pads
26539 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26540 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26543 * gst/gstmessage.c:
26545 whitespace/doc fixes
26547 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26549 * gst/gstelement.h:
26550 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26551 be handled by the application and not always printed as well
26553 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26555 * check/Makefile.am:
26557 * gst/check/gstcheck.c: (gst_check_message_error):
26558 * gst/check/gstcheck.h:
26559 add a fail_unless_equals_int
26560 add fail_unless for error messages
26562 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26564 * check/Makefile.am:
26566 * common/Makefile.am:
26567 * common/check.mak:
26569 factor out some of the common stuff so we can use it
26571 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26573 * check/Makefile.am:
26574 * check/gst/gstiterator.c: (GST_START_TEST):
26575 * check/gst/gstsystemclock.c: (GST_START_TEST),
26576 (gst_systemclock_suite):
26577 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26579 valgrind more tests
26581 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26583 * check/elements/.cvsignore:
26584 * check/elements/gstfakesrc.c:
26585 rename to name of element
26586 * check/elements/identity.c: (chain_func), (event_func),
26587 (setup_identity), (cleanup_identity), (GST_START_TEST),
26588 (identity_suite), (main):
26589 add a test for identity
26590 * check/Makefile.am:
26591 * pkgconfig/Makefile.am:
26592 * pkgconfig/gstreamer-check.pc.in:
26593 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26597 move the check stuff to a library that gets installed
26598 * check/gst-libs/controller.c: (GST_START_TEST):
26599 * check/gst-libs/gdp.c:
26600 * check/gst/gst.c: (GST_START_TEST):
26601 * check/gst/gstbin.c:
26602 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26603 * check/gst/gstbus.c:
26604 * check/gst/gstcaps.c: (GST_START_TEST):
26605 * check/gst/gstelement.c:
26606 * check/gst/gstghostpad.c:
26607 * check/gst/gstiterator.c:
26608 * check/gst/gstmessage.c:
26609 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26610 * check/gst/gstobject.c:
26611 * check/gst/gstpad.c: (GST_START_TEST):
26612 * check/gst/gststructure.c: (GST_START_TEST):
26613 * check/gst/gstsystemclock.c: (GST_START_TEST),
26614 (gst_systemclock_suite):
26615 * check/gst/gsttag.c: (gst_tag_suite):
26616 * check/gst/gstvalue.c:
26617 * check/pipelines/cleanup.c:
26618 * check/pipelines/simple_launch_lines.c:
26619 * check/states/sinks.c:
26620 change include statement
26622 * docs/gst/gstreamer-sections.txt:
26623 * docs/gst/tmpl/gstpad.sgml:
26624 document more pad stuff
26625 * gst/gstminiobject.c: (gst_mini_object_ref),
26626 (gst_mini_object_unref):
26629 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26631 * docs/gst/tmpl/gst.sgml:
26633 eliminate another tmpl file, fix spelling in the long-description
26635 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26637 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26638 (test_event), (timediff), (gstevents_suite):
26639 Should fix build on 64-bit arch's
26641 2005-08-18 Andy Wingo <wingo@pobox.com>
26643 Make sure that when a pipeline goes to PLAYING, that data has
26644 actually hit the sink.
26646 * check/states/sinks.c (test_sink): A sink that doesn't get any
26647 data shouldn't return SUCCESS for going to either PLAYING or
26648 PAUSED. Test also the return values on the way back down.
26650 * gst/gstelement.c (gst_element_set_state): When changing the
26651 state of an element currently changing state asynchronously, go to
26652 lost-state after commiting the pending state. Makes future calls
26653 to get_state continue to return ASYNC.
26655 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26656 ASYNC when going to PLAYING if we still don't have preroll, as can
26657 happen with live sources.
26659 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26661 * docs/pwg/advanced-types.xml:
26662 Hack long paragraph into 2 chunks as a workaround for buggy
26663 jadetex version in sid and breezy that loops infinitely and
26666 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26668 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26669 (test_event), (timediff), (gstevents_suite):
26670 Provide more error margin in clock measurements to allow for
26671 g_get_current_time inaccuracies.
26673 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26675 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26676 (test_event), (timediff), (gstevents_suite):
26677 Fix error message output so I might be able to tell why the
26678 test works here but fails on the build farm.
26680 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26682 * check/Makefile.am:
26683 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26684 (test_event), (timediff), (gstevents_suite), (main):
26687 * docs/design/part-seeking.txt:
26688 Spelling correction
26690 * docs/gst/tmpl/gstevent.sgml:
26691 * docs/gst/tmpl/gstfakesrc.sgml:
26694 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26695 Treat a buffer-without-newsegment the same as a receiving
26696 a newsegment not in time format, and disable syncing to the clock
26699 * gst/gstbus.c: (gst_bus_set_sync_handler):
26700 Assert if anyone tries to replace the existing sync_handler for bus,
26701 as only the owner should be setting it.
26704 Have a fixed set of custom event enums with events identified by
26705 their structure name (as in 0.8), rather than a free-for-all
26706 allowing collisions between enum values from different plugins.
26708 * gst/gstpad.c: (gst_pad_class_init):
26711 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26712 Handle out-of-band downstream events from the sending thread.
26714 2005-08-17 Andy Wingo <wingo@pobox.com>
26716 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26717 play-timeout==0 to mean no timeout at all. In that case, don't
26718 bother with a get_state or a warning, just return directly, even
26721 * gst/base/gstbasetransform.c: Debug changes.
26724 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26725 ensure bins post state change messages. A bit of a hack but I can't
26726 think of a way to avoid it.
26728 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26730 2005-08-16 Andy Wingo <wingo@pobox.com>
26732 * gst/base/gstadapter.h:
26733 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26734 peek() but you own the data. Not terribly efficient atm.
26736 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26738 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26739 (gst_element_found_tags):
26741 Add two utility functions for tag handling.
26743 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26745 * docs/manual/advanced-dataaccess.xml:
26746 * docs/manual/basics-helloworld.xml:
26747 Fix docs to use _bin_add() before _link(), which fixes the examples
26748 with recent core versions (reported by Madhan Raj M
26749 <raj_madan@rediffmail.com>, #313199).
26751 2005-08-16 Wim Taymans <wim@fluendo.com>
26753 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26754 Added subtract checks.
26756 * docs/design/part-events.txt:
26757 Some more docs about newsegment
26759 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26762 * gst/gstcaps.c: (gst_caps_to_string):
26763 Add comments, cleanups.
26765 * gst/gstelement.c: (gst_element_save_thyself):
26768 * gst/gstvalue.c: (gst_value_collect_int_range),
26769 (gst_string_unwrap), (gst_value_union_int_int_range),
26770 (gst_value_union_int_range_int_range),
26771 (gst_value_intersect_int_int_range),
26772 (gst_value_intersect_int_range_int_range),
26773 (gst_value_intersect_double_double_range),
26774 (gst_value_intersect_double_range_double_range),
26775 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26776 (gst_value_subtract_int_range_int),
26777 (gst_value_subtract_double_range_double),
26778 (gst_value_subtract_double_range_double_range),
26779 (gst_value_subtract_from_list), (gst_value_subtract_list),
26780 (gst_value_can_compare), (gst_value_compare_fraction):
26781 Cleanups, add comments, remove unneeded asserts.
26783 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26785 * tools/gst-launch.c: (event_loop):
26786 don't convert NULL structures to strings
26788 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26790 * docs/gst/gstreamer-sections.txt:
26791 made some defines private
26792 * docs/gst/tmpl/gstconfig.sgml:
26793 * docs/gst/tmpl/gstqueue.sgml:
26794 * docs/gst/tmpl/gsttaglist.sgml:
26795 * docs/gst/tmpl/gsttypes.sgml:
26796 * docs/gst/tmpl/gstutils.sgml:
26797 * docs/pwg/appendix-porting.xml:
26798 * gst/base/gstbasesink.h:
26799 * gst/base/gstbasesrc.c:
26800 * gst/base/gstbasesrc.h:
26801 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26802 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26803 * gst/gstelement.c: (gst_element_class_init):
26804 * gst/gstpad.c: (gst_pad_class_init):
26805 * gst/gstqueue.c: (gst_queue_class_init):
26806 * gst/gstxml.c: (gst_xml_class_init):
26807 documented all undocumented signal inline
26808 * libs/gst/controller/gst-controller.h:
26811 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26813 * docs/pwg/appendix-porting.xml:
26814 Document _set_link_function -> _set_setcaps_function.
26816 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26818 * check/Makefile.am:
26819 add a .check target for running the check
26820 * check/gst-libs/controller.c: (GST_START_TEST):
26822 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26823 complete checks for gstbuffer; would be nice if I could get the
26824 gcov stuff to work so I can see if I actually completed gstbuffer.c
26825 * check/gstcheck.h:
26826 add ASSERT_BUFFER_REFCOUNT
26828 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26830 * docs/gst/gstreamer-sections.txt:
26831 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26833 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26834 spew out a warning if a tag that is already registered
26835 is re-registered, unless it is re-registered with a
26836 different type (#308438).
26838 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26840 * docs/pwg/appendix-porting.xml:
26841 * docs/pwg/building-state.xml:
26842 Add some paragraphs about state changes in 0.9 to the PWG
26843 and the porting guide, in particular about the new meaning
26844 of GST_STATE_PAUSED and how to write state change functions
26845 with concurrent access by multiple threads in mind.
26847 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26849 * docs/gst/gstreamer-docs.sgml:
26850 * docs/libs/gstreamer-libs-docs.sgml:
26851 added deprecation and since indexes
26852 * libs/gst/controller/gst-controller.c:
26853 * libs/gst/controller/gst-helper.c:
26857 2005-08-11 Wim Taymans <wim@fluendo.com>
26859 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26860 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26861 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26862 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26863 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26864 (gst_ghost_pad_set_target):
26865 Actually implement (re)setting the target on a ghostpad
26866 as described in the docs.
26868 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26870 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26871 Check whether GST_DEBUG_NO_COLOR environment variable is
26872 set and disable coloured debug output if that is the case.
26874 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26876 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26877 (gst_type_find_helper):
26878 The memory returned by gst_type_find_peek() needs to
26879 stay valid until the end of a typefind function, and
26880 typefind functions may keep results from different
26881 offsets around, so we can't just unref the buffer from
26882 the previous _peek(), but have to save all buffers
26883 returned by _peek() until typefinding is done and only
26886 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26888 * docs/gst/gstreamer-sections.txt:
26890 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26892 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26894 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26895 Fix a pretty good memleak.
26897 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26899 * gst/gstiterator.h:
26900 Fix wrong include and 'make distcheck'.
26902 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26904 * gst/gstbin.c: (bin_bus_handler):
26905 Use gst_element_post_message() instead.
26907 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26909 * gst/base/gstadapter.h:
26910 * gst/base/gstbasesink.h:
26911 * gst/base/gstbasesrc.h:
26912 * gst/base/gstbasetransform.h:
26913 * gst/base/gstcollectpads.h:
26914 * gst/base/gstpushsrc.h:
26915 * gst/gstiterator.h:
26916 Add padding to our base elements' class and instance structs and
26917 to GstIterator (you will need to rebuild all plugins and apps!)
26919 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26921 * gst/gstbin.c: (bin_bus_handler):
26922 Make default message forwarding from child->bus to bin->bus
26923 threadsafe and make it not emit warnings if the parent has no bus.
26925 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26927 * gst/gstelement.c: (activate_pads):
26928 On paused->ready, set pad->caps to NULL, as is the documented
26929 behaviour in this state change. Fixes playback of series of
26930 media files when visualization is enabled in Totem.
26932 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26934 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26935 Allow NULL as filter-caps (which means "any").
26937 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26939 * docs/libs/gstreamer-libs-sections.txt:
26940 * libs/gst/controller/gst-controller.c:
26941 * libs/gst/controller/gst-controller.h:
26942 * libs/gst/controller/gst-helper.c:
26943 adding more entries to the docs and fix small doc-bugs
26945 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26947 * docs/gst/gstreamer-docs.sgml:
26948 * docs/gst/gstreamer-sections.txt:
26949 * docs/gst/gstreamer.types:
26950 * docs/gst/tmpl/gstbasesink.sgml:
26951 * docs/gst/tmpl/gstbasesrc.sgml:
26952 * docs/gst/tmpl/gstbasetransform.sgml:
26953 * docs/gst/tmpl/gstfakesrc.sgml:
26954 * gst/base/gstcollectpads.c:
26955 * gst/base/gstcollectpads.h:
26956 * libs/gst/controller/gst-controller.c:
26957 * libs/gst/controller/gst-controller.h:
26958 * libs/gst/controller/gst-helper.c:
26959 * libs/gst/controller/gst-interpolation.c:
26960 * libs/gst/controller/lib.c:
26961 added long/short desc for controller docs
26962 added collectpads base class docs
26963 added correct includes to base-class docs
26965 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26967 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26968 (gst_test_mono_source_set_property),
26969 (gst_test_mono_source_class_init), (GST_START_TEST),
26970 (gst_controller_suite):
26971 * docs/gst/gstreamer-docs.sgml:
26972 * docs/gst/gstreamer-sections.txt:
26973 * docs/gst/gstreamer.types:
26974 * docs/libs/gstreamer-libs-docs.sgml:
26975 * docs/libs/gstreamer-libs-sections.txt:
26976 * gst/base/gstadapter.c:
26977 * libs/gst/controller/gst-controller.c:
26978 (gst_controlled_property_new), (gst_controlled_property_free),
26979 (gst_controller_new_valist),
26980 (gst_controller_remove_properties_valist),
26981 (gst_controller_sink_values), (_gst_controller_finalize):
26982 * libs/gst/controller/gst-controller.h:
26983 * libs/gst/controller/gst-helper.c:
26984 (gst_object_control_properties), (gst_object_uncontrol_properties),
26985 (gst_object_get_controller), (gst_object_set_controller),
26986 (gst_object_sink_values), (gst_object_get_value_arrays),
26987 (gst_object_get_value_array):
26988 more tests (and fixes) for the controller
26989 more docs for the controller
26990 integrated companies docs for the adapter
26992 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
26994 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26995 (GST_START_TEST), (fakesrc_suite):
26996 add tests for sizetype
26998 2005-08-04 Andy Wingo <wingo@pobox.com>
27000 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27001 fixes buffer_alloc proxying among other things.
27003 * gst/base/gstbasetransform.c:
27004 * gst/base/gstbasetransform.h:
27005 Revert patch to gstbasetransform from 7-28 removing
27008 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27009 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27010 Semantics changed, should return not the size of the output buffer
27011 but the byte size of a buffer with a given caps.
27013 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27015 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27016 out) are not the pad caps until setcaps finishes.
27017 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27018 not-in-place case as well. Deal with changing from in-place to
27019 not-in-place within calling pad_alloc_buffer. Still a bit
27020 concerned about the overhead here...
27022 2005-08-03 Andy Wingo <wingo@pobox.com>
27024 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27025 fixating is an error.
27027 2005-08-04 Edward Hervey <edward@fluendo.com>
27029 * gst/base/gstadapter.h:
27030 Added gst_adapter_get_type() to the header
27032 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27034 * check/Makefile.am:
27035 * check/gst-libs/controller.c:
27036 * libs/gst/controller/gst-controller.c:
27037 (gst_controller_new_valist):
27038 added check test suite for the controller
27039 * gst/base/gstpushsrc.c:
27042 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27044 * docs/gst/Makefile.am:
27045 * docs/gst/gstreamer-docs.sgml:
27046 * docs/gst/gstreamer-sections.txt:
27047 * docs/gst/gstreamer.types:
27048 * docs/gst/tmpl/gstfakesrc.sgml:
27050 * gst/base/gstbasesink.c:
27051 * gst/base/gstbasesink.h:
27052 * gst/base/gstbasesrc.c:
27053 * gst/base/gstbasesrc.h:
27054 * gst/base/gstbasetransform.c:
27055 * gst/base/gstpushsrc.c:
27056 * gst/base/gstpushsrc.h:
27057 add short/long description docs to base classes
27058 add pushsrc to the docs
27059 remove consolidated doc fragments
27061 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27064 * docs/libs/Makefile.am:
27065 * docs/libs/gstreamer-libs-docs.sgml:
27066 * docs/libs/gstreamer-libs-sections.txt:
27067 * docs/libs/gstreamer-libs.types:
27068 * examples/Makefile.am:
27069 * examples/controller/.cvsignore:
27070 * examples/controller/Makefile.am:
27071 * examples/controller/audio-example.c: (main):
27072 * libs/gst/Makefile.am:
27073 * libs/gst/controller/.cvsignore:
27074 * libs/gst/controller/Makefile.am:
27075 * libs/gst/controller/gst-controller.c:
27076 (on_object_controlled_property_changed), (gst_timed_value_compare),
27077 (gst_timed_value_find),
27078 (gst_controlled_property_set_interpolation_mode),
27079 (gst_controlled_property_new), (gst_controlled_property_free),
27080 (gst_controller_find_controlled_property),
27081 (gst_controller_new_valist), (gst_controller_new),
27082 (gst_controller_remove_properties_valist),
27083 (gst_controller_remove_properties), (gst_controller_set),
27084 (gst_controller_set_from_list), (gst_controller_unset),
27085 (gst_controller_get), (gst_controller_get_all),
27086 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27087 (gst_controller_get_value_array),
27088 (gst_controller_set_interpolation_mode),
27089 (_gst_controller_finalize), (_gst_controller_init),
27090 (_gst_controller_class_init), (gst_controller_get_type):
27091 * libs/gst/controller/gst-controller.h:
27092 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27093 (g_object_uncontrol_properties), (g_object_get_controller),
27094 (g_object_set_controller), (g_object_sink_values),
27095 (g_object_get_value_arrays), (g_object_get_value_array):
27096 * libs/gst/controller/gst-interpolation.c:
27097 (gst_controlled_property_find_timed_value_node),
27098 (interpolate_none_get), (interpolate_trigger_get),
27099 (interpolate_trigger_get_value_array):
27100 * libs/gst/controller/lib.c: (gst_controller_init):
27101 * pkgconfig/Makefile.am:
27102 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27103 * pkgconfig/gstreamer-control.pc.in:
27104 * testsuite/Makefile.am:
27105 * testsuite/controller/.cvsignore:
27106 * testsuite/controller/Makefile.am:
27107 * testsuite/controller/interpolator.c: (main):
27108 added controller code
27109 removed dparam pc files
27111 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27112 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27113 (gst_collectpads_stop):
27114 Broadcast the condition when shutting down, to make sure we wake all
27115 threads up. Shut down pads on finalize, for safety.
27117 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27118 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27119 (gst_base_transform_handle_buffer),
27120 (gst_base_transform_change_state):
27121 Handle PAUSED->READY->PAUSED transition after negotiation
27123 * gst/gstmessage.c: (gst_message_init):
27124 Extra piece of debug for new messages.
27126 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27129 * docs/gst/tmpl/gstbasesrc.sgml:
27130 * docs/gst/tmpl/gstelement.sgml:
27131 * docs/gst/tmpl/gstevent.sgml:
27132 * docs/gst/tmpl/gstfakesrc.sgml:
27133 * docs/gst/tmpl/gstformat.sgml:
27134 * docs/gst/tmpl/gstghostpad.sgml:
27135 * docs/gst/tmpl/gstpad.sgml:
27136 * docs/gst/tmpl/gstquery.sgml:
27137 * docs/gst/tmpl/gststructure.sgml:
27138 * docs/gst/tmpl/gsttaglist.sgml:
27139 * docs/gst/tmpl/gstvalue.sgml:
27140 * docs/libs/gstreamer-libs-docs.sgml:
27141 * docs/libs/gstreamer-libs-sections.txt:
27142 * docs/libs/gstreamer-libs.types:
27143 * libs/gst/Makefile.am:
27144 * libs/gst/control/.cvsignore:
27145 * libs/gst/control/Makefile.am:
27146 * libs/gst/control/control.c:
27147 * libs/gst/control/control.h:
27148 * libs/gst/control/dparam.c:
27149 * libs/gst/control/dparam.h:
27150 * libs/gst/control/dparam_smooth.c:
27151 * libs/gst/control/dparam_smooth.h:
27152 * libs/gst/control/dparamcommon.h:
27153 * libs/gst/control/dparammanager.c:
27154 * libs/gst/control/dparammanager.h:
27155 * libs/gst/control/dplinearinterp.c:
27156 * libs/gst/control/dplinearinterp.h:
27157 * libs/gst/control/unitconvert.c:
27158 * libs/gst/control/unitconvert.h:
27159 * testsuite/Makefile.am:
27160 * testsuite/dynparams/.cvsignore:
27161 * testsuite/dynparams/Makefile.am:
27162 * testsuite/dynparams/dparamstest.c:
27163 * tools/Makefile.am:
27164 * tools/gst-inspect.c: (print_element_info), (main):
27165 * tools/gst-xmlinspect.c: (print_element_info), (main):
27166 deactivate and remove dparams (libgstcontrol)
27168 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27170 * gst/elements/gsttypefindelement.c:
27171 (gst_type_find_element_have_type), (gst_type_find_element_init),
27172 (stop_typefinding), (gst_type_find_element_handle_event),
27173 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27174 * gst/elements/gsttypefindelement.h:
27175 Set caps on all outgoing buffers, not just the first one.
27177 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27179 * gst/elements/gsttypefindelement.c:
27180 (gst_type_find_element_have_type),
27181 (gst_type_find_element_check_set_buffer_caps),
27182 (gst_type_find_element_init), (stop_typefinding),
27183 (gst_type_find_element_handle_event),
27184 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27185 * gst/elements/gsttypefindelement.h:
27186 Set caps on first outgoing buffer when we've found the type.
27188 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27190 * docs/gst/gstreamer-docs.sgml:
27191 * docs/gst/gstreamer-sections.txt:
27192 * docs/gst/tmpl/gstscheduler.sgml:
27193 * docs/gst/tmpl/gstschedulerfactory.sgml:
27194 Remove some old cruft from docs.
27196 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27199 Fix inline docs for GstPadLinkReturn.
27201 * gst/gststructure.c: (gst_structure_has_name):
27202 * gst/gststructure.h:
27203 * docs/gst/gstreamer-sections.txt:
27204 New API: gst_structure_has_name().
27206 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27209 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27210 and _LARGEFILE_SOURCE in config.h as required. Do not
27211 export those flags in our .pc files any longer (#142209).
27213 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27215 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27216 (gst_file_sink_do_seek), (gst_file_sink_event),
27217 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27218 Redo seek/tell calls with large file support in mind; add some
27219 debugging messages; add log message that tells us when large
27220 file support is unavailable or not enabled for some reason.
27222 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27223 Add log message that tells us when large file support
27224 is unavailable or not enabled for some reason.
27226 2005-07-29 Wim Taymans <wim@fluendo.com>
27228 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27229 Added test for removing an element with ghostpad from a bin.
27230 Fixed test as current implementation does the right thing.
27232 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27233 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27234 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27235 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27236 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27237 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27238 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27239 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27240 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27241 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27242 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27243 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27244 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27245 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27246 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27247 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27248 * gst/gstghostpad.h:
27249 Clean up ghostpads, remove properties for internal stuff.
27252 Prepare for switching targets, not all use cases work yet.
27254 2005-07-29 Wim Taymans <wim@fluendo.com>
27256 * docs/design/part-gstghostpad.txt:
27259 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27260 (gst_bin_remove_func):
27261 Unlinking pads while holding the bin LOCK is not a good
27264 * gst/gstpad.c: (gst_pad_class_init),
27265 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27266 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27267 No prob setting template after creating the pad.
27269 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27271 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27272 (gst_bus_peek), (gst_bus_source_dispatch),
27273 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27274 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27275 gst_bus_poll may be called from other threads. Handle
27276 this nicely by not making poll_data disappear off the
27277 stack once gst_bus_poll returns.
27278 gst_bus_peek now increments the refcount on the returned
27281 2005-07-29 Wim Taymans <wim@fluendo.com>
27283 * docs/design/part-gstghostpad.txt:
27284 Overview of current GhostPad datastructures and use
27285 cases for changing the target.
27287 2005-07-28 Wim Taymans <wim@fluendo.com>
27289 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27290 Added checks for hierarchy consistency whan adding linked
27293 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27294 Added check to test element scheduling without bin/pipeline.
27296 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27297 First add elements to bin, then link.
27299 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27300 (gst_bin_remove_func):
27301 Unlink pads from elements added/removed from bin to maintain
27302 hierarchy consistency.
27304 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27306 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27307 (gst_base_transform_handle_buffer):
27308 * gst/base/gstbasetransform.h:
27309 Remove broken delay_configure (fixes renegotiation of software
27310 scaling pipelines); remove some leftover printf()s.
27312 2005-07-28 Wim Taymans <wim@fluendo.com>
27314 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27315 Added some more tests for wrong hierarchy
27317 * docs/design/part-overview.txt:
27320 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27323 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27324 (gst_element_dispose):
27325 Some more cleanups.
27327 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27328 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27329 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27330 (gst_pad_set_caps), (gst_pad_send_event):
27331 Check for correct hierarchy when linking pads. Moving to
27332 strict requirement for ghostpads when linking elements in
27336 Clean ups. Added WRONG_HIERARCHY return value.
27338 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27340 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27341 Better debug if no transform is possible.
27343 2005-07-27 Wim Taymans <wim@fluendo.com>
27345 * docs/random/wtay/network-transp:
27346 Some old doc I had.
27348 2005-07-27 Wim Taymans <wim@fluendo.com>
27350 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27351 (gst_dp_event_from_packet):
27352 Fix serialization of seek events.
27354 2005-07-27 Wim Taymans <wim@fluendo.com>
27356 * check/gst-libs/gdp.c: (GST_START_TEST):
27357 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27358 Fix compilation and fix event serialization.
27360 2005-07-27 Wim Taymans <wim@fluendo.com>
27363 * docs/design/part-TODO.txt:
27364 * docs/design/part-events.txt:
27367 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27368 (gst_base_sink_event), (gst_base_sink_do_sync),
27369 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27370 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27371 (gst_base_src_do_seek), (gst_base_src_event_handler),
27372 (gst_base_src_loop):
27373 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27374 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27375 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27376 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27377 (gst_base_transform_set_passthrough),
27378 (gst_base_transform_is_passthrough):
27379 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27380 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27386 * gst/gstelement.c: (gst_element_seek):
27387 * gst/gstelement.h:
27388 Update gst_element_seek.
27390 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27391 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27392 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27393 (gst_event_new_eos), (gst_event_new_newsegment),
27394 (gst_event_parse_newsegment), (gst_event_new_tag),
27395 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27396 (gst_event_parse_qos), (gst_event_new_seek),
27397 (gst_event_parse_seek), (gst_event_new_navigation):
27399 Make GstEvent use GstStructure. Add parsing code, make sure the
27400 API is sufficiently generic.
27401 Mark possible directions of events and serialization.
27403 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27404 (_gst_message_copy), (gst_message_new_segment_start),
27405 (gst_message_new_segment_done), (gst_message_new_custom),
27406 (gst_message_parse_segment_start),
27407 (gst_message_parse_segment_done):
27410 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27411 (gst_pad_set_caps), (gst_pad_send_event):
27412 Update for new events.
27413 Catch events sent in wrong directions.
27415 * gst/gstqueue.c: (gst_queue_link_src),
27416 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27417 (gst_queue_handle_src_query):
27422 Remove event code from this file.
27424 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27425 (gst_dp_event_from_packet):
27428 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27430 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27431 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27432 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27433 Make debugging actually useful.
27435 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27437 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27438 (gst_pad_fixate_caps):
27439 Implement default fixation once again, so that gst_pad_fixate()
27440 actually does anything at all. This probably needs to be some
27441 sort of a last resort, and use profile-based fixation first, but
27442 since that doesn't exist yet, this is the best we have. Fixes
27443 visualization in Totem.
27445 2005-07-22 Wim Taymans <wim@fluendo.com>
27447 * docs/design/part-events.txt:
27450 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27451 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27452 (gst_base_sink_activate_pull):
27453 Some more comments.
27455 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27456 (gst_fake_src_create):
27457 Fix handoff marshall.
27459 * gst/elements/gstidentity.c: (gst_identity_class_init),
27460 (gst_identity_transform_ip):
27461 We're a real inplace element.
27463 * gst/gstbus.c: (gst_bus_post):
27464 Added some comments.
27466 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27467 * tests/muxing/case1.c: (main):
27468 * tests/sched/dynamic-pipeline.c: (main):
27469 * tests/sched/interrupt1.c: (main):
27470 * tests/sched/interrupt2.c: (main):
27471 * tests/sched/interrupt3.c: (main):
27472 * tests/sched/runxml.c: (main):
27473 * tests/sched/sched-stress.c: (main):
27474 * tests/seeking/seeking1.c: (event_received), (main):
27475 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27477 * tests/threadstate/threadstate3.c: (main):
27478 * tests/threadstate/threadstate4.c: (main):
27479 * tests/threadstate/threadstate5.c: (main):
27482 2005-07-21 Wim Taymans <wim@fluendo.com>
27484 * docs/design/part-seeking.txt:
27485 Some small additions.
27487 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27488 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27489 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27490 * gst/base/gstbasesink.h:
27491 discont values are gint64, handle the math correctly.
27493 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27494 Make the basesrc report error if the source pad is not linked.
27496 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27497 (gst_queue_loop), (gst_queue_handle_src_query),
27498 (gst_queue_src_activate_push):
27499 Make queue collect data even if the srcpad is not linked.
27500 Start pushing out data as soon as it is linked.
27502 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27504 Added gst_flow_get_name() to ease error reporting.
27506 2005-07-20 Wim Taymans <wim@fluendo.com>
27508 * gst/gstmessage.c: (gst_message_new_segment_start),
27509 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27510 (gst_message_parse_segment_done):
27511 * gst/gstmessage.h:
27512 Added a bunch of messages for advanced seeking.
27514 * gst/parse/grammar.y:
27515 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27516 (gst_dpman_state_changed):
27517 Fix some new-pad -> pad-added signals
27519 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27521 * docs/manual/appendix-porting.xml:
27522 * docs/pwg/appendix-porting.xml:
27523 Document new-pad/state-change signal renames and the FixedList
27526 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27528 * docs/manual/advanced-autoplugging.xml:
27529 * docs/manual/basics-helloworld.xml:
27530 * docs/manual/basics-pads.xml:
27531 * docs/random/ds/0.9-suggested-changes:
27532 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27533 * gst/gstelement.h:
27537 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27538 (gst_structure_parse_array), (gst_structure_parse_value):
27539 * gst/gstvalue.c: (gst_type_is_fixed),
27540 (gst_value_list_prepend_value), (gst_value_list_append_value),
27541 (gst_value_list_get_size), (gst_value_list_get_value),
27542 (gst_value_transform_array_string), (gst_value_serialize_array),
27543 (gst_value_deserialize_array), (gst_value_intersect_array),
27544 (gst_value_is_fixed), (_gst_value_initialize):
27546 GstElement::new-pad -> pad-added, GstElement::state-change ->
27547 state-changed, GstValueFixedList -> GstValueArray, add format and
27548 flags as their own arguments in gst_element_seek() (should improve
27549 "bindeability"), remove function generators since they don't work
27550 under a whole bunch of compilers (they were deprecated already
27553 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27555 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27556 (_gst_debug_register_funcptr):
27558 Fix illegal cast on some platforms (#309253).
27560 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27562 * gst/gstmessage.c: (gst_message_new_custom):
27563 * gst/gstmessage.h:
27564 Add _new_custom, make _new_application a macro to _new_custom.
27566 2005-07-20 Wim Taymans <wim@fluendo.com>
27568 * gst/base/gstbasesrc.c: (gst_base_src_init),
27569 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27570 * gst/base/gstbasesrc.h:
27571 Add a gboolean to decide when to push out a discont.
27573 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27574 (gst_queue_loop), (gst_queue_handle_src_query),
27575 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27576 (gst_queue_set_property), (gst_queue_get_property):
27579 * tests/threadstate/threadstate1.c: (main):
27580 Make a thread test compile and run... very silly..
27583 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27585 * docs/manual/appendix-porting.xml:
27586 Mention removal of libgstgconf-0.9.la and existence of gconf
27589 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27591 * docs/pwg/advanced-clock.xml:
27592 * docs/pwg/appendix-porting.xml:
27593 * docs/pwg/intro-preface.xml:
27594 * docs/pwg/other-base.xml:
27595 * docs/pwg/other-manager.xml:
27596 * docs/pwg/other-nton.xml:
27597 * docs/pwg/other-ntoone.xml:
27598 * docs/pwg/other-oneton.xml:
27599 * docs/pwg/pwg.xml:
27600 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27601 demuxer), remove n-to-n (was never written), fix some code examples
27602 and links and update the porting section to include all this.
27604 2005-07-19 Wim Taymans <wim@fluendo.com>
27606 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27607 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27608 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27609 (gst_queue_src_activate_push), (gst_queue_change_state),
27610 (gst_queue_get_property):
27612 Propagate GstFlowReturn more intelligently upstream and output
27613 an ERROR/EOS when streaming stopped due to fatal error.
27615 2005-07-19 Wim Taymans <wim@fluendo.com>
27617 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27618 Don't block forever for the state change to complete, the
27619 pipeline already did with a sensible timeout.
27621 2005-07-19 Wim Taymans <wim@fluendo.com>
27623 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27624 Make sure we never call the create function is we
27627 2005-07-19 Andy Wingo <wingo@pobox.com>
27629 * gst/parse/parse.l: Attempt to solve bug #172815.
27631 2005-07-19 Wim Taymans <wim@fluendo.com>
27633 * docs/design/part-clocks.txt:
27634 * docs/design/part-events.txt:
27635 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27636 Small docs updates.
27637 Only update the seeking values when we are not
27640 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27642 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27643 Oops, ignore the result of gst_pad_push_event here.
27645 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27647 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27648 (gst_base_src_activate_push):
27649 Send discont event from the loop function, as pads
27650 aren't activated yet in the activate_push handler.
27652 * gst/gstbin.c: (bin_bus_handler):
27653 Don't leak element name.
27655 2005-07-18 Andy Wingo <wingo@pobox.com>
27657 * configure.ac: Use AS_LIBTOOL_TAGS.
27659 2005-07-18 Wim Taymans <wim@fluendo.com>
27661 * docs/gst/gstreamer.types:
27662 Remove deleted types.
27664 2005-07-18 Wim Taymans <wim@fluendo.com>
27666 * check/elements/gstfakesrc.c: (GST_START_TEST):
27669 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27670 (init_popt_callback):
27672 * gst/gst_private.h:
27673 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27674 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27677 * gst/gstconfig.h.in:
27678 * gst/gstelement.c: (gst_element_class_init),
27679 (gst_element_set_base_time), (gst_element_get_base_time),
27680 (iterator_fold_with_resync), (gst_element_change_state),
27681 (gst_element_dispose), (gst_element_get_bus):
27682 * gst/gstelement.h:
27683 * gst/gstelementfactory.h:
27684 * gst/gsterror.c: (_gst_core_errors_init):
27687 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27689 * gst/gstinfo.c: (_gst_debug_init):
27690 * gst/gstmessage.c: (_gst_message_copy):
27691 * gst/gstmessage.h:
27692 * gst/gstminiobject.h:
27695 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27696 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27699 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27700 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27701 (gst_pipeline_get_last_stream_time):
27702 * gst/gstpipeline.h:
27703 * gst/gstpluginfeature.h:
27705 * gst/gstscheduler.c:
27706 * gst/gstscheduler.h:
27707 * gst/gststructure.h:
27708 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27709 (gst_task_finalize), (gst_task_func), (gst_task_create),
27710 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27711 (gst_task_stop), (gst_task_pause):
27713 * gst/gsttypefind.h:
27715 * gst/registries/gstlibxmlregistry.c: (load_feature),
27716 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27717 * gst/registries/gstxmlregistry.c:
27718 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27719 * gst/schedulers/threadscheduler.c:
27720 * libs/gst/control/dparammanager.h:
27721 * tools/gst-inspect.c: (print_element_list),
27722 (print_plugin_features), (print_element_features):
27723 * tools/gst-xmlinspect.c: (print_element_list),
27724 (print_plugin_info), (main):
27725 Removed plugable schedulers.
27726 Removed Scheduler/Manager from elements.
27727 Removed gsttypes.h, rearranged includes.
27728 Removed dependency pad<->element, element<>pipeline, and
27729 various others, fix includes.
27730 implement gst_pad_get_parent() with gst_object_get_parent()
27731 Make GstTask sefcontained.
27732 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27734 Fix endless loop in iterator_fold_with_resync.
27737 2005-07-18 Wim Taymans <wim@fluendo.com>
27743 2005-07-18 Wim Taymans <wim@fluendo.com>
27746 No more cothreads.h
27748 2005-07-18 Wim Taymans <wim@fluendo.com>
27752 Let's remove these.
27754 2005-07-18 Wim Taymans <wim@fluendo.com>
27756 * docs/design/part-dynamic.txt:
27757 * docs/design/part-events.txt:
27758 * docs/design/part-seeking.txt:
27759 Some more docs in the works.
27761 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27762 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27763 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27764 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27765 (gst_base_transform_handle_buffer),
27766 (gst_base_transform_sink_activate_push),
27767 (gst_base_transform_src_activate_pull),
27768 (gst_base_transform_set_passthrough),
27769 (gst_base_transform_is_passthrough):
27772 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27775 * gst/gstevent.c: (gst_event_finalize):
27778 * gst/gstutils.c: (gst_element_unlink),
27779 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27780 (gst_pad_proxy_setcaps):
27782 Add _get_parent_element() to get a pads parent as an element.
27784 2005-07-18 Wim Taymans <wim@fluendo.com>
27786 * check/gst/gstbin.c: (GST_START_TEST):
27789 2005-07-18 Wim Taymans <wim@fluendo.com>
27791 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27792 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27793 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27794 (gst_base_sink_event), (gst_base_sink_do_sync),
27795 (gst_base_sink_chain), (gst_base_sink_loop),
27796 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27797 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27799 Fix logic for returning ASYNC when not prerolled.
27801 2005-07-18 Wim Taymans <wim@fluendo.com>
27803 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27804 Fix nasty refcount bug.
27806 2005-07-16 Philippe Khalaf <burger@speedy.org>
27808 * gst/elements/gstfdsrc.c:
27809 * gst/elements/gstfdsrc.h:
27810 * gst/elements/gstelements.c:
27811 * gst/elements/Makefile.am:
27812 Ported fdsrc to 0.9.
27814 2005-07-16 Wim Taymans <wim@fluendo.com>
27816 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27817 (gst_base_sink_do_sync):
27820 2005-07-16 Wim Taymans <wim@fluendo.com>
27822 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27823 (gst_base_sink_event), (gst_base_sink_get_times),
27824 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27825 * gst/base/gstbasesink.h:
27826 Store and use discont values when syncing buffers as described
27829 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27830 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27831 (gst_base_src_activate_push):
27832 Push discont event when starting.
27834 * gst/elements/gstidentity.c: (gst_identity_transform):
27837 * gst/gstbin.c: (gst_bin_change_state):
27838 Small cleanups in base_time distribution.
27840 * gst/gstelement.c: (gst_element_set_base_time),
27841 (gst_element_get_base_time), (gst_element_change_state):
27842 * gst/gstelement.h:
27843 Added methods for the base_time of the element.
27846 * gst/gstpipeline.c: (gst_pipeline_send_event),
27847 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27848 (gst_pipeline_get_last_stream_time):
27849 * gst/gstpipeline.h:
27851 Handle seeking as described in design doc, remove stream_time
27853 Cleanups clock and stream_time selection code. Added accessors
27854 for the stream_time.
27857 2005-07-16 Andy Wingo <wingo@pobox.com>
27859 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27862 2005-07-16 Wim Taymans <wim@fluendo.com>
27864 * check/gst/gstbin.c: (GST_START_TEST):
27865 Make elements silent as the deep_notify refs the
27866 parent, which might make the test fail.
27868 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27869 Don't hold the lock for too long.
27871 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27873 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27874 Don't unref the caps we passed to gst_caps_make_writable() after
27875 passing them. gst_caps_make_writable() will do that for us.
27877 2005-07-15 Andy Wingo <wingo@pobox.com>
27879 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27882 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27883 own marshalling function for the handoff signal. Properly type the
27884 buffer as a buffer. Fixes some warnings. Should do a more general
27886 (gst_identity_class_init): Plug into the right marshaller.
27888 2005-07-15 Wim Taymans <wim@fluendo.com>
27890 * docs/design/part-TODO.txt:
27891 * docs/design/part-clocks.txt:
27892 * docs/design/part-element-sink.txt:
27893 * docs/design/part-events.txt:
27894 * docs/design/part-gstpipeline.txt:
27895 Updated docs, mostly DISCONT related.
27897 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27899 * docs/pwg/building-pads.xml:
27900 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27902 2005-07-15 Andy Wingo <wingo@pobox.com>
27904 * tools/gst-typefind.c: Update, add copyright block.
27906 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27907 Normalize and truncate caps before fixation.
27910 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27911 discards all but the first structure from its argument.
27913 2005-07-15 Wim Taymans <wim@fluendo.com>
27915 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27916 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27917 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27918 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27919 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27920 (gst_base_transform_chain), (gst_base_transform_change_state),
27921 (gst_base_transform_set_passthrough),
27922 (gst_base_transform_is_passthrough):
27923 * gst/base/gstbasetransform.h:
27924 Make passthrough work using the bufferpools.
27925 Changed API a bit, subclasses have to write into a buffer
27926 provided by the base class.
27927 More debug info in nego functions.
27929 * gst/elements/gstidentity.c: (gst_identity_init),
27930 (gst_identity_transform):
27931 Port to new base class.
27933 2005-07-15 Wim Taymans <wim@fluendo.com>
27935 * gst/gstmessage.c: (gst_message_new_state_changed):
27936 * tools/gst-launch.c: (event_loop), (main):
27937 Totally dump messages in -launch with the -m option.
27938 Fix message name for State messages,
27940 2005-07-14 Wim Taymans <wim@fluendo.com>
27942 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27943 Post error messages on errors.
27945 2005-07-14 Wim Taymans <wim@fluendo.com>
27947 * gst/gstcaps.c: (gst_caps_do_simplify):
27951 Define error for stream stopped.
27953 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27954 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27955 Do proper return values.
27957 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27958 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27959 (gst_pad_get_range):
27960 Better return values.
27963 Reorganise return values, add macro to check for fatal errors.
27965 * gst/gstqueue.c: (gst_queue_chain):
27966 Return proper GstFlowReturn values,
27968 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
27970 * docs/gst/gstreamer-sections.txt:
27971 * docs/gst/gstreamer.types:
27972 * docs/gst/tmpl/gst.sgml:
27973 * docs/gst/tmpl/gstbasesink.sgml:
27974 * docs/gst/tmpl/gstbasesrc.sgml:
27975 * docs/gst/tmpl/gstbasetransform.sgml:
27976 * docs/gst/tmpl/gstbin.sgml:
27977 * docs/gst/tmpl/gstbuffer.sgml:
27978 * docs/gst/tmpl/gstcaps.sgml:
27979 * docs/gst/tmpl/gstclock.sgml:
27980 * docs/gst/tmpl/gstcompat.sgml:
27981 * docs/gst/tmpl/gstconfig.sgml:
27982 * docs/gst/tmpl/gstelement.sgml:
27983 * docs/gst/tmpl/gstelementdetails.sgml:
27984 * docs/gst/tmpl/gstelementfactory.sgml:
27985 * docs/gst/tmpl/gstenumtypes.sgml:
27986 * docs/gst/tmpl/gsterror.sgml:
27987 * docs/gst/tmpl/gstevent.sgml:
27988 * docs/gst/tmpl/gstfakesink.sgml:
27989 * docs/gst/tmpl/gstfakesrc.sgml:
27990 * docs/gst/tmpl/gstfilesink.sgml:
27991 * docs/gst/tmpl/gstfilesrc.sgml:
27992 * docs/gst/tmpl/gstfilter.sgml:
27993 * docs/gst/tmpl/gstformat.sgml:
27994 * docs/gst/tmpl/gstghostpad.sgml:
27995 * docs/gst/tmpl/gstimplementsinterface.sgml:
27996 * docs/gst/tmpl/gstindex.sgml:
27997 * docs/gst/tmpl/gstindexfactory.sgml:
27998 * docs/gst/tmpl/gstinfo.sgml:
27999 * docs/gst/tmpl/gstiterator.sgml:
28000 * docs/gst/tmpl/gstmacros.sgml:
28001 * docs/gst/tmpl/gstmemchunk.sgml:
28002 * docs/gst/tmpl/gstminiobject.sgml:
28003 * docs/gst/tmpl/gstobject.sgml:
28004 * docs/gst/tmpl/gstpad.sgml:
28005 * docs/gst/tmpl/gstpadtemplate.sgml:
28006 * docs/gst/tmpl/gstparse.sgml:
28007 * docs/gst/tmpl/gstpipeline.sgml:
28008 * docs/gst/tmpl/gstplugin.sgml:
28009 * docs/gst/tmpl/gstpluginfeature.sgml:
28010 * docs/gst/tmpl/gstquery.sgml:
28011 * docs/gst/tmpl/gstqueue.sgml:
28012 * docs/gst/tmpl/gstregistry.sgml:
28013 * docs/gst/tmpl/gstregistrypool.sgml:
28014 * docs/gst/tmpl/gstscheduler.sgml:
28015 * docs/gst/tmpl/gstschedulerfactory.sgml:
28016 * docs/gst/tmpl/gststructure.sgml:
28017 * docs/gst/tmpl/gstsystemclock.sgml:
28018 * docs/gst/tmpl/gsttaglist.sgml:
28019 * docs/gst/tmpl/gsttagsetter.sgml:
28020 * docs/gst/tmpl/gsttrace.sgml:
28021 * docs/gst/tmpl/gsttrashstack.sgml:
28022 * docs/gst/tmpl/gsttypefind.sgml:
28023 * docs/gst/tmpl/gsttypefindfactory.sgml:
28024 * docs/gst/tmpl/gsttypes.sgml:
28025 * docs/gst/tmpl/gsturihandler.sgml:
28026 * docs/gst/tmpl/gsturitype.sgml:
28027 * docs/gst/tmpl/gstutils.sgml:
28028 * docs/gst/tmpl/gstvalue.sgml:
28029 * docs/gst/tmpl/gstversion.sgml:
28030 * docs/gst/tmpl/gstxml.sgml:
28031 * docs/libs/tmpl/gstcontrol.sgml:
28032 * docs/libs/tmpl/gstdataprotocol.sgml:
28033 * docs/libs/tmpl/gstdparam.sgml:
28034 * docs/libs/tmpl/gstdplinint.sgml:
28035 * docs/libs/tmpl/gstdpman.sgml:
28036 * docs/libs/tmpl/gstdpsmooth.sgml:
28037 * docs/libs/tmpl/gstgetbits.sgml:
28038 * docs/libs/tmpl/gstunitconvert.sgml:
28039 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28040 (gst_push_src_base_init), (gst_push_src_class_init),
28041 (gst_push_src_init), (gst_push_src_create):
28042 * gst/base/gstpushsrc.h:
28043 * gst/elements/gstelements.c:
28044 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28045 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28046 (gst_fake_sink_init), (gst_fake_sink_set_property),
28047 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28048 (gst_fake_sink_event), (gst_fake_sink_preroll),
28049 (gst_fake_sink_render), (gst_fake_sink_change_state):
28050 * gst/elements/gstfakesink.h:
28051 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28052 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28053 (gst_fake_src_base_init), (gst_fake_src_class_init),
28054 (gst_fake_src_init), (gst_fake_src_event_handler),
28055 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28056 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28057 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28058 (gst_fake_src_create_buffer), (gst_fake_src_create),
28059 (gst_fake_src_start), (gst_fake_src_stop):
28060 * gst/elements/gstfakesrc.h:
28061 * gst/elements/gstfilesink.c: (_do_init),
28062 (gst_file_sink_base_init), (gst_file_sink_class_init),
28063 (gst_file_sink_init), (gst_file_sink_dispose),
28064 (gst_file_sink_set_location), (gst_file_sink_set_property),
28065 (gst_file_sink_get_property), (gst_file_sink_open_file),
28066 (gst_file_sink_close_file), (gst_file_sink_query),
28067 (gst_file_sink_event), (gst_file_sink_render),
28068 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28069 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28070 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28071 * gst/elements/gstfilesink.h:
28072 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28073 (gst_file_src_class_init), (gst_file_src_init),
28074 (gst_file_src_finalize), (gst_file_src_set_location),
28075 (gst_file_src_set_property), (gst_file_src_get_property),
28076 (gst_file_src_map_region), (gst_file_src_map_small_region),
28077 (gst_file_src_create_mmap), (gst_file_src_create_read),
28078 (gst_file_src_create), (gst_file_src_is_seekable),
28079 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28080 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28081 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28082 (gst_file_src_uri_handler_init):
28083 * gst/elements/gstfilesrc.h:
28084 more autistic cleanliness in functions/names/defines
28086 2005-07-13 Andy Wingo <wingo@pobox.com>
28088 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28089 source couldn't negotiate.
28091 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28095 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28096 function. I am channeling Hades. Put your boots on suckers!!!
28098 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28100 * testsuite/caps/Makefile.am:
28101 * testsuite/caps/value_compare.c:
28102 * testsuite/caps/value_intersect.c:
28103 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28104 move two testsuite apps over to the check dir
28106 2005-07-12 Wim Taymans <wim@fluendo.com>
28108 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28109 Added more debug info in the negotiate process.
28111 * gst/gstmessage.h:
28112 Prepare for segment playback.
28114 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28120 * tools/gst-launch.c: (main):
28121 NULL pipeline on errors.
28123 2005-07-12 Andy Wingo <wingo@pobox.com>
28125 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28126 not it comes from a malloc region. Make sure our copy gets freed.
28128 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28130 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28131 * check/gst/gstmessage.c: (GST_START_TEST):
28132 * check/gst/gststructure.c: (GST_START_TEST),
28133 (gst_structure_suite), (main):
28135 * gst/gstelement.c: (gst_element_message_full):
28136 clean up GError and debug string now that they get copied
28137 * gst/gstmessage.c: (gst_message_new_error),
28138 (gst_message_new_warning), (gst_message_parse_error),
28139 (gst_message_parse_warning):
28140 use GST_TYPE_G_ERROR for structure_new, and take copies of
28141 arguments, so that we don't mess up refcounting
28143 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28145 * check/Makefile.am:
28146 add per-test valgrind targets
28147 * check/gst-libs/gdp.c: (GST_START_TEST),
28148 (gst_data_protocol_suite), (main):
28151 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28153 * check/Makefile.am:
28154 instate more valgrindable tests
28155 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28156 (GST_START_TEST), (fakesrc_suite):
28157 * check/gst/gstpad.c: (GST_START_TEST):
28158 * check/gst/gststructure.c: (GST_START_TEST):
28160 * docs/gst/tmpl/gstminiobject.sgml:
28161 * gst/gstpad.c: (gst_pad_finalize):
28162 fix the static mutex leak
28164 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28166 * check/Makefile.am:
28167 add two more tests for valgrinding
28168 * check/gst/gstvalue.c: (GST_START_TEST):
28169 test refcount of deserialized buffer, found a leak
28170 * docs/gst/gstreamer-docs.sgml:
28171 * docs/gst/gstreamer-sections.txt:
28172 * docs/gst/gstreamer.types:
28173 * docs/gst/tmpl/gstminiobject.sgml:
28174 add miniobject to docs
28175 * gst/gstminiobject.c:
28177 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28178 (gst_string_unwrap):
28179 fix a hard-to-find invalid write for one of the tests
28180 fix a leak for deserialized buffers
28182 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28184 * docs/pwg/advanced-events.xml:
28185 * docs/pwg/advanced-request.xml:
28186 * docs/pwg/advanced-scheduling.xml:
28187 * docs/pwg/appendix-porting.xml:
28188 * docs/pwg/building-boiler.xml:
28189 * docs/pwg/intro-preface.xml:
28190 * docs/pwg/other-ntoone.xml:
28191 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28192 of example code and explanation for pad activation, loop() and
28193 getrange() functions and a bit more. Remove old comments pointing
28195 * examples/pwg/Makefile.am:
28196 Add loop/getrange examples.
28198 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28201 check for valgrind binary + some fixes
28203 valgrind suppressions for the tests
28204 * check/Makefile.am:
28205 add a valgrind: target that valgrinds the unit tests
28206 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28207 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28208 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28209 * check/gst/gstghostpad.c:
28211 * check/gst/gstdata.c:
28213 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28214 (thread_unref), (gst_mini_object_suite), (main):
28216 * gst/gst.c: (gst_deinit):
28218 add a method to clean up.
28219 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28220 (gst_system_clock_obtain):
28221 allow for disposing the system clock.
28222 * tools/gst-launch.c: (main):
28225 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28227 * docs/gst/tmpl/gstbasesrc.sgml:
28228 * docs/gst/tmpl/gstfakesrc.sgml:
28229 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28230 (gst_base_src_init), (gst_base_src_set_property),
28231 (gst_base_src_get_property), (gst_base_src_get_range),
28232 (gst_base_src_start):
28233 * gst/base/gstbasesrc.h:
28234 add num-buffers property
28235 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28236 (gst_fakesrc_init), (gst_fakesrc_set_property),
28237 (gst_fakesrc_get_property), (gst_fakesrc_create),
28238 (gst_fakesrc_start):
28239 remove num-buffers property
28241 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28243 * docs/gst/gstreamer-sections.txt:
28244 * docs/gst/tmpl/gstbasesink.sgml:
28245 * docs/gst/tmpl/gstbasesrc.sgml:
28246 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28247 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28248 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28249 (gst_base_sink_set_property), (gst_base_sink_get_property),
28250 (gst_base_sink_handle_object), (gst_base_sink_event),
28251 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28252 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28253 (gst_base_sink_loop), (gst_base_sink_deactivate),
28254 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28255 (gst_base_sink_change_state):
28256 * gst/base/gstbasesink.h:
28257 * gst/base/gstbasesrc.h:
28258 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28259 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28260 (gst_filesink_init):
28261 more macro splitting
28263 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28265 * gst/gstelement.c: (gst_element_get_bus):
28267 * tools/gst-launch.c: (check_intr), (event_loop):
28270 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28272 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28275 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28277 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28278 (gst_base_src_finalize):
28279 add finalize method and clean up properly
28280 * gst/gstpipeline.c: (gst_pipeline_dispose):
28283 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28285 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28287 add more things to check
28288 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28289 * gst/gstelement.c:
28292 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28294 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28295 (GST_START_TEST), (fakesrc_suite):
28296 * check/gst-libs/gdp.c: (GST_START_TEST):
28297 * check/gst/gst.c: (GST_START_TEST):
28298 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28299 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28300 * check/gst/gstbus.c: (GST_START_TEST):
28301 * check/gst/gstcaps.c: (GST_START_TEST):
28302 * check/gst/gstdata.c: (GST_START_TEST):
28303 * check/gst/gstelement.c: (GST_START_TEST):
28304 * check/gst/gstghostpad.c: (GST_START_TEST):
28305 * check/gst/gstiterator.c: (GST_START_TEST):
28306 * check/gst/gstmessage.c: (GST_START_TEST):
28307 * check/gst/gstobject.c: (GST_START_TEST):
28308 * check/gst/gstpad.c: (GST_START_TEST):
28309 * check/gst/gststructure.c: (GST_START_TEST):
28310 * check/gst/gstsystemclock.c: (GST_START_TEST),
28311 (gst_systemclock_suite):
28312 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28313 * check/gst/gstvalue.c: (GST_START_TEST):
28314 * check/pipelines/cleanup.c: (GST_START_TEST):
28315 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28316 * check/states/sinks.c: (GST_START_TEST):
28317 * check/gstcheck.c: (gst_check_init):
28318 * check/gstcheck.h:
28319 add debugging category
28320 use GST_START_TEST now, so we add a debug line
28322 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28324 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28325 add test for state change message on a bin
28326 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28328 * gst/gstbin.c: (gst_bin_init):
28329 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28330 * gst/gstelement.c: (gst_element_post_message),
28331 (gst_element_set_state):
28332 * gst/gstelementfactory.c: (gst_element_factory_create):
28333 * gst/gstmessage.c: (gst_message_new):
28334 * gst/gstscheduler.c:
28335 various debugging additions and cleanups
28337 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28339 * check/Makefile.am:
28340 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28342 adding tests for elements
28343 * gst/gstelement.c: (gst_element_dispose):
28345 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28347 * gst/registries/gstlibxmlregistry.c: (load_feature):
28348 plug more leaks. A simple gst_init() now is leakfree, yay.
28350 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28352 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28353 (gst_xml_registry_load):
28354 plug another memleak
28356 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28359 use GST_SET_ERROR_CFLAGS
28360 * docs/faq/cvs.xml:
28361 change to ERROR_CFLAGS
28363 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28366 make GST_ERROR_CFLAGS overridable and re-enable Werror
28367 * docs/faq/cvs.xml:
28368 add a note about error CFLAGS
28369 * docs/gst/tmpl/gstfakesrc.sgml:
28370 * gst/elements/gstfakesrc.c:
28371 comment out some unused code
28372 * gst/gst.c: (split_and_iterate):
28373 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28377 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28379 * common/Makefile.am:
28380 * common/gtk-doc.mak:
28381 * docs/gst/Makefile.am:
28382 factor out gtk-doc.mak
28384 2005-07-07 Wim Taymans <wim@fluendo.com>
28386 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28387 (gst_thread_scheduler_dispose):
28388 Unlock the STREAM_LOCK completely.
28390 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28392 * check/Makefile.am:
28393 * check/elements/.cvsignore:
28394 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28395 (START_TEST), (fakesrc_suite), (main):
28396 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28397 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28398 (gst_fakesrc_create), (gst_fakesrc_start):
28399 * gst/elements/gstfakesrc.h:
28400 adding a first element test
28402 2005-07-07 Andy Wingo <wingo@pobox.com>
28404 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28407 2005-07-07 Wim Taymans <wim@fluendo.com>
28413 2005-07-07 Wim Taymans <wim@fluendo.com>
28415 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28416 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28417 Allow subclasses to implement their own negotiation.
28419 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28421 * docs/design/part-gstbin.txt:
28422 * docs/design/part-gstpipeline.txt:
28423 Update design notes to reflect the movement of
28424 responsibility for bus handling from GstPipeline to
28427 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28430 Remove unnecessary queue2/3/4 examples.
28432 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28434 * examples/Makefile.am:
28435 * examples/helloworld/helloworld.c: (event_loop), (main):
28436 * examples/queue/queue.c: (event_loop), (main):
28437 * examples/queue2/queue2.c: (main):
28438 Update a couple of the examples to work again.
28440 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28441 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28442 Spelling corrections and extra debug.
28444 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28445 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28446 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28448 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28449 (gst_pipeline_change_state):
28450 * gst/gstpipeline.h:
28451 Move the bus handler for children to the GstBin, and create a
28452 separate bus for receiving messages from children to the one the
28453 bus sends 'upwards' on.
28455 2005-07-06 Wim Taymans <wim@fluendo.com>
28458 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28459 (gst_base_sink_handle_object), (gst_base_sink_loop),
28460 (gst_base_sink_change_state):
28461 * gst/base/gstbasesink.h:
28462 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28463 (gst_base_src_init), (gst_base_src_setcaps),
28464 (gst_base_src_getcaps), (gst_base_src_loop),
28465 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28466 (gst_base_src_start), (gst_base_src_change_state):
28467 * gst/base/gstbasesrc.h:
28468 Make basesrc negotiate.
28469 Handle the case where preroll fails in basesink.
28472 2005-07-06 Wim Taymans <wim@fluendo.com>
28474 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28475 Implement the fixate function.
28476 Clean up acceptcaps.
28478 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28480 * docs/pwg/building-filterfactory.xml:
28481 * docs/pwg/pwg.xml:
28482 Remove never-written filter-factory chapter; I'll add the various
28483 base classes to part 4 ("other element types") later on.
28485 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28487 * docs/pwg/advanced-negotiation.xml:
28488 * docs/pwg/building-boiler.xml:
28489 * docs/pwg/building-pads.xml:
28490 * docs/pwg/pwg.xml:
28491 * examples/pwg/Makefile.am:
28492 Add a chapter on caps negotiation, simplify the original code
28493 samples a bit w.r.t. caps negotiation, add link to the advanced
28494 section. Add a bunch of examples showing different use cases of
28495 different types of caps negotiation. Upstream renegotiation isn't
28496 fully documented yet since nobody knows how that works.
28498 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28500 * check/gst/gstpad.c:
28501 * check/gstcheck.c:
28502 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28503 if pad has no parent, return NULL as list of internal links
28505 2005-07-05 Andy Wingo <wingo@pobox.com>
28507 * gst/elements/gstfilesrc.c:
28508 * gst/elements/gstfakesrc.c:
28509 * gst/base/gstpushsrc.c:
28510 * gst/base/gstbasesrc.h:
28511 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28513 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28516 better report generation target (lcov needs a patch)
28518 2005-07-05 Andy Wingo <wingo@pobox.com>
28520 * gst/elements, testsuite: Null if we got it...
28522 2005-07-05 Wim Taymans <wim@fluendo.com>
28525 * libs/gst/dataprotocol/Makefile.am:
28526 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28527 * libs/gst/dataprotocol/dataprotocol.h:
28528 * pkgconfig/Makefile.am:
28529 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28530 * pkgconfig/gstreamer-dataprotocol.pc.in:
28531 Ported dataprotol to 0.9.
28532 Added pkgconfig files.
28534 2005-07-05 Andy Wingo <wingo@pobox.com>
28536 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28537 Default to returning TRUE for the case when tranform_caps returns
28538 a fixed caps, like for identity or volume.
28540 * check/gst/gstbus.c (pound_bus_with_messages):
28541 * check/gst/gstmessage.c (START_TEST):
28542 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28543 message API change.
28545 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28546 logic weaks here: always run transform_caps, trying passthrough
28547 operation only if the original caps intersects with the transform.
28549 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28550 source and sink caps.
28552 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28553 Intersect the peer caps with the pad template before going into
28555 (gst_base_transform_transform_caps): More debugging.
28557 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28560 2005-07-04 Edward Hervey <edward@fluendo.com>
28564 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28567 2005-07-04 Andy Wingo <wingo@pobox.com>
28569 * check/gst/gstpad.c: Only set explicit caps on pads.
28571 2005-07-01 Andy Wingo <wingo@pobox.com>
28573 * tests/network-clock.scm: Commentary update.
28575 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28576 Didn't really make sense, not implementable with basetransform,
28578 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28579 attempt at implementing the sync property, needs an unlock method.
28581 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28582 New func, by default returns the same caps (the identity
28584 (gst_base_transform_getcaps): Uses transform_caps to return
28585 something sensible.
28586 (gst_base_transform_setcaps): Complicated logic to get caps on
28587 both pads, even if they are different, and to call set_caps once
28588 for every time both pads get their caps set.
28589 (gst_base_transform_handle_buffer): Give the ref to the transform
28590 function. Allows in-place modification of the buffer.
28592 * gst/base/gstbasetransform.h (transform_caps): New class method.
28593 Given caps on one side, what can I do on the other.
28594 (set_caps): Take two caps, one for each side of the element.
28597 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28598 caps in place. This is safe because we can check the mutability of
28599 the caps, and a good idea because fixate functions are just called
28600 as a matter of last resort. (Not actually implemented.)
28601 (gst_pad_set_caps): If the caps we're setting is actually the same
28602 as the existing pad caps, just update the pointer without calling
28603 setcaps. Assert that caps is either NULL or fixed, as per the
28606 * gst/gstghostpad.c: Update for fixate changes.
28608 2005-07-02 Andy Wingo <wingo@pobox.com>
28611 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28612 two refcounts makes it immutable, which is enough. Doc more.
28614 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28616 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28617 Put the mini_object into GValue as a mini_object,
28618 not a gpointer, since that's how we declared
28621 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28623 * examples/pwg/Makefile.am:
28624 Fix buildbot again.
28626 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28628 * docs/pwg/building-testapp.xml:
28630 * examples/pwg/Makefile.am:
28633 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28636 * examples/Makefile.am:
28637 * examples/pwg/Makefile.am:
28638 * examples/pwg/extract.pl:
28639 Enable building the PWG examples.
28640 * docs/pwg/advanced-interfaces.xml:
28641 Add URI interface stub.
28642 * docs/pwg/advanced-types.xml:
28643 * docs/pwg/other-autoplugger.xml:
28644 * docs/pwg/appendix-porting.xml:
28645 * docs/pwg/pwg.xml:
28646 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28647 * docs/pwg/building-boiler.xml:
28648 * docs/pwg/building-chainfn.xml:
28649 * docs/pwg/building-pads.xml:
28650 * docs/pwg/building-props.xml:
28651 * docs/pwg/building-state.xml:
28652 * docs/pwg/building-testapp.xml:
28653 Update the building-*.xml parts for 0.9 changes. All examples
28654 code blocks compile in examples/pwg/*.
28656 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28658 * docs/manual/advanced-autoplugging.xml:
28659 * docs/manual/appendix-checklist.xml:
28660 * docs/manual/appendix-integration.xml:
28661 * docs/manual/highlevel-components.xml:
28662 Fix playbin/decodebin examples, update docs a bit, mention bus
28663 instead of signals in various places, mention kmplayer and
28664 kaffeine since they have a working GStreamer backend in the KDE
28667 2005-06-30 Wim Taymans <wim@fluendo.com>
28670 * docs/design/draft-ghostpads.txt:
28671 * docs/design/draft-push-pull.txt:
28672 * docs/design/draft-query.txt:
28673 * docs/design/part-TODO.txt:
28674 * docs/design/part-query.txt:
28675 Added CHANGES-0.9 doc, updated status of other docs.
28680 2005-06-30 Wim Taymans <wim@fluendo.com>
28682 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28683 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28684 (gst_base_sink_change_state):
28685 * gst/base/gstbasesink.h:
28686 Some tweaks, only EOS and a buffer complete a preroll.
28688 2005-06-30 Andy Wingo <wingo@pobox.com>
28690 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28691 activate_push down to the internal pad as well.
28693 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28695 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28697 * gst/gsttaginterface.c:
28698 Some documentation fixes (#307394 and #307397).
28700 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28702 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28704 * gst/gstvalue.c: (gst_value_intersect_list):
28705 Fix memleak (#309125).
28707 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28709 * docs/manual/advanced-dataaccess.xml:
28710 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28711 * docs/manual/basics-pads.xml:
28712 Add reference for filtered caps to above chapter.
28714 2005-06-30 Wim Taymans <wim@fluendo.com>
28716 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28717 (gst_bin_change_state):
28719 Lame attempt at making the state change function a bit
28722 2005-06-30 Wim Taymans <wim@fluendo.com>
28724 * docs/design/part-clocks.txt:
28725 * docs/design/part-element-sink.txt:
28726 * docs/design/part-events.txt:
28727 * docs/design/part-preroll.txt:
28728 * docs/design/part-states.txt:
28729 Some more tweeks and additions to the docs.
28731 2005-06-30 Wim Taymans <wim@fluendo.com>
28733 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28734 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28735 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28736 (gst_pad_check_pull_range), (gst_pad_get_range),
28737 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28739 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28740 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28741 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28742 (gst_pad_remove_buffer_probe):
28743 Removed atomic operations, use existing LOCK.
28744 Move exception handling out of main code path.
28746 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28748 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28749 (silly_return_true_function), (gst_pad_class_init),
28750 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28751 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28752 (gst_pad_send_event):
28753 Fix accumulator, add default value by using _emitv() instead
28754 of _emit() for signal emission.
28756 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28758 * docs/manual/advanced-dataaccess.xml:
28759 * examples/manual/Makefile.am:
28761 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28764 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28766 * gst/elements/gstfilesink.c: (gst_filesink_render):
28767 Simplify code so that we don't have to handle short
28768 writes and return GST_FLOW_ERROR if an error occured.
28770 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28772 * docs/gst/gstreamer-docs.sgml:
28773 Remove probes more.
28775 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28777 * docs/gst/gstreamer-sections.txt:
28778 * docs/gst/tmpl/gstpad.sgml:
28779 * docs/gst/tmpl/gstprobe.sgml:
28781 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28782 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28783 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28784 (gst_pad_push_event), (gst_pad_send_event):
28786 * gst/gstutils.c: (gst_pad_add_data_probe),
28787 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28788 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28789 (gst_pad_remove_buffer_probe):
28791 Remove old probes, add new g-signal-based probes and some utility
28794 2005-06-29 Edward Hervey <edward@fluendo.com>
28796 * gst/gstelementfactory.c:
28799 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28800 the definition to the header file.
28802 2005-06-29 Andy Wingo <wingo@pobox.com>
28804 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28805 plugins from the source directory.
28807 2005-06-29 Wim Taymans <wim@fluendo.com>
28809 * docs/gst/tmpl/gstbuffer.sgml:
28810 * docs/gst/tmpl/gstclock.sgml:
28811 Some fixings for blantently wrong text.
28813 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28815 * check/Makefile.am:
28816 * gst/gst.c: (add_path_func), (init_pre):
28817 * gst/gstregistry.c: (gst_registry_add_path):
28818 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28819 only scan the GST_PLUGIN_PATH locations, and not add
28822 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28824 * docs/gst/gstreamer-sections.txt:
28825 * docs/gst/tmpl/gstbasesrc.sgml:
28826 * gst/gstelement.c:
28827 * gst/gstelement.h:
28832 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28834 * docs/manual/advanced-autoplugging.xml:
28835 Fix autoplugging example.
28837 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28839 * docs/manual/advanced-autoplugging.xml:
28840 * docs/manual/mime-world.fig:
28841 Try to get autoplugging working, fix type detection. Fix text
28842 in hello-world image.
28844 2005-06-29 Wim Taymans <wim@fluendo.com>
28846 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28847 (gst_base_sink_change_state):
28851 map SIGNAL and BROADCAST to the right function.
28854 Remove redundant braces.
28856 * gst/gstpad.c: (gst_pad_set_caps):
28857 Don't call setcaps function when reseting caps to NULL.
28859 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28860 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28861 (gst_system_clock_id_unschedule):
28862 Use BROADCAST as this is what we do.
28864 2005-06-29 Wim Taymans <wim@fluendo.com>
28866 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28867 We are actually prerolling before commiting the state
28870 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28872 * docs/manual/advanced-clocks.xml:
28873 * docs/manual/advanced-interfaces.xml:
28874 * docs/manual/advanced-metadata.xml:
28875 * docs/manual/advanced-position.xml:
28876 * docs/manual/advanced-schedulers.xml:
28877 * docs/manual/advanced-threads.xml:
28878 * docs/manual/appendix-porting.xml:
28879 * docs/manual/basics-bins.xml:
28880 * docs/manual/basics-bus.xml:
28881 * docs/manual/basics-elements.xml:
28882 * docs/manual/basics-helloworld.xml:
28883 * docs/manual/basics-pads.xml:
28884 * docs/manual/highlevel-components.xml:
28885 * docs/manual/manual.xml:
28886 * docs/manual/thread.fig:
28887 Update (until threads/scheduling) Application Development Manual;
28888 remove GstThread, add GstBus, add simple porting checklist, add
28889 documentation for tag writing, clocks, make all examples until this
28890 part compile and run.
28891 * examples/manual/Makefile.am:
28892 Update from changes to Application Development Manual; add bus
28893 example, remove thread example.
28895 2005-06-28 Wim Taymans <wim@fluendo.com>
28897 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28898 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28899 (gst_bus_source_dispatch):
28900 Add debugging messages.
28901 Make internal methods static.
28902 Handle the case where the bus is flushed in the handler.
28904 * gst/gstelement.c: (gst_element_get_bus):
28905 Fix refcount in _get_bus();
28907 * gst/gstpipeline.c: (gst_pipeline_change_state),
28908 (gst_pipeline_get_clock_func):
28909 Clock refcounting fixes.
28910 Handle the case where preroll timed out more gracefully.
28912 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28913 Clean up the internal thread in dispose. This is needed
28914 for subclasses that actually get disposed.
28916 * gst/schedulers/threadscheduler.c:
28917 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28918 (gst_thread_scheduler_dispose):
28919 Free thread pool in dispose.
28921 2005-06-28 Andy Wingo <wingo@pobox.com>
28923 * tests/network-clock-utils.scm (debug, print-event): New utils.
28925 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28926 (*packet-loss*): Unified loss probability.
28927 (network-time): Report out-of-band events.
28929 * tests/plot-data: Add support for out-of-band events. Hack it
28930 into this script instead of passing it down the pipe; should fix
28933 2005-06-28 Wim Taymans <wim@fluendo.com>
28935 * docs/gst/gstreamer.types:
28936 * docs/gst/tmpl/gstbasesrc.sgml:
28937 * docs/gst/tmpl/gstpad.sgml:
28940 2005-06-28 Wim Taymans <wim@fluendo.com>
28942 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28943 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28944 (gst_proxy_pad_do_fixatecaps):
28945 Correctly proxy the check_pull_range function.
28947 2005-06-28 Andy Wingo <wingo@pobox.com>
28949 * tests/network-clock.scm: Removed need for slib.
28951 2005-06-28 Wim Taymans <wim@fluendo.com>
28953 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28954 (gst_basesink_preroll_queue_flush):
28955 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28956 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28957 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28958 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28959 (gst_proxy_pad_set_property):
28962 * gst/gstqueue.c: (gst_queue_init):
28963 The deprecated pad loop function is removed now.
28965 2005-06-28 Andy Wingo <wingo@pobox.com>
28967 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28968 New parameters, simulate network packet loss.
28970 * tests/network-clock-utils.scm: Initialize the RNG.
28972 2005-06-28 Wim Taymans <wim@fluendo.com>
28974 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28975 (gst_basesink_event), (gst_basesink_deactivate):
28976 Flushing the preroll queue always needs to unlock the waiters.
28978 2005-06-28 Edward Hervey <edward@fluendo.com>
28980 * gst/gstpipeline.c: (gst_pipeline_send_event):
28981 Wheen a seek was successful on a pipeline, set the stream_time to the
28982 seek offset in order to have a synchronized stream_time.
28984 2005-06-28 Wim Taymans <wim@fluendo.com>
28986 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28987 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28988 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28989 (gst_proxy_pad_do_fixatecaps):
28990 Call wrapper function instead of just calling the function
28991 pointers. This takes care of any locking and whatmore.
28993 2005-06-28 Wim Taymans <wim@fluendo.com>
28995 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28996 (gst_pad_pull_range):
28998 CONNECTED -> LINKED.
29000 2005-06-28 Andy Wingo <wingo@pobox.com>
29002 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29003 source-munging commit!!!
29005 * gst/gstobject.c (gst_object_unref, gst_object_ref)
29006 (gst_object_sink): Take gpointer arguments, not GstObject --
29007 avoids casts. Like GLib.
29009 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29012 2005-06-27 Andy Wingo <wingo@pobox.com>
29014 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29017 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29018 returns a sorted copy of the trace list.
29019 (gst_alloc_trace_print_live): New API, only prints traces with
29020 live objects. Sort the list.
29021 (gst_alloc_trace_print_all): Sort the list.
29022 (gst_alloc_trace_print): Align columns.
29024 * gst/elements/gstttypefindelement.c:
29025 * gst/elements/gsttee.c:
29026 * gst/base/gstbasesrc.c:
29027 * gst/base/gstbasesink.c:
29028 * gst/base/gstbasetransform.c:
29029 * gst/gstqueue.c: Adapt for pad activation changes.
29031 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29033 (gst_pipeline_dispose): Drop ref on sched.
29035 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29036 (gst_pad_activate_default): Push mode by default.
29037 (pre_activate_switch, post_activate_switch): New stubs, things to
29038 do before and after switching activation modes on pads.
29039 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29040 the pad's activate function to choose which mode to activate.
29041 Shortcut on deactivation and call the right function directly.
29042 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29044 (gst_pad_activate_push): New API, same for push mode.
29045 (gst_pad_set_activate_function)
29046 (gst_pad_set_activatepull_function)
29047 (gst_pad_set_activatepush_function): Setters for new API.
29049 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29050 Trace all miniobjects.
29051 (gst_mini_object_make_writable): Unref the arg if we copy, like
29052 gst_caps_make_writable.
29054 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29056 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29057 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29058 Adapt for new pad API.
29060 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29062 * gst/gstelement.h:
29063 * gst/gstelement.c (gst_element_iterate_src_pads)
29064 (gst_element_iterate_sink_pads): New API functions.
29066 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29067 should fold into gstiterator.c in some form.
29068 (gst_element_pads_activate): Simplified via use of fold and
29069 delegation of decisions to gstpad->activate.
29071 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29074 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29075 class once in init, like gstmessage. Didn't run into this issue
29076 but it seems correct. Don't initialize a trace, gstminiobject does
29079 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29080 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29082 (assert_live_count): New util function, uses alloc traces to check
29085 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29086 To be modified when unlink drops the internal pad.
29088 2005-06-27 Wim Taymans <wim@fluendo.com>
29090 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29091 (gst_bin_change_state):
29092 Cleanup the get_state() function a little, make sure it
29093 iterates the same set of elements.
29094 Added stub iterate_state_order().
29096 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29098 * docs/gst/gstreamer-docs.sgml:
29099 * docs/gst/gstreamer-sections.txt:
29100 * docs/gst/gstreamer.types:
29101 * docs/gst/tmpl/gstbasesink.sgml:
29102 * docs/gst/tmpl/gstbasesrc.sgml:
29103 * docs/gst/tmpl/gstbasetransform.sgml:
29104 * docs/gst/tmpl/gstelement.sgml:
29105 * docs/gst/tmpl/gstiterator.sgml:
29106 * gst/base/gstbasesrc.c:
29107 * gst/base/gstbasesrc.h:
29108 * gst/base/gstbasetransform.h:
29109 * gst/gstelement.c:
29110 * gst/gstiterator.h:
29111 adding basetransform and iterator docs
29113 2005-06-27 Andy Wingo <wingo@pobox.com>
29115 * docs/design/part-activation.txt: Notes on how activation should
29116 work -- not quite implemented yet.
29118 2005-06-25 Wim Taymans <wim@fluendo.com>
29120 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29121 At least get the chain function correct, needs more
29124 2005-06-25 Wim Taymans <wim@fluendo.com>
29126 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29127 (gst_basesink_handle_object), (gst_basesink_event),
29128 (gst_basesink_do_sync), (gst_basesink_handle_event),
29129 (gst_basesink_change_state):
29131 Right, two problems here: ghostpads don't take locks and
29132 glib _rec_mutex_lock_full() with depth==0 still locks.
29133 Catch illegal locking and g_warn them.
29135 2005-06-25 Wim Taymans <wim@fluendo.com>
29137 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29138 Have to check for completion now...
29140 2005-06-25 Wim Taymans <wim@fluendo.com>
29142 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29143 (gst_basesink_handle_object), (gst_basesink_event),
29144 (gst_basesink_do_sync), (gst_basesink_handle_event),
29145 (gst_basesink_change_state):
29147 Unlock STREAM_LOCK whatever the recursion was.
29149 2005-06-25 Wim Taymans <wim@fluendo.com>
29151 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29152 (gst_basesink_preroll_queue_empty),
29153 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29154 (gst_basesink_event), (gst_basesink_do_sync),
29155 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29156 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29157 (gst_basesink_change_state):
29158 Reworked the base sink, handle event and buffer serialisation
29159 correctly and removed possible deadlock.
29160 Handle EOS correctly.
29162 2005-06-25 Wim Taymans <wim@fluendo.com>
29164 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29165 (gst_pipeline_change_state):
29166 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29167 Allow elements to post EOS in the state change function.
29168 Fix up -launch, make it exit the poll loop when the
29169 pipeline actually changed state.
29170 Fix up warning parsing in -launch.
29172 2005-06-25 Wim Taymans <wim@fluendo.com>
29174 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29175 (gst_tee_sink_activate):
29176 Core takes STREAM_LOCK for us now.
29178 2005-06-25 Wim Taymans <wim@fluendo.com>
29180 * gst/gstelement.c: (gst_element_get_state_func),
29181 (gst_element_set_state):
29182 * gst/gstelement.h:
29183 * gst/gstmessage.c: (gst_message_parse_error),
29184 (gst_message_parse_warning):
29185 Keep track of current target state while performing a state
29186 change so that subclasses can do something interesting.
29187 Fix parsing of warning/error messages when GError is NULL.
29189 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29191 * docs/gst/Makefile.am:
29192 * docs/gst/gstreamer-docs.sgml:
29193 * docs/gst/gstreamer-sections.txt:
29194 * docs/gst/gstreamer.types:
29195 * docs/gst/tmpl/gstbasesink.sgml:
29196 * docs/gst/tmpl/gstbasesrc.sgml:
29197 * docs/gst/tmpl/gstbin.sgml:
29198 * docs/gst/tmpl/gstcompat.sgml:
29199 * docs/gst/tmpl/gstfakesink.sgml:
29200 * docs/gst/tmpl/gstfakesrc.sgml:
29201 * docs/gst/tmpl/gstfilesink.sgml:
29202 * docs/gst/tmpl/gstfilesrc.sgml:
29203 * docs/gst/tmpl/gstindex.sgml:
29204 * docs/manual/appendix-quotes.xml:
29205 * gst/base/gstbasesrc.h:
29206 * gst/elements/gstfakesrc.h:
29207 * gst/gstmessage.h:
29208 start pulling in base classes and elements in our docs
29210 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29212 * docs/gst/Makefile.am:
29213 * docs/libs/Makefile.am:
29214 fixed make distcheck with gtk-doc 1.3
29216 2005-06-23 Wim Taymans <wim@fluendo.com>
29218 * gst/gstelement.c: (gst_element_get_state_func),
29219 (gst_element_set_state), (gst_element_change_state):
29220 When the state did not change, also report NO_PREROLL
29223 2005-06-23 Wim Taymans <wim@fluendo.com>
29225 * gst/gstpad.c: (gst_pad_event_default):
29226 * gst/gstqueue.c: (gst_queue_loop):
29227 No unsafe task pausing please.
29229 2005-06-23 Wim Taymans <wim@fluendo.com>
29231 * gst/schedulers/threadscheduler.c:
29232 (gst_thread_scheduler_task_start),
29233 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29234 Ref the task before pushing it on the threadpool. This
29235 makes sure that we have a ref when the threadfunction is
29238 2005-06-23 Andy Wingo <wingo@pobox.com>
29240 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29241 offset is greater than the file's size.
29243 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29244 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29245 * gst/gstobject.c (gst_object_class_init): Make the class lock
29246 recursive. Wim won't let me drop deep_notify. Decodebin works
29247 again, whoopdy doo.
29249 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29250 internal pad, and hacks accordingly. Doesn't do it on the target
29251 pad because we change its caps. Probably catches all cases of
29253 (gst_ghost_pad_set_property): Connect to notify::caps as
29256 * tests/network-clock.scm (plot-simulation): Pipe data to the
29257 elite python skript.
29259 * tests/network-clock-utils.scm (define-parameter): New macro,
29260 defines a parameter that can be set via the command line.
29261 (set-parameter!, parse-parameter-arguments): Command line args
29264 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29267 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29269 * gst/elements/gsttypefindelement.c:
29270 (gst_type_find_element_handle_event):
29271 Don't restart typefinding on a discont.
29272 * gst/gstelement.c: (gst_element_set_state):
29273 Debug spelling fix.
29274 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29275 Allow changing mode of an active pad.
29276 Debug output fixes.
29277 * gst/registries/gstlibxmlregistry.c: (load_feature):
29278 Don't cast a static pad template to a normal pad template.
29280 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29282 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29283 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29284 remove gst_strtoll completely, since it didn't actually do
29285 anything more than what g_ascii_strtoull already does.
29286 check for range errors when deserializing
29287 do a cast for the unsigned cases; but further fixing needs
29288 a decision on what the interpretation of "(int)" and
29289 deserialization should be for values that fall outside the
29290 type's boundaries (ie, refuse, or interpret as casting)
29292 2005-06-23 Wim Taymans <wim@fluendo.com>
29294 * check/Makefile.am:
29295 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29296 * docs/design/part-live-source.txt:
29297 * docs/design/part-states.txt:
29298 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29299 (gst_basesrc_set_live), (gst_basesrc_is_live),
29300 (gst_basesrc_get_range), (gst_basesrc_activate),
29301 (gst_basesrc_change_state):
29302 * gst/base/gstbasesrc.h:
29303 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29304 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29305 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29306 * gst/gstelement.c: (gst_element_get_state_func),
29307 (gst_element_set_state):
29308 * gst/gstelement.h:
29310 * tools/gst-launch.c: (event_loop), (main):
29311 Added support for live sources and other elements that
29313 Updated design docs, added live-source design doc.
29314 Implemented live source functionality in basesrc
29315 Fix error condition in _bin_get_state()
29316 Implement live source handling in -launch.
29317 Added check for live sources.
29318 Fixed case in GstBin where elements were changed state
29322 2005-06-23 Andy Wingo <wingo@pobox.com>
29324 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29325 borken refcounting.
29327 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29328 gst_caps_replace takes care of this for us.
29330 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29331 gst_pad_set_caps on the target, not just its setcaps() function.
29333 * tests/network-clock.scm:
29334 * tests/network-clock-utils.scm: A network clock simulator.
29335 Something of an algorithmic testbed before doing something in C.
29337 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29339 * check/Makefile.am:
29340 * check/gst/capslist.h:
29341 copy over from 0.8, and add two with bitmasks specified with
29343 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29344 add test to parse everything from capslist.h
29345 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29347 add test for structure deserialization
29348 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29349 add tests for deserialization of strings to int types
29350 * gst/gststructure.c: (gst_structure_nth_field_name):
29351 * gst/gststructure.h:
29352 add a way to get the name of a field referenced by index
29353 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29354 instead of checking if the resulting long long lies between
29355 min and max, we check if the long long would fit into
29356 a number of bytes for the final type.
29357 This fixes cases where a string represents 2^32 - 1, which
29358 when cast to int would be the (valid) -1, but is bigger than
29361 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29363 * gst/parse/grammar.y:
29364 add a log line for type deserialization
29366 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29368 * check/gst/gstvalue.c: (START_TEST):
29369 * gst/gstvalue.c: (gst_value_deserialize):
29370 return long long, not int, so gint64 deserialization actually
29371 works. Is there any flag that makes the compiler check this ?
29374 2005-06-22 Wim Taymans <wim@fluendo.com>
29377 Added convenience macros for setting buffers in GValue.
29379 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29381 * check/gst/.cvsignore:
29382 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29383 add a test deserializing int64, and comment part out because
29386 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29388 * check/Makefile.am:
29389 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29390 * testsuite/Makefile.am:
29391 * testsuite/caps/Makefile.am:
29392 * testsuite/caps/value_serialize.c:
29393 * testsuite/test_gst_init.c:
29394 move a value_serialize test over
29396 2005-06-20 Wim Taymans <wim@fluendo.com>
29401 * gst/gstvalue.c: (gst_value_compare_buffer),
29402 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29403 (gst_value_compare_flags), (gst_value_serialize_flags),
29404 (gst_value_deserialize_flags), (_gst_value_initialize):
29405 Fix serialisation of buffers, they are not boxed types anymore
29407 2005-06-20 Wim Taymans <wim@fluendo.com>
29409 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29410 Testcase to show error in buffer-on-caps serialisation.
29412 2005-06-20 Andy Wingo <wingo@pobox.com>
29414 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29415 will be adding to later.
29417 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29418 if its socks fill with rocks.
29419 (gst_system_clock_obtain): Set the name on object construction.
29420 Avoid double-checked locking.
29422 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29424 * gst/gsturi.c: (gst_element_make_from_uri):
29425 Fix potential endless loop.
29427 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29429 * check/Makefile.am:
29431 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29433 move over from testsuite dir and clean up
29436 * testsuite/Makefile.am:
29437 * testsuite/tags/.cvsignore:
29438 * testsuite/tags/Makefile.am:
29439 * testsuite/tags/merge.c:
29440 remove testsuite/tags
29442 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29444 * docs/gst/gstreamer-sections.txt:
29445 * docs/gst/tmpl/gstenumtypes.sgml:
29446 * win32/gstenumtypes.c:
29447 clean up documentation build a little
29449 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29451 * check/gstcheck.h:
29452 add macros for checking refcounts on objects and caps
29453 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29454 add some more unit tests
29455 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29456 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29457 fix leaked refcounts (I hope :)) so unittest works
29461 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29463 * configure.ac: back to HEAD
29465 === release 0.9.1 ===
29467 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29473 2005-06-17 Andy Wingo <wingo@pobox.com>
29475 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29476 assert; it's always possible that the pad gets deactivated in
29477 between the checks in gstpad.c and the implementation. Rely on
29478 finish_preroll() to return a FLUSHING or similar instead of on the
29481 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29482 clock and post an EOS message if we come out of finish_preroll in
29485 2005-06-16 David Schleef <ds@schleef.org>
29487 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29488 (gst_capsfilter_set_property): Allow NULL as possible value
29489 for filter_caps property, indicating GST_CAPS_ANY.
29491 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29493 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29495 * gst/schedulers/Makefile.am:
29497 * gstreamer.spec.in:
29500 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29502 * gstreamer.spec.in:
29505 2005-06-08 Andy Wingo <wingo@pobox.com>
29507 * gst/gstutils.c: RPAD fixes all around.
29508 (gst_element_link_pads): Refcounting fixes.
29510 * tools/gst-inspect.c:
29511 * tools/gst-xmlinspect.c:
29513 * gst/base/gsttypefindhelper.c:
29514 * gst/base/gstbasesink.c:
29515 * gst/gstqueue.c: RPAD fixes.
29517 * gst/gstghostpad.h:
29518 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29519 pads. The tricky thing is they provide both source and sink
29520 interfaces, since they proxy the internal pad for the external
29521 pad, and vice versa. Implement with lower-level ProxyPad objects,
29522 with the interior proxy pad as a child of the exterior ghost pad.
29523 Should write a doc on this.
29525 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29526 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29529 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29530 pads are real pads. No ghost pads in this file. Not documenting
29531 the myriad s/RPAD/PAD/ and REALIZE fixes.
29532 (gst_pad_class_init): Add properties for "direction" and
29533 "template". Both are construct-only, so they can't change during
29534 the life of the pad. Fixes properly deriving from GstPad.
29535 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29536 derived objects, just set properties when creating the objects via
29538 (gst_pad_get_parent): Implement as a function, return NULL if the
29539 parent is not an element.
29540 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29541 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29543 * gst/gstobject.c (gst_object_class_init): Make name a construct
29544 property. Don't set it in the object init.
29546 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29547 with UNKNOWN direction.
29548 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29549 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29550 (gst_element_remove_pad): Remove ghost-pad special cases.
29551 (gst_element_pads_activate): Remove rpad cruft.
29553 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29554 catch the pad's-parent-not-an-element case.
29556 * gst/gst.h: Include gstghostpad.h.
29558 * gst/gst.c (init_post): No more real, ghost pads.
29560 * gst/Makefile.am: Add gstghostpad.[ch].
29562 * check/Makefile.am:
29563 * check/gst/gstbin.c:
29564 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29565 into a bin creates ghost pads, and that the refcounts are right.
29566 Partly moved from gstbin.c.
29568 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29570 * check/gst-libs/.cvsignore:
29571 * check/gst/.cvsignore:
29572 * check/pipelines/.cvsignore:
29574 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29575 (START_TEST), (cleanup_suite), (main):
29576 add some tests related to cleanup after running pipelines
29578 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29580 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29581 add a testsuite for GstBuffer
29583 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29585 * gst/gstminiobject.h:
29586 add defines for accessing the refcount
29588 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29590 * Makefile.am: added support for html unit test coverage reports
29592 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29594 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29595 Free existing caps if the capsfilter changes. Add a FIXME about
29596 setting those caps on the pads.
29598 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29599 Before adding a ghost pad to a parent bin, check that there isn't
29600 already one for the element on the bin. Prevents infinite recursion
29601 when using decodebin in parse pipelines. Andy says he'll rewrite the
29602 way this works anyway, so ignore the hack.
29604 2005-06-02 Andy Wingo <wingo@pobox.com>
29606 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29607 file size, pass it on to the type find helper.
29609 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29610 segment_start and segment_end properly according to the seek
29611 method. Segment_end is still a bit flaky because offset can be
29612 negative for CUR and END cases, but it takes -1 as an "unset"
29615 2005-06-02 Wim Taymans <wim@fluendo.com>
29617 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29618 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29619 (gst_basesink_activate):
29620 * gst/base/gstbasesink.h:
29621 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29622 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29623 (gst_pad_query), (gst_pad_start_task):
29625 * gst/gstqueue.c: (gst_queue_bufferalloc),
29626 (gst_queue_handle_sink_event), (gst_queue_chain):
29627 Bufferalloc: return GstFlowReturn to more accuratly report
29628 why allocation failed.
29630 2005-06-02 Wim Taymans <wim@fluendo.com>
29632 * gst/gstpipeline.c: (gst_pipeline_send_event):
29633 Take snapshot of state without blocking.
29635 2005-06-02 Wim Taymans <wim@fluendo.com>
29637 * docs/design/part-TODO.txt:
29638 * docs/design/part-caps.txt:
29639 * docs/design/part-clocks.txt:
29640 * docs/design/part-negotiation.txt:
29641 * docs/design/part-preroll.txt:
29644 2005-05-30 Wim Taymans <wim@fluendo.com>
29646 * gst/elements/gstidentity.c: (gst_identity_event),
29647 (gst_identity_transform), (gst_identity_get_property):
29648 Protect last_message property as it is accessed from
29651 2005-05-30 Wim Taymans <wim@fluendo.com>
29653 * gst/gstelement.c: (gst_element_init),
29654 (gst_element_pads_activate), (gst_element_change_state):
29655 Slicker pad activation code.
29657 2005-05-30 Wim Taymans <wim@fluendo.com>
29660 * gst/gstelement.h:
29661 * gst/gstelementfactory.h:
29663 Move elementfactory methods to separate .h file.
29665 2005-05-30 Wim Taymans <wim@fluendo.com>
29667 * docs/design/part-overview.txt:
29668 * gst/gstsystemclock.h:
29669 Small typo fixes, doc updates.
29671 2005-05-30 Wim Taymans <wim@fluendo.com>
29673 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29674 (init_popt_callback):
29675 Remove cpu-opt flag.
29677 2005-05-30 Wim Taymans <wim@fluendo.com>
29679 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29680 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29682 Avoid typechecking in places where not needed.
29683 Added accessor for malloc_data.
29685 2005-05-30 Wim Taymans <wim@fluendo.com>
29687 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29688 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29689 (gst_pad_configure_sink), (gst_pad_configure_src),
29690 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29691 (gst_pad_start_task):
29692 Propagate errors from _set_caps() in configure_src/sink
29693 functions instead of returning TRUE.
29694 FLUSH events can travel up and downstream
29697 2005-05-30 Wim Taymans <wim@fluendo.com>
29699 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29700 (gst_basesink_activate):
29701 Handle EOS in preroll.
29703 2005-05-30 Wim Taymans <wim@fluendo.com>
29705 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29706 (gst_queue_loop), (gst_queue_handle_src_event):
29707 Remove old pieces of code
29708 Flushing the queue in an upstream event is a very bad idea.
29710 2005-05-26 Andy Wingo <wingo@pobox.com>
29712 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29713 gst_value_set_mini_object so as to add a ref on the object (which
29714 will be removed when the value is unset).
29716 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29717 arg type in ::handoff.
29719 * gst/gstelement.c (gst_element_change_state): Also deactivate
29720 pads in READY->NULL, just in case the element didn't make it to
29721 PAUSED. Wingo tested, Wim approved.
29723 2005-05-26 Wim Taymans <wim@fluendo.com>
29725 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29726 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29727 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29728 A flushing pad cannot be used to alloc_buffer from.
29730 2005-05-26 Wim Taymans <wim@fluendo.com>
29732 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29733 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29734 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29735 (gst_bus_create_watch), (gst_bus_add_watch_full):
29737 Implement a real GSource and use g_main_context_wakeup() to
29738 signal new messages instead of the socketpair.
29740 2005-05-25 Wim Taymans <wim@fluendo.com>
29742 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29743 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29744 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29745 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29746 (gst_pad_send_event), (gst_pad_start_task):
29747 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29748 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29749 (gst_queue_sink_activate), (gst_queue_src_activate),
29750 (gst_queue_change_state):
29752 Fix state changes for non sinks. We now change sinks, then elements
29753 with unconnected srcpads, then the rest.
29754 More efficient queue unlocking in flush and state changes.
29755 Set the pad activate mode even if it does not have an activate
29758 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29760 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29761 Don't go in pull mode for non-seekable sources.
29762 * gst/elements/gsttypefindelement.h:
29763 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29764 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29765 (free_entry), (stop_typefinding),
29766 (gst_type_find_element_handle_event), (find_peek),
29767 (gst_type_find_element_chain), (do_pull_typefind),
29768 (gst_type_find_element_change_state):
29769 Allow typefinding (w/o seeking) in push-mode, simplified version
29770 of what was in 0.8.
29771 * gst/gstutils.c: (gst_buffer_join):
29773 gst_buffer_join() from 0.8.
29775 2005-05-25 Wim Taymans <wim@fluendo.com>
29777 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29778 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29779 (gst_pad_send_event), (gst_pad_start_task):
29780 Disable attempt at mode switching until it is figured out.
29782 2005-05-25 Wim Taymans <wim@fluendo.com>
29784 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29785 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29786 (gst_basesink_finish_preroll), (gst_basesink_chain),
29787 (gst_basesink_loop), (gst_basesink_activate),
29788 (gst_basesink_change_state):
29789 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29790 (gst_basesrc_get_range), (gst_basesrc_loop),
29791 (gst_basesrc_activate):
29792 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29793 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29794 (gst_real_pad_init), (gst_real_pad_set_property),
29795 (gst_real_pad_get_property), (gst_pad_set_active),
29796 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29797 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29798 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29799 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29800 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29801 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29802 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29803 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29804 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29805 (gst_pad_stop_task):
29807 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29808 (gst_queue_loop), (gst_queue_src_activate):
29809 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29810 (gst_task_get_state):
29812 * gst/schedulers/threadscheduler.c:
29813 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29814 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29816 Remove ACTIVE pad flag, use FLUSHING everywhere
29817 Added _pad_chain(), _pad_get_range() to call chain/getrange
29819 Add locks around IS_FLUSHING when reading.
29820 Take STREAM lock in chain(), get_range() functions so plugins
29821 don't need to take it anymore.
29825 2005-05-25 Wim Taymans <wim@fluendo.com>
29827 * tools/gst-launch.c: (event_loop):
29828 Unref message after using its contents instead of
29831 2005-05-24 Wim Taymans <wim@fluendo.com>
29833 * docs/design/draft-ghostpads.txt:
29834 * docs/design/draft-push-pull.txt:
29835 * docs/design/draft-query.txt:
29836 * docs/design/part-overview.txt:
29837 Docs updates, added general overview doc.
29839 2005-05-21 David Schleef <ds@schleef.org>
29841 * docs/gst/tmpl/old/GstBin.sgml:
29842 * docs/gst/tmpl/old/GstBuffer.sgml:
29843 * docs/gst/tmpl/old/GstCaps.sgml:
29844 * docs/gst/tmpl/old/GstClock.sgml:
29845 * docs/gst/tmpl/old/GstCompat.sgml:
29846 * docs/gst/tmpl/old/GstData.sgml:
29847 * docs/gst/tmpl/old/GstElement.sgml:
29848 * docs/gst/tmpl/old/GstEvent.sgml:
29849 * docs/gst/tmpl/old/GstIndex.sgml:
29850 * docs/gst/tmpl/old/GstStructure.sgml:
29851 * docs/gst/tmpl/old/GstTag.sgml:
29852 * docs/gst/tmpl/old/cothreads.sgml:
29853 * docs/gst/tmpl/old/cothreads_compat.sgml:
29854 * docs/gst/tmpl/old/gettext.sgml:
29855 * docs/gst/tmpl/old/gobject2gtk.sgml:
29856 * docs/gst/tmpl/old/grammar.tab.sgml:
29857 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29858 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29859 * docs/gst/tmpl/old/gst_private.sgml:
29860 * docs/gst/tmpl/old/gstaggregator.sgml:
29861 * docs/gst/tmpl/old/gstarch.sgml:
29862 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29863 * docs/gst/tmpl/old/gstbufferstore.sgml:
29864 * docs/gst/tmpl/old/gstdata_private.sgml:
29865 * docs/gst/tmpl/old/gstdisksink.sgml:
29866 * docs/gst/tmpl/old/gstdisksrc.sgml:
29867 * docs/gst/tmpl/old/gstelementfactory.sgml:
29868 * docs/gst/tmpl/old/gstextratypes.sgml:
29869 * docs/gst/tmpl/old/gstfakesink.sgml:
29870 * docs/gst/tmpl/old/gstfakesrc.sgml:
29871 * docs/gst/tmpl/old/gstfdsink.sgml:
29872 * docs/gst/tmpl/old/gstfdsrc.sgml:
29873 * docs/gst/tmpl/old/gstfilesink.sgml:
29874 * docs/gst/tmpl/old/gstfilesrc.sgml:
29875 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29876 * docs/gst/tmpl/old/gstidentity.sgml:
29877 * docs/gst/tmpl/old/gstindexfactory.sgml:
29878 * docs/gst/tmpl/old/gstmarshal.sgml:
29879 * docs/gst/tmpl/old/gstmd5sink.sgml:
29880 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29881 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29882 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29883 * docs/gst/tmpl/old/gstpipefilter.sgml:
29884 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29885 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29886 * docs/gst/tmpl/old/gstshaper.sgml:
29887 * docs/gst/tmpl/old/gstspider.sgml:
29888 * docs/gst/tmpl/old/gstspideridentity.sgml:
29889 * docs/gst/tmpl/old/gststatistics.sgml:
29890 * docs/gst/tmpl/old/gsttee.sgml:
29891 * docs/gst/tmpl/old/gsttimecache.sgml:
29892 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29893 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29894 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29895 * docs/gst/tmpl/old/types.sgml:
29896 I didn't intend to add these or check them in.
29898 2005-05-19 David Schleef <ds@schleef.org>
29900 * configure.ac: Use -no-common everywhere. In a sane world, it
29901 would be the default in libtool, because without it, you can't
29902 build DLLs on Windows.
29903 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29904 * docs/gst/gstreamer-sections.txt:
29905 * docs/gst/tmpl/gstcpu.sgml:
29906 * docs/gst/tmpl/gstdata.sgml:
29907 * docs/gst/tmpl/gstthread.sgml:
29909 2005-05-19 David Schleef <ds@schleef.org>
29911 * gst/gstminiobject.c: (gst_value_set_mini_object),
29912 (gst_value_take_mini_object), (gst_value_get_mini_object):
29913 * gst/gstminiobject.h: Add GValue set/get functions.
29915 2005-05-19 Wim Taymans <wim@fluendo.com>
29917 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29918 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29919 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29921 * gst/gstbus.c: (gst_bus_post):
29922 * gst/gstelement.c: (gst_element_get_random_pad):
29923 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29924 Make subbufer unref the parent in finalize.
29925 some more debugging info.
29928 2005-05-19 Wim Taymans <wim@fluendo.com>
29930 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29931 (gst_basesink_init), (gst_basesink_finalize),
29932 (gst_basesink_activate), (gst_basesink_change_state):
29933 Don't free preroll queue too early.
29935 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29939 Hi, I'm outdated. Please shoot me.
29941 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29943 * gst/gstpipeline.c: (gst_pipeline_send_event):
29944 Do not access variables after they have been deleted.
29946 2005-05-19 Wim Taymans <wim@fluendo.com>
29948 * tools/gst-inspect.c: (print_plugin_features):
29949 A plugin feature does unfortunatly not use the
29952 2005-05-18 Wim Taymans <wim@fluendo.com>
29954 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29955 Port _span() functions to new subbuffers.
29957 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29959 * gst/gstbin.c: (gst_bin_add_func):
29960 Fix clock settery in bins when adding kids after the clock has
29963 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29965 * gst/elements/gstidentity.c: (gst_identity_class_init):
29966 Workaround until signals support GstMiniObject.
29968 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
29971 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29973 2005-05-18 Wim Taymans <wim@fluendo.com>
29975 * gst/base/Makefile.am:
29976 * gst/base/gstadapter.c: (gst_adapter_base_init),
29977 (gst_adapter_class_init), (gst_adapter_init),
29978 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29979 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29980 (gst_adapter_flush), (gst_adapter_available),
29981 (gst_adapter_available_fast):
29982 * gst/base/gstadapter.h:
29983 Ported and added adapter to the base classes.
29985 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
29988 * gst/gstmessage.c:
29989 Make sure the class is reffed/unreffed once before threads can be
29990 used. Fixes #304551.
29992 2005-05-17 Wim Taymans <wim@fluendo.com>
29994 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29995 (gst_basesink_chain_unlocked), (gst_basesink_activate):
29996 * gst/gstminiobject.c: (gst_mini_object_get_type),
29997 (gst_mini_object_free):
29998 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29999 (gst_pad_push), (gst_pad_push_event):
30000 * gst/gstqueue.c: (gst_queue_change_state):
30001 Don't queue buffers in basesink when we are flushing.
30002 Unref buffer when flushing in basesink.
30003 Flush queue when going to READY
30004 Unref buffer when _push() returns an error.
30005 Don't free MiniObject instance when refcount is incremented
30006 in _finalize() so that we can recover objects.
30008 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
30010 * docs/manual/advanced-schedulers.xml:
30011 * docs/manual/appendix-checklist.xml:
30012 * docs/pwg/advanced-clock.xml:
30013 * docs/pwg/advanced-interfaces.xml:
30014 * docs/pwg/advanced-request.xml:
30015 * docs/pwg/advanced-types.xml:
30016 * docs/pwg/intro-preface.xml:
30017 * examples/plugins/example.c: (gst_example_get_type),
30018 (gst_example_class_init), (gst_example_chain),
30019 (gst_example_set_property), (gst_example_get_property),
30020 (gst_example_change_state), (plugin_init):
30021 * examples/plugins/example.h:
30024 2005-05-17 Wim Taymans <wim@fluendo.com>
30026 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30027 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30028 * gst/gstqueue.c: (gst_queue_change_state):
30029 Clear queue when going to READY.
30030 Remove IN_SETCAPS flag too.
30032 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30034 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30035 Remove implicit cast from gboolean to GstElementStateReturn;
30036 make sure we still return failure in paused => ready case if
30037 the parent class fails to change state and our own stop
30040 2005-05-17 Wim Taymans <wim@fluendo.com>
30042 * tools/gst-launch.c: (event_loop):
30043 Message was unreffed too soon.
30045 2005-05-16 Andy Wingo <wingo@pobox.com>
30047 * gst/gstbin.c (sink_iterator_filter): Err... um...
30049 * check/gst/gstbin.c (test_ghost_pads): New test for the
30050 ghosting-if-elements-not-in-same-bin behavior.
30052 2005-05-16 David Schleef <ds@schleef.org>
30054 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30055 accessing refcount directly.
30057 2005-05-15 David Schleef <ds@schleef.org>
30059 * check/Makefile.am: remove GstData checks
30060 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30061 * gst/Makefile.am: add miniobject, remove data
30062 * gst/gst.h: add miniobject, remove data
30063 * gst/gstdata.c: remove
30064 * gst/gstdata.h: remove
30065 * gst/gstdata_private.h: remove
30066 * gst/gsttypes.h: remove GstEvent and GstMessage
30067 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30068 * gst/gstmarshal.list: change BOXED -> OBJECT
30070 Implement GstMiniObject.
30071 * gst/gstminiobject.c:
30072 * gst/gstminiobject.h:
30074 Modify to be subclasses of GstMiniObject.
30075 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30076 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30077 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30078 (gst_subbuffer_get_type), (gst_subbuffer_init),
30079 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30082 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30083 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30084 (_gst_event_copy), (gst_event_new):
30086 * gst/gstmessage.c: (_gst_message_initialize),
30087 (gst_message_get_type), (gst_message_class_init),
30088 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30089 (gst_message_new), (gst_message_new_error),
30090 (gst_message_new_warning), (gst_message_new_tag),
30091 (gst_message_new_state_changed), (gst_message_new_application):
30092 * gst/gstmessage.h:
30093 * gst/gstprobe.c: (gst_probe_perform),
30094 (gst_probe_dispatcher_dispatch):
30096 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30097 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30098 (_gst_query_copy), (gst_query_new):
30100 Update elements for GstData -> GstMiniObject changes
30102 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30103 (gst_queue_chain), (gst_queue_loop):
30104 * gst/elements/gstbufferstore.c:
30105 (gst_buffer_store_add_buffer_func),
30106 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30107 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30108 (gst_fakesink_render):
30109 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30110 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30111 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30112 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30113 (gst_filesrc_create_read):
30114 * gst/elements/gstidentity.c: (gst_identity_class_init):
30115 * gst/elements/gsttypefindelement.c:
30116 (gst_type_find_element_src_event), (free_entry_buffers),
30117 (gst_type_find_element_handle_event):
30118 * libs/gst/dataprotocol/dataprotocol.c:
30119 (gst_dp_header_from_buffer):
30120 * libs/gst/dataprotocol/dataprotocol.h:
30121 * libs/gst/dataprotocol/dp-private.h:
30123 2005-05-15 David Schleef <ds@schleef.org>
30125 * gst/elements/gstelements.c: Don't include headers that were
30128 2005-05-15 David Schleef <ds@schleef.org>
30130 * gst/elements/Makefile.am: Remove some elements that don't
30131 need to be in the core (or even exist at all).
30132 * gst/elements/gstaggregator.c:
30133 * gst/elements/gstaggregator.h:
30134 * gst/elements/gstmd5sink.c:
30135 * gst/elements/gstmd5sink.h:
30136 * gst/elements/gstmultifilesrc.c:
30137 * gst/elements/gstmultifilesrc.h:
30138 * gst/elements/gstpipefilter.c:
30139 * gst/elements/gstpipefilter.h:
30140 * gst/elements/gstshaper.c:
30141 * gst/elements/gstshaper.h:
30142 * gst/elements/gststatistics.c:
30143 * gst/elements/gststatistics.h:
30144 * po/POTFILES.in: Remove above files.
30146 2005-05-14 Andy Wingo <wingo@pobox.com>
30148 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30149 so as to get the refs right.
30150 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30151 unreffing objects that don't pass the filter.
30153 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30154 gst_element_set_bus.
30155 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30156 normal cases, this will destroy the bus.
30158 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30161 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30164 2005-05-13 Andy Wingo <wingo@pobox.com>
30166 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30167 gst_pad_link, call pad_link_maybe_ghosting,
30168 (pad_link_maybe_ghosting): Links pads, making sure that the
30169 elements being linked are in the same bin.
30170 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30171 Helpers for pad_link_maybe_ghosting.
30173 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30176 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30178 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30180 * docs/design/part-element-source.txt:
30183 2005-05-12 Wim Taymans <wim@fluendo.com>
30185 * gst/base/gstbasesink.c: (gst_basesink_init),
30186 (gst_basesink_activate):
30187 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30188 (gst_basesrc_is_seekable):
30189 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30190 (bin_element_is_sink), (gst_bin_change_state):
30191 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30192 * gst/gstelement.h:
30193 Identify sinks by their flag to avoid overly complicated
30195 Do state changes even for elements not reachable from the
30197 BaseSink is a sink now :)
30198 Some more debugging info in the basesrc.
30201 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30203 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30204 Implement _query on a bin, similar to _send_event.
30206 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30208 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30209 Discont event offset format should be GST_FORMAT_BYTES,
30210 not GST_FORMAT_TIME.
30212 2005-05-12 Wim Taymans <wim@fluendo.com>
30214 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30215 Same fix as Ronald's but without the signal.
30217 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30219 * gst/gstutils.c: (gst_element_query_position):
30220 No, an element is not a pad.
30222 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30224 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30225 (gst_bin_get_state):
30226 If a child is removed from a bin while we remove the child from
30227 the bin and while we're retrieving its state, signal this to the
30228 get_state function so we abort the wait (instead of waiting for
30229 a timeout) and can immediately re-iterate over all other elements.
30231 2005-05-12 Wim Taymans <wim@fluendo.com>
30233 * gst/base/Makefile.am:
30234 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30235 (gst_basesrc_start):
30236 * gst/base/gstbasesrc.h:
30237 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30238 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30239 (gst_pushsrc_init), (gst_pushsrc_create):
30240 * gst/base/gstpushsrc.h:
30241 Added is_seekable to BaseSrc
30242 Added simple PushSrc.
30244 2005-05-11 Wim Taymans <wim@fluendo.com>
30246 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30247 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30248 (gst_element_link_pads), (gst_element_query_position),
30249 (gst_element_query_convert), (intersect_caps_func),
30250 (gst_pad_query_position), (gst_pad_query_convert):
30251 Fix refcounting in utils function.
30252 No point in trying to activate a pad when it's added, it could
30253 be added from the state change function and then we deadlock, the
30254 element has to decide what to do.
30256 2005-05-10 Andy Wingo <wingo@pobox.com>
30258 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30259 *all* the arguments.
30261 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30262 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30263 lock (according to the docs -- if this is wrong change the docs).
30265 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30266 flush messages in the NULL state.
30268 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30269 message immediately and return.
30270 (gst_bus_set_flushing): New function. If a bus is flushing, it
30271 flushes out any queued messages and immediately unrefs new
30272 messages. This is so when an element goes to NULL, all of the
30273 unhandled messages coming from it can be freed, and their
30274 references to the element dropped. In other words: message source
30275 ref considered harmful :P
30277 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30278 we're finished with it.
30280 * gst/gstmessage.c (gst_message_new_state_changed):
30282 2005-05-10 Wim Taymans <wim@fluendo.com>
30284 * gst/gstvalue.c: (gst_value_compare_flags),
30285 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30286 (_gst_value_initialize):
30287 Added flags serialize/deserialize/compare code.
30289 2005-05-09 Andy Wingo <wingo@pobox.com>
30291 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30292 Intersect the peer's caps with our caps.
30294 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30296 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30297 * gst/elements/gsttypefindelement.c: (find_peek):
30298 Handle negative offsets better. Fixes decodebin.
30300 2005-05-09 Wim Taymans <wim@fluendo.com>
30302 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30303 (gst_base_transform_event):
30304 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30305 Implement accept_caps.
30306 Fix silly lock/unlock mismatch in base class.
30308 2005-05-09 Wim Taymans <wim@fluendo.com>
30310 * docs/design/draft-push-pull.txt:
30311 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30312 * gst/elements/gstfilesink.c: (gst_filesink_init),
30313 (gst_filesink_query):
30314 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30315 (gst_type_find_handle_src_query), (find_element_get_length):
30316 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30317 * gst/gstelement.h:
30318 * gst/gstmessage.c:
30319 * gst/gstmessage.h:
30320 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30321 (gst_real_pad_get_caps_unlocked),
30322 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30323 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30324 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30325 (gst_real_pad_dispose), (gst_real_pad_finalize),
30326 (gst_pad_load_and_link), (gst_pad_save_thyself),
30327 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30328 (gst_pad_check_pull_range), (gst_pad_pull_range),
30329 (gst_pad_template_get_type), (gst_pad_template_class_init),
30330 (gst_pad_template_init), (gst_pad_template_dispose),
30331 (name_is_valid), (gst_static_pad_template_get),
30332 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30333 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30334 (gst_pad_get_element_private), (gst_pad_start_task),
30335 (gst_pad_pause_task), (gst_pad_stop_task),
30336 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30337 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30338 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30339 (gst_ghost_pad_new):
30341 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30342 (gst_query_new_position), (gst_query_set_position),
30343 (gst_query_parse_position), (gst_query_new_convert),
30344 (gst_query_set_convert), (gst_query_parse_convert):
30346 * gst/gstqueryutils.c:
30347 * gst/gstqueryutils.h:
30348 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30349 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30350 (gst_queue_handle_src_query):
30351 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30352 (gst_element_query_position), (gst_element_query_convert),
30353 (intersect_caps_func), (gst_pad_query_position),
30354 (gst_pad_query_convert):
30356 * tools/gst-inspect.c: (print_pad_info):
30357 * tools/gst-xmlinspect.c: (print_element_info):
30358 Remove old query functions. Ported old code.
30359 Added position/convert helper functions to gstutils.
30360 Reordered gstpad.c code, grouping relevant things.
30361 Remove gst_message_new(), always need to speficy a specific
30365 2005-05-09 Andy Wingo <wingo@pobox.com>
30367 * gst/gstiterator.h: Add some includes.
30369 * gst/gstqueryutils.h: Include more headers.
30372 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30373 some uses of gst_pad_query.
30375 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30376 NULL out parameters.
30377 (gst_query_new_position): New proc, allocates a new position
30380 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30381 gstqueryutils.c to the build.
30383 * gst/gststructure.c (gst_structure_set_valist): Implement with
30384 the generic G_VALUE_COLLECT.
30386 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30388 * gst/Makefile.am: (gst_headers):
30389 Added gstqueryutils.h to the list of headers to install, that was
30390 a 'nachty' move wingo :)
30392 2005-05-06 Andy Wingo <wingo@pobox.com>
30395 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30396 GstData, init a memchunk.
30397 (standard_definitions): Add a few query types, deprecate a few.
30398 (gst_query_get_type): New proc.
30399 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30401 (gst_query_new_application, gst_query_get_structure): New public
30404 * docs/design/draft-query.txt: Removed LINKS from the query types,
30405 because all the rest can be dispatched to other pads -- seemed
30406 ugly to have a query that couldn't be dispatched. internal_links
30407 is fine as a pad method.
30409 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30410 in gstpad.c, but maintain binary compatibility for the moment.
30411 Will fix before 0.9 is out.
30413 * gst/gstqueryutils.c:
30414 * gst/gstqueryutils.h: New files, implement 3 methods for each
30415 query type: parse_query, parse_response, and set. Probably need an
30418 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30420 * gst/elements/gstfilesink.c (gst_filesink_query2):
30421 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30422 query_types, and formats methods.
30424 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30425 (gst_pad_set_query2_function): New functions.
30426 (gst_real_pad_init): Set query2_default as the default query2
30427 function. Basically just dispatches to internally linked pads.
30431 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30432 without using the atomic operations. Only one thread can possibly
30433 be accessing the data at this point. Changed so as to avoid
30434 gst_atomic operations.
30436 2005-05-06 Wim Taymans <wim@fluendo.com>
30438 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30439 Also set caps if we use the fallback buffer alloc.
30441 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30443 * docs/gst/Makefile.am:
30444 * docs/gst/gstreamer-docs.sgml:
30445 * docs/gst/gstreamer-sections.txt:
30446 * docs/gst/tmpl/gstatomic.sgml:
30447 * docs/gst/tmpl/gstmemchunk.sgml:
30448 * testsuite/elements/struct_i386.h:
30449 * win32/GStreamer.vcproj:
30451 Purge GstAtomic stuff from docs and win32 makefiles as well
30453 2005-05-06 Wim Taymans <wim@fluendo.com>
30455 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30456 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30457 * gst/gstpad.c: (gst_pad_peer_get_caps):
30458 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30459 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30460 (gst_queue_src_activate), (gst_queue_change_state):
30462 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30463 (intersect_caps_func):
30464 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30465 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30466 Some fixes for the peer_get_caps() change.
30468 2005-05-06 Wim Taymans <wim@fluendo.com>
30470 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30471 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30472 (gst_basesink_activate):
30473 Actually do something with error codes returned from the push
30476 2005-05-06 Wim Taymans <wim@fluendo.com>
30478 * docs/design/part-element-sink.txt:
30479 * docs/design/part-element-source.txt:
30480 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30481 (gst_basesink_event), (gst_basesink_activate):
30482 * gst/base/gstbasesink.h:
30483 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30484 (gst_basesrc_activate):
30485 * gst/base/gstbasesrc.h:
30486 * gst/gstelement.c: (gst_element_pads_activate):
30487 Some more documentation.
30488 Fixed scheduling decision in _pads_activate().
30490 2005-05-05 Andy Wingo <wingo@pobox.com>
30492 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30495 2005-05-05 Wim Taymans <wim@fluendo.com>
30497 * gst/base/Makefile.am:
30498 * gst/base/gstbasesink.h:
30499 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30500 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30501 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30502 (gst_collectpads_class_init), (gst_collectpads_init),
30503 (gst_collectpads_finalize), (gst_collectpads_new),
30504 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30505 (find_pad), (gst_collectpads_remove_pad),
30506 (gst_collectpads_is_active), (gst_collectpads_collect),
30507 (gst_collectpads_collect_range), (gst_collectpads_start),
30508 (gst_collectpads_stop), (gst_collectpads_peek),
30509 (gst_collectpads_pop), (gst_collectpads_available),
30510 (gst_collectpads_read), (gst_collectpads_flush),
30511 (gst_collectpads_chain):
30512 * gst/base/gstcollectpads.h:
30513 * gst/elements/Makefile.am:
30514 * gst/elements/gstelements.c:
30515 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30516 (gst_fakesink_get_times), (gst_fakesink_event),
30517 (gst_fakesink_preroll), (gst_fakesink_render):
30518 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30519 (gst_filesink_init), (gst_filesink_set_location),
30520 (gst_filesink_open_file), (gst_filesink_close_file),
30521 (gst_filesink_pad_query), (gst_filesink_event),
30522 (gst_filesink_render), (gst_filesink_change_state):
30523 * gst/elements/gstfilesink.h:
30524 Added object to help in making collect pad based elements.
30526 Make event function in sink baseclass return gboolean.
30528 2005-05-05 Wim Taymans <wim@fluendo.com>
30530 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30531 (gst_bin_get_by_name):
30533 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30534 (gst_clock_finalize):
30535 * gst/gstdata.c: (gst_data_replace):
30537 * gst/gstelement.c: (gst_element_request_pad),
30538 (gst_element_pads_activate):
30539 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30540 (gst_object_unref):
30541 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30542 (gst_pad_set_checkgetrange_function),
30543 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30544 (gst_pad_check_pull_range), (gst_pad_pull_range),
30545 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30546 (gst_pad_pause_task), (gst_pad_stop_task):
30547 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30548 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30549 Fix name lookup in GstBin.
30550 Added _data_replace() function and _buffer_replace()
30551 Use finalize method to clean up clock.
30552 Fix refcounting on request pads.
30553 Fix pad schedule mode error.
30554 Some more object refcounting debug info,
30557 2005-05-04 Andy Wingo <wingo@pobox.com>
30559 * check/Makefile.am:
30560 * docs/gst/tmpl/gstatomic.sgml:
30561 * docs/gst/tmpl/gstplugin.sgml:
30562 * gst/base/gstbasesink.c: (gst_basesink_activate):
30563 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30564 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30565 (gst_basesrc_query), (gst_basesrc_set_property),
30566 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30567 (gst_basesrc_activate):
30568 * gst/base/gstbasesrc.h:
30569 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30570 (gst_base_transform_src_activate):
30571 * gst/elements/gstelements.c:
30572 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30573 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30574 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30575 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30576 (gst_type_find_element_checkgetrange),
30577 (gst_type_find_element_activate):
30578 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30579 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30580 (gst_caps_load_thyself):
30581 * gst/gstelement.c: (gst_element_pads_activate),
30582 (gst_element_save_thyself), (gst_element_restore_thyself):
30583 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30584 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30586 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30587 (gst_xml_parse_file), (gst_xml_parse_memory),
30588 (gst_xml_get_element), (gst_xml_make_element):
30589 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30590 (_file_index_id_save_xml), (gst_file_index_commit):
30591 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30592 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30594 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30595 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30596 * tools/gst-complete.c: (main):
30597 * tools/gst-compprep.c: (main):
30598 * tools/gst-inspect.c: (print_element_properties_info):
30599 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30600 * tools/gst-xmlinspect.c: (print_element_properties):
30603 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30605 * gst/gstplugin.c: (gst_plugin_check_module),
30606 (gst_plugin_check_file), (gst_plugin_load_file):
30607 apply patch from #172526 to make register work on MacOSX
30609 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30611 * docs/gst/tmpl/gstconfig.sgml:
30612 * gst/gstconfig.h.in:
30613 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30614 * testsuite/debug/printf_extension.c: (main):
30615 Do not use GST_PTR_FORMAT on pointers to types with
30616 sizeof < sizeof(gpointer). Fixes test on 64-bit
30617 * testsuite/elements/property.h:
30618 use correct printf format
30620 2005-05-02 Wim Taymans <wim@fluendo.com>
30622 * docs/design/draft-push-pull.txt:
30623 * docs/design/draft-query.txt:
30624 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30625 (gst_basesrc_start):
30626 Added draft for new query API.
30627 Added draft for better selecting scheduling methods.
30628 Make basesrc ignore length if the subclass does not support
30631 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30634 possible fixes for automake-1.5 - _LIBADD is reserved
30636 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30638 * docs/faq/Makefile.am:
30639 * docs/manual/Makefile.am:
30640 * docs/manuals.mak:
30641 * docs/pwg/Makefile.am:
30643 possible fixes for automake-1.5
30645 2005-04-28 Wim Taymans <wim@fluendo.com>
30647 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30648 (gst_basesink_pad_getcaps), (gst_basesink_init),
30649 (gst_basesink_do_sync):
30650 * gst/gstclock.c: (gst_clock_entry_new):
30651 * gst/gstevent.c: (gst_event_discont_get_value):
30652 * gst/gstpipeline.c: (pipeline_bus_handler),
30653 (gst_pipeline_change_state):
30654 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30655 Better debugging of clocking info.
30656 Allow NULL values when getting discont values.
30658 2005-04-27 Wim Taymans <wim@fluendo.com>
30660 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30661 * check/gst/gstpad.c: (gst_pad_suite):
30662 Increase timeout for checks.
30664 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30666 * check/Makefile.am:
30667 fix the broken rule for cleanup. Apparently this rule is
30668 only needed on FC2, so maybe this warrants further autotool
30671 2005-04-26 Wim Taymans <wim@fluendo.com>
30673 * gst/gsttrashstack.h:
30674 Ooohh. a nasty one! After having a failed pop() from the stack,
30675 it's possible that the stack is empty. In that case, don't
30676 follow the NULL pointer.
30678 2005-04-25 Wim Taymans <wim@fluendo.com>
30680 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30681 (gst_pad_set_checkgetrange_function),
30682 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30683 (gst_pad_check_pull_range), (gst_pad_pull_range),
30684 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30685 (gst_pad_pause_task), (gst_pad_stop_task):
30686 * gst/gstplugin.c: (gst_plugin_load):
30688 Remove gst_library_load as it does more harm than good with
30689 the new g_module flags.
30690 Revert bogus caps template check in pad linking, pad caps
30691 are important when linking not the template, which is more
30692 general than the current caps.
30694 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30696 * gst/autoplug/.cvsignore:
30697 * gst/autoplug/Makefile.am:
30698 * gst/autoplug/gstsearchfuncs.c:
30699 * gst/autoplug/gstsearchfuncs.h:
30700 * gst/autoplug/gstspider.c:
30701 * gst/autoplug/gstspider.h:
30702 * gst/autoplug/gstspideridentity.c:
30703 * gst/autoplug/gstspideridentity.h:
30704 * gst/autoplug/spidertest.c:
30707 2005-04-25 Wim Taymans <wim@fluendo.com>
30709 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30710 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30711 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30712 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30714 Added stubs for unimplemented functions.
30716 2005-04-24 David Schleef <ds@schleef.org>
30718 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30721 2005-04-24 David Schleef <ds@schleef.org>
30723 Convert everything from GstAtomicInt to g_atomic_int_*, and
30728 * gst/gstatomic_impl.h:
30736 * gst/gstdata_private.h:
30740 * gst/gstmessage.c:
30743 * gst/gststructure.c:
30744 * gst/gststructure.h:
30745 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30748 2005-04-24 David Schleef <ds@schleef.org>
30750 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30751 make the regressions tests work. Remove some code that is no
30753 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30754 Disable warning for pads without templates.
30756 2005-04-24 David Schleef <ds@schleef.org>
30758 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30759 functions that handle filtered links.
30760 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30762 * gst/gstutils.c: Fix/remove utility functions that handle
30765 * gst/gstvalue.c: Add serialization/deserialization of caps
30766 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30767 requires fixing so that the filter caps notation creates
30768 a capsfilter element and sets the filter_caps property. I
30769 think everyone probably wants to keep the shorthand notation.
30770 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30771 * docs/gst/tmpl/gstpad.sgml:
30773 * gst/elements/gstelements.c: Register capsfilter element.
30774 * gst/Makefile.am: fix spacing
30775 * docs/random/ds/0.9-suggested-changes: random
30777 2005-04-23 David Schleef <ds@schleef.org>
30779 * gst/elements/Makefile.am:
30780 * gst/elements/gstcapsfilter.c: New element that acts like an
30781 identity, but filters caps. Will eventually replace filtered
30782 caps in pad linking.
30783 * gst/gstutils.c: (gst_element_create_all_pads): New function
30784 to create all the ALWAYS pads that are registered with an
30785 element class. This functionality should eventually be
30786 merged in with GstElement initialization.
30788 * testsuite/trigger/README: part of trigger test code that should
30789 have been checked in a long time ago.
30791 2005-04-23 David Schleef <ds@schleef.org>
30793 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30794 needed with new versions of libtool (nobody will confirm this),
30795 and hard to carry around.
30796 * gst/autoplug/Makefile.am:
30797 * gst/base/Makefile.am:
30798 * gst/elements/Makefile.am:
30799 * gst/indexers/Makefile.am:
30800 * gst/schedulers/Makefile.am:
30801 * libs/gst/bytestream/Makefile.am:
30802 * libs/gst/control/Makefile.am:
30803 * libs/gst/dataprotocol/Makefile.am:
30804 * libs/gst/getbits/Makefile.am:
30806 2005-04-21 Wim Taymans <wim@fluendo.com>
30808 * docs/design/draft-push-pull.txt:
30809 * docs/design/part-MT-refcounting.txt:
30810 * docs/design/part-TODO.txt:
30811 * docs/design/part-caps.txt:
30812 * docs/design/part-events.txt:
30813 * docs/design/part-gstbus.txt:
30814 * docs/design/part-gstpipeline.txt:
30815 * docs/design/part-messages.txt:
30816 * docs/design/part-push-pull.txt:
30817 * docs/design/part-query.txt:
30820 2005-04-21 Wim Taymans <wim@fluendo.com>
30822 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30823 (gst_message_new), (gst_message_new_error),
30824 (gst_message_new_warning), (gst_message_new_tag),
30825 (gst_message_new_state_changed), (gst_message_new_application),
30826 (gst_message_get_structure):
30827 * gst/gstmessage.h:
30828 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30829 (gst_structure_copy_conditional):
30830 Use parent refcount in GstMessage to ensure GstStructure
30832 Cleaned up headers a bit.
30835 2005-04-20 Wim Taymans <wim@fluendo.com>
30837 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30838 (gst_basesink_pad_getcaps), (gst_basesink_init),
30839 (gst_basesink_chain_unlocked):
30840 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30841 (gst_type_find_helper):
30842 * gst/elements/gsttypefindelement.c:
30843 (gst_type_find_element_have_type), (gst_type_find_element_init),
30844 (stop_typefinding), (gst_type_find_element_handle_event),
30845 (find_suggest), (gst_type_find_element_chain),
30846 (gst_type_find_element_checkgetrange),
30847 (gst_type_find_element_getrange), (do_typefind),
30848 (gst_type_find_element_activate):
30849 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30850 (gst_buffer_default_free), (gst_buffer_default_copy),
30851 (gst_buffer_set_caps):
30852 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30853 (gst_caps_replace):
30854 * gst/gstmessage.c: (gst_message_new),
30855 (gst_message_new_state_changed):
30856 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30857 (gst_pad_set_checkgetrange_function),
30858 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30859 (gst_pad_set_caps), (gst_pad_check_pull_range),
30860 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30862 * gst/gsttypefind.c: (gst_type_find_register):
30863 Make gst_caps_replace() work like other _replace() functions.
30864 Use _caps_replace() where possible.
30865 Make sure _message_new() initialises its field.
30866 Add gst_static_pad_template_get_caps()
30869 2005-04-18 Andy Wingo <wingo@pobox.com>
30871 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30872 on the peer, not the pad. I think that was a typo. Pass an extra
30873 arg to see if random access is possible. Activate the pads as
30874 PULL_RANGE if possible.
30876 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30878 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30879 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30882 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30884 * docs/faq/using.xml:
30885 Add note on gstreamer-properties (#154996).
30887 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30889 * docs/random/bbb/optional-properties:
30890 Some analysis on optional properties.
30892 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30894 * docs/gst/tmpl/gstelementfactory.sgml:
30895 * gst/gstelement.h:
30896 * gst/gstelementfactory.c: (gst_element_factory_init),
30897 (gst_element_factory_cleanup), (gst_element_register),
30898 (__gst_element_factory_add_static_pad_template),
30899 (gst_element_factory_get_static_pad_templates),
30900 (gst_element_factory_can_src_caps),
30901 (gst_element_factory_can_sink_caps):
30902 * gst/registries/Makefile.am:
30903 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30904 (gst_xml_registry_class_init), (gst_xml_registry_init),
30905 (gst_xml_registry_new), (gst_xml_registry_set_property),
30906 (gst_xml_registry_get_property), (get_time), (make_dir),
30907 (gst_xml_registry_get_perms_func),
30908 (plugin_times_older_than_recurse), (plugin_times_older_than),
30909 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30910 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30911 (add_to_char_array), (read_string), (read_uint), (read_enum),
30912 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30913 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30914 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30915 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30916 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30917 (gst_xml_registry_rebuild):
30918 * gst/registries/gstlibxmlregistry.h:
30919 * tools/gst-compprep.c: (main):
30920 * tools/gst-inspect.c: (print_pad_templates_info):
30921 * tools/gst-xmlinspect.c: (print_element_info):
30922 Use libxml2 for registry parsing, use staticpadtemplates in
30923 elementfactories. Makes gst_init() +/- 10x faster.
30925 2005-04-12 Wim Taymans <wim@fluendo.com>
30927 * gst/base/Makefile.am:
30928 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30929 (gst_basesink_pad_getcaps), (gst_basesink_init),
30930 (gst_basesink_event), (gst_basesink_change_state):
30931 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30932 (gst_basesrc_init), (gst_basesrc_query),
30933 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30934 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30935 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30936 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30937 (gst_basesrc_stop), (gst_basesrc_activate),
30938 (gst_basesrc_change_state):
30939 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30940 (helper_find_suggest), (gst_type_find_helper):
30941 * gst/base/gsttypefindhelper.h:
30942 * gst/elements/Makefile.am:
30943 * gst/elements/gstelements.c:
30944 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30945 (gst_fakesink_get_times), (gst_fakesink_event),
30946 (gst_fakesink_preroll), (gst_fakesink_render):
30947 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30948 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30949 (gst_fakesrc_get_property), (gst_fakesrc_create),
30950 (gst_fakesrc_start), (gst_fakesrc_stop):
30951 * gst/elements/gstfakesrc.h:
30952 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30953 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30954 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30955 (gst_filesrc_create_read), (gst_filesrc_create),
30956 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30957 (gst_filesrc_start):
30958 * gst/elements/gsttypefindelement.c:
30959 (gst_type_find_element_have_type), (gst_type_find_element_init),
30960 (start_typefinding), (stop_typefinding), (push_buffer_store),
30961 (gst_type_find_element_handle_event),
30962 (gst_type_find_element_chain),
30963 (gst_type_find_element_checkgetrange),
30964 (gst_type_find_element_getrange), (do_typefind),
30965 (gst_type_find_element_activate),
30966 (gst_type_find_element_change_state):
30967 * gst/elements/gsttypefindelement.h:
30968 * gst/gstpipeline.c: (pipeline_bus_handler):
30969 Added typefind helper.
30970 Small preroll fix in the base sink.
30971 Disable typefind code in basesrc.
30972 Crude port of typefindelement.
30976 2005-04-11 Wim Taymans <wim@fluendo.com>
30978 * check/gst/gstbus.c: (gstbus_suite):
30979 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30980 * check/gstcheck.h:
30981 Fix up the timeout so that the test does not fail.
30983 2005-04-06 Wim Taymans <wim@fluendo.com>
30986 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30987 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30988 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30989 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30990 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30991 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30992 (gst_basesrc_stop), (gst_basesrc_activate),
30993 (gst_basesrc_change_state), (basesrc_find_peek),
30994 (basesrc_find_suggest), (gst_basesrc_type_find):
30995 * gst/base/gstbasesrc.h:
30996 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30997 (gst_filesrc_class_init), (gst_filesrc_init),
30998 (gst_filesrc_finalize), (gst_filesrc_set_location),
30999 (gst_filesrc_set_property), (gst_filesrc_get_property),
31000 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31001 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31002 (gst_filesrc_create_read), (gst_filesrc_create),
31003 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31004 * gst/elements/gstfilesrc.h:
31005 * gst/gstelement.c: (gst_element_get_state_func),
31006 (gst_element_lost_state), (gst_element_pads_activate):
31007 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31008 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31009 (gst_pad_pull_range):
31011 More work on the generic source base class, implement seeking,
31013 Make filesrc extend the base source class.
31014 Added gst_pad_set_checkgetrange_function to GstPad.
31016 2005-04-06 Andy Wingo <wingo@pobox.com>
31018 * pkgconfig/gstreamer-base.pc.in:
31019 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31021 * pkgconfig/Makefile.am:
31022 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31024 2005-04-04 Wim Taymans <wim@fluendo.com>
31026 * gst/base/Makefile.am:
31028 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31029 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31030 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31031 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31032 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31033 (gst_basesrc_base_init), (gst_basesrc_class_init),
31034 (gst_basesrc_init), (gst_basesrc_get_formats),
31035 (gst_basesrc_get_query_types), (gst_basesrc_query),
31036 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31037 (gst_basesrc_set_property), (gst_basesrc_get_property),
31038 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31039 (gst_basesrc_loop), (gst_basesrc_activate),
31040 (gst_basesrc_change_state):
31041 * gst/base/gstbasesrc.h:
31042 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31043 (gst_fakesrc_class_init), (gst_fakesrc_init),
31044 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31045 (gst_fakesrc_get_property), (gst_fakesrc_create):
31046 * gst/elements/gstfakesrc.h:
31047 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31048 (gst_filesrc_open_file), (gst_filesrc_loop),
31049 (gst_filesrc_activate), (filesrc_find_peek),
31050 (gst_filesrc_type_find):
31051 Made base source class, make fakesrc extend it.
31052 Add comments to basesink class.
31053 Some filesrc cleanup.
31055 2005-03-31 David Schleef <ds@schleef.org>
31057 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31058 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31059 expected to link against libgstreamer.
31060 * gst/base/Makefile.am: link against libgstreamer
31061 * gst/elements/Makefile.am: same
31063 2005-03-31 Andy Wingo <wingo@pobox.com>
31065 * tests/instantiate/Makefile.am:
31066 * tests/instantiate/caps.c: Add test to test speed of caps copy
31069 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31070 GMemChunk to be fair.
31072 * gst/gsttrashstack.h: Remove warning about using the fallback
31073 trash stack implementation, it's still faster than malloc.
31075 2005-03-30 Andy Wingo <wingo@pobox.com>
31077 * tests/complexity.c: Add a copyright.
31079 2005-03-31 Wim Taymans <wim@fluendo.com>
31081 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31082 (gst_base_transform_class_init), (gst_base_transform_init),
31083 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31084 (gst_base_transform_get_property),
31085 (gst_base_transform_sink_activate),
31086 (gst_base_transform_src_activate),
31087 (gst_base_transform_change_state):
31088 * gst/base/gstbasetransform.h:
31089 * gst/elements/gstidentity.c: (gst_identity_class_init),
31090 (gst_identity_event), (gst_identity_check_perfect),
31091 (gst_identity_transform), (gst_identity_start),
31092 (gst_identity_stop):
31093 Added start/stop methods to transform base class so subclasses
31094 don't need to deal with state changes even.
31096 2005-03-31 Wim Taymans <wim@fluendo.com>
31098 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31099 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31101 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31102 (gst_pad_pull_range):
31103 Added rate to the discont event to prepare for variable speed
31104 and reverse playback.
31106 2005-03-29 David Schleef <ds@schleef.org>
31109 * testsuite/trigger/Makefile.am:
31110 * testsuite/trigger/trigger.c: A little example program to show
31111 how trigger-based elements can work.
31113 2005-03-29 Wim Taymans <wim@fluendo.com>
31115 * gst/base/Makefile.am:
31117 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31118 (gst_basesink_base_init), (gst_basesink_class_init),
31119 (gst_basesink_pad_getcaps), (gst_basesink_init),
31120 (gst_basesink_activate), (gst_basesink_change_state):
31121 * gst/base/gstbasesink.h:
31122 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31123 (gst_base_transform_base_init), (gst_base_transform_finalize),
31124 (gst_base_transform_class_init), (gst_base_transform_init),
31125 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31126 (gst_base_transform_event), (gst_base_transform_getrange),
31127 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31128 (gst_base_transform_set_property),
31129 (gst_base_transform_get_property),
31130 (gst_base_transform_sink_activate),
31131 (gst_base_transform_src_activate),
31132 (gst_base_transform_change_state):
31133 * gst/base/gstbasetransform.h:
31134 * gst/elements/gstidentity.c: (gst_identity_finalize),
31135 (gst_identity_class_init), (gst_identity_init),
31136 (gst_identity_event), (gst_identity_check_perfect),
31137 (gst_identity_transform), (gst_identity_set_property),
31138 (gst_identity_get_property), (gst_identity_change_state):
31139 * gst/elements/gstidentity.h:
31140 * gst/gstelement.c: (gst_element_get_state_func),
31141 (gst_element_lost_state), (gst_element_pads_activate):
31142 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31143 (gst_pad_check_pull_range), (gst_pad_pull_range):
31145 Simplify pad activation.
31146 Added function to check if pull_range can be performed.
31147 Error out when pulling inactive or flushing pads.
31148 Removed const from refcounted types as it does not make sense.
31149 Simplify pad templates in basesink
31150 Added base class for simple 1-to-1 transforms.
31151 Make identity subclass the base transform.
31153 2005-03-29 Andy Wingo <wingo@pobox.com>
31155 * docs/libs/gstreamer-libs-overrides.txt:
31156 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31157 really don't understand what's going on, but like whatever. I want
31160 * docs/gst/Makefile.am:
31161 * docs/libs/Makefile.am: Dist the overrides files.
31163 * check/Makefile.am (clean-local): Remove .libs directories.
31165 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31166 elements to EXTRA_DIST, so po/ files are happy.
31168 * po/POTFILES.in: Er, remove it here.
31170 * po/POTFILES: Remove gstspider.c.
31172 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31174 * docs/libs/gstreamer-libs-docs.sgml:
31175 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31178 * tests/complexity.c (main): Set the length of the preroll queue
31179 on the sinks to prevent a lockup.
31181 * libs/gst/dataprotocol/Makefile.am:
31182 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31183 the same as the one in check/gst-libs/gdp.c.
31185 * po/, docs/gst/: Commit automatic changes to docs and po files.
31187 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31188 the versioned libgstbase.
31190 * check/Makefile.am: Depend on an unversioned gst-register, seems
31191 to make autoconf happier.
31193 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31195 2005-03-28 Wim Taymans <wim@fluendo.com>
31198 * docs/design/part-gstelement.txt:
31199 * docs/design/part-negotiation.txt:
31200 * docs/design/part-preroll.txt:
31201 * docs/design/part-scheduling.txt:
31202 * docs/design/part-states.txt:
31204 * gst/base/Makefile.am:
31206 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31207 (gst_basesink_base_init), (gst_basesink_class_init),
31208 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31209 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31210 (gst_basesink_set_pad_functions),
31211 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31212 (gst_basesink_set_property), (gst_basesink_get_property),
31213 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31214 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31215 (gst_basesink_preroll_queue_push),
31216 (gst_basesink_preroll_queue_empty),
31217 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31218 (gst_basesink_event), (gst_basesink_get_times),
31219 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31220 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31221 (gst_basesink_loop), (gst_basesink_activate),
31222 (gst_basesink_change_state):
31223 * gst/base/gstbasesink.h:
31224 * gst/elements/Makefile.am:
31225 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31226 (gst_fakesink_class_init), (gst_fakesink_init),
31227 (gst_fakesink_set_property), (gst_fakesink_get_property),
31228 (gst_fakesink_get_times), (gst_fakesink_event),
31229 (gst_fakesink_preroll), (gst_fakesink_render),
31230 (gst_fakesink_change_state):
31231 * gst/elements/gstfakesink.h:
31232 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31233 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31234 * gst/gstelement.c: (gst_element_add_pad),
31235 (gst_element_get_state_func), (gst_element_abort_state),
31236 (gst_element_commit_state), (gst_element_lost_state),
31237 (gst_element_set_state), (gst_element_pads_activate):
31238 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31239 * gst/gstpipeline.c: (gst_pipeline_send_event),
31240 (gst_pipeline_change_state):
31241 Added state change code.
31242 Added/updated docs.
31243 Added sink base class, make fakesink extend the base class.
31244 Small cleanups in GstPipeline.
31246 2005-03-26 David Schleef <ds@schleef.org>
31248 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31249 is broken and should be implemented in a different library.
31250 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31251 * gst/gst.h: remove gstcpu.h
31252 * gst/gstcpu.c: remove
31253 * gst/gstcpu.h: remove
31254 * gst/Makefile.am.future: Remove this file. It's ancient.
31256 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31258 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31259 (gst_bin_send_event):
31260 Add default event/set_manager handlers. The set_manager handler
31261 takes care that the manager is distributed over kids that were
31262 already in the bin before the manager was set. The event handler
31263 is a utility virtual function that sends the event over all sinks,
31264 so that gst_element_send_event (bin, event); has the expected
31266 * gst/gstpad.c: (gst_pad_event_default):
31267 Re-install default event handling for discontinuities, so that
31268 seeking works without requiring hacks in applications or extra
31270 * gst/gstpipeline.c: (gst_pipeline_class_init),
31271 (gst_pipeline_send_event):
31272 Half hack, half utility: set a pipeline to PAUSED for seek events,
31273 since that is the only way we can guarantee a/v sync. Means that
31274 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31275 and it "just works".
31277 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31279 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31280 Lock/unlock mismatch.
31282 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31284 * docs/faq/gst-uninstalled:
31285 add gst-plugins-base
31286 * docs/gst/Makefile.am:
31287 don't error out until docs are fixed
31288 * docs/gst/gstreamer.types:
31291 2005-03-22 Wim Taymans <wim@fluendo.com>
31293 * check/Makefile.am:
31294 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31295 * gst/gststructure.c: (gst_structure_set_valist),
31296 (gst_structure_copy_conditional):
31297 Activated more tests.
31298 Added message test.
31299 Added G_TYPE_POINTER to GstStructure.
31302 2005-03-22 Wim Taymans <wim@fluendo.com>
31304 * docs/design/part-TODO.txt:
31305 * docs/design/part-events.txt:
31306 * docs/design/part-gstbin.txt:
31307 * docs/design/part-gstbus.txt:
31308 * docs/design/part-gstpipeline.txt:
31309 * docs/design/part-messages.txt:
31311 * gst/gstmessage.c:
31314 2005-03-21 Wim Taymans <wim@fluendo.com>
31316 * gst/gstbus.c: (gst_bus_post):
31317 Fix copy-and-paste error.
31319 2005-03-21 Wim Taymans <wim@fluendo.com>
31321 * check/Makefile.am:
31323 * gst/elements/Makefile.am:
31324 * gst/elements/gstelements.c:
31325 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31326 (gst_fakesink_event), (gst_fakesink_chain):
31327 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31328 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31329 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31330 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31331 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31332 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31333 (gst_fakesrc_loop), (gst_fakesrc_activate),
31334 (gst_fakesrc_change_state):
31335 * gst/elements/gstfakesrc.h:
31336 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31337 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31338 (gst_filesrc_open_file), (gst_filesrc_loop),
31339 (gst_filesrc_activate), (gst_filesrc_change_state),
31340 (filesrc_find_peek), (filesrc_find_suggest),
31341 (gst_filesrc_type_find):
31342 * gst/elements/gstidentity.c: (gst_identity_finalize),
31343 (gst_identity_class_init), (gst_identity_init),
31344 (gst_identity_proxy_getcaps), (identity_queue_push),
31345 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31346 (gst_identity_getrange), (gst_identity_chain),
31347 (gst_identity_sink_loop), (gst_identity_src_loop),
31348 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31349 (gst_identity_set_property), (gst_identity_get_property),
31350 (gst_identity_change_state):
31351 * gst/elements/gstidentity.h:
31352 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31353 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31354 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31355 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31356 (gst_tee_sink_activate):
31357 * gst/elements/gsttee.h:
31358 * gst/gst.c: (gst_register_core_elements), (init_post):
31360 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31361 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31362 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31363 (gst_bin_change_state):
31365 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31366 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31367 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31368 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31369 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31370 (bus_watch_callback), (bus_watch_destroy),
31371 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31372 (poll_timeout), (gst_bus_poll):
31376 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31377 (gst_element_post_message), (gst_element_message_full),
31378 (gst_element_get_state_func), (gst_element_get_state),
31379 (gst_element_abort_state), (gst_element_commit_state),
31380 (gst_element_lost_state), (gst_element_set_state),
31381 (gst_element_pads_activate), (gst_element_change_state),
31382 (gst_element_dispose), (gst_element_set_manager_func),
31383 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31384 (gst_element_set_manager), (gst_element_get_manager),
31385 (gst_element_set_bus), (gst_element_get_bus),
31386 (gst_element_set_scheduler), (gst_element_get_scheduler):
31387 * gst/gstelement.h:
31388 * gst/gstevent.c: (gst_event_new_segment_seek),
31389 (gst_event_new_flush):
31391 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31392 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31393 (gst_message_new_eos), (gst_message_new_error),
31394 (gst_message_new_warning), (gst_message_new_tag),
31395 (gst_message_new_state_changed), (gst_message_new_application),
31396 (gst_message_get_structure), (gst_message_parse_tag),
31397 (gst_message_parse_state_changed), (gst_message_parse_error),
31398 (gst_message_parse_warning):
31399 * gst/gstmessage.h:
31400 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31401 (gst_real_pad_set_property), (gst_pad_set_active),
31402 (gst_pad_is_active), (gst_pad_set_blocked_async),
31403 (gst_pad_set_blocked), (gst_pad_is_blocked),
31404 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31405 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31406 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31407 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31408 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31409 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31410 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31411 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31412 (gst_pad_set_caps), (gst_pad_configure_sink),
31413 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31414 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31415 (gst_real_pad_dispose), (gst_real_pad_finalize),
31416 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31417 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31418 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31420 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31421 (pipeline_bus_handler), (gst_pipeline_change_state),
31422 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31423 * gst/gstpipeline.h:
31425 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31426 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31427 (gst_queue_link_src), (gst_queue_bufferalloc),
31428 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31429 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31430 (gst_queue_loop), (gst_queue_handle_src_event),
31431 (gst_queue_handle_src_query), (gst_queue_src_activate),
31432 (gst_queue_change_state):
31434 * gst/gstscheduler.c: (gst_scheduler_init),
31435 (gst_scheduler_dispose), (gst_scheduler_create_task),
31436 (gst_scheduler_factory_create):
31437 * gst/gstscheduler.h:
31438 * gst/gststructure.c: (gst_structure_get_type),
31439 (gst_structure_copy_conditional):
31440 * gst/gststructure.h:
31441 * gst/gsttaginterface.h:
31442 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31443 (gst_task_init), (gst_task_dispose), (gst_task_create),
31444 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31450 * gst/schedulers/Makefile.am:
31451 * gst/schedulers/cothreads_compat.h:
31452 * gst/schedulers/entryscheduler.c:
31453 * gst/schedulers/faircothreads.c:
31454 * gst/schedulers/faircothreads.h:
31455 * gst/schedulers/fairscheduler.c:
31456 * gst/schedulers/gstbasicscheduler.c:
31457 * gst/schedulers/gstoptimalscheduler.c:
31458 * gst/schedulers/gthread-cothreads.h:
31459 * gst/schedulers/threadscheduler.c:
31460 (gst_thread_scheduler_task_get_type),
31461 (gst_thread_scheduler_task_class_init),
31462 (gst_thread_scheduler_task_init),
31463 (gst_thread_scheduler_task_start),
31464 (gst_thread_scheduler_task_stop),
31465 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31466 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31467 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31468 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31470 * libs/gst/Makefile.am:
31471 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31472 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31473 (gst_file_pad_parent_set):
31474 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31475 (gst_dp_event_from_packet):
31476 * tests/complexity.c: (main):
31477 * tests/mass_elements.c: (main):
31478 * testsuite/states/locked.c: (message_received), (main):
31479 * testsuite/states/parent.c: (main):
31480 * tools/gst-inspect.c: (print_element_flag_info),
31481 (print_implementation_info), (print_pad_info):
31482 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31484 * tools/gst-md5sum.c: (event_loop), (main):
31485 * tools/gst-typefind.c: (main):
31486 * tools/gst-xmlinspect.c: (print_element_info):
31488 Added GstBus for mainloop integration.
31489 Added GstMessage for sending notifications on the bus.
31490 Added GstTask as an abstraction for pipeline entry points.
31492 Removed Schedulers.
31493 Simplified GstQueue for multithreaded core.
31494 Made _link threadsafe, removed old capsnego.
31495 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31496 Added pad blocking functions.
31497 Reworked scheduling functions in GstPad to prepare for
31498 scheduling updates soon.
31499 Moved events out of data stream.
31500 Simplified GstEvent types.
31501 Added return values to push/pull.
31502 Removed clocking from GstElement.
31503 Added prototypes for state change function for next merge.
31504 Removed iterate from bins and state change management.
31505 Fixed some elements, disabled others for now.
31506 Fixed -inspect and -launch.
31507 Added check for GstBus.
31509 2005-03-10 Wim Taymans <wim@fluendo.com>
31511 * docs/design/part-MT-refcounting.txt:
31512 * docs/design/part-clocks.txt:
31513 * docs/design/part-gstelement.txt:
31514 * docs/design/part-gstobject.txt:
31515 * docs/design/part-standards.txt:
31516 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31517 (gst_bin_remove_func), (gst_bin_remove):
31521 * testsuite/clock/clock1.c: (main):
31522 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31524 * testsuite/dlopen/loadgst.c: (do_test):
31525 * testsuite/refcounting/bin.c: (add_remove_test1),
31526 (add_remove_test2), (main):
31527 * testsuite/refcounting/element.c: (main):
31528 * testsuite/refcounting/element_pad.c: (main):
31529 * testsuite/refcounting/pad.c: (main):
31530 * tools/gst-launch.c: (sigint_handler_sighandler):
31531 * tools/gst-typefind.c: (main):
31533 Added doc about clock.
31534 removed gst_bin_iterate_recurse_up(), marked methods
31536 Fix more testsuites.
31538 2005-03-09 Wim Taymans <wim@fluendo.com>
31540 * gst/gstpad.c: (gst_pad_get_direction),
31541 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31542 (gst_pad_collect_valist):
31543 * testsuite/bins/interface.c: (main):
31544 * testsuite/caps/audioscale.c: (test_caps):
31545 * testsuite/caps/caps.c: (test1), (test2), (test3):
31546 * testsuite/caps/deserialize.c: (main):
31547 * testsuite/caps/enumcaps.c: (main):
31548 * testsuite/caps/filtercaps.c: (main):
31549 * testsuite/caps/intersect2.c: (main):
31550 * testsuite/caps/random.c: (main):
31551 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31552 * testsuite/caps/sets.c: (check_caps):
31553 * testsuite/caps/simplify.c: (check_caps), (main):
31554 * testsuite/caps/subtract.c: (check_caps):
31555 Fix _pad_get_direction wrt ghostpads.
31556 Fix caps testsuite.
31558 2005-03-09 Wim Taymans <wim@fluendo.com>
31560 * check/Makefile.am:
31561 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31562 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31563 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31564 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31565 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31566 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31567 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31568 (bin_element_is_sink), (gst_bin_iterate_sinks),
31569 (gst_bin_iterate_all_by_interface):
31571 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31572 (gst_element_change_state), (gst_element_dispose),
31573 (gst_element_finalize), (gst_element_set_loop_function):
31574 * gst/gstelement.h:
31575 * gst/gstiterator.c: (find_custom_fold_func):
31576 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31577 (gst_pad_collectv), (gst_pad_collect_valist),
31578 (gst_pad_template_new):
31579 * gst/gstpipeline.c: (gst_pipeline_class_init),
31580 (gst_pipeline_dispose), (gst_pipeline_set_property),
31581 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31582 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31583 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31585 * gst/schedulers/entryscheduler.c:
31586 * gst/schedulers/gstbasicscheduler.c:
31587 (gst_basic_scheduler_cothreaded_chain),
31588 (gst_basic_scheduler_chain_add_element):
31589 * testsuite/bins/interface.c: (main):
31591 Added GstSystemClock test.
31592 Implemented clock distribution code in GstBin.
31593 Implemented iterate sinks method for future use.
31594 Rearranged gstelement.h
31595 Fix GstIterator comparison bug.
31596 Moved some code to GstPipeline, mostly clocking related.
31598 2005-03-09 Wim Taymans <wim@fluendo.com>
31601 * gst/gst_private.h:
31602 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31603 (gst_bin_remove_func), (gst_bin_remove),
31604 (gst_bin_get_by_name_recurse_up):
31605 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31606 (gst_clock_id_compare_func), (gst_clock_id_wait),
31607 (gst_clock_id_wait_async), (gst_clock_init),
31608 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31609 * gst/gstelement.h:
31610 * gst/gstinfo.c: (_gst_debug_init):
31612 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31613 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31615 Bump version number, we're now 0.9.0
31616 Add future debugging category.
31617 Fix NULL _unref() in _get_by_name_recurse_up
31618 Rearrange gstpad.h.
31621 2005-03-08 Wim Taymans <wim@fluendo.com>
31623 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31624 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31625 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31626 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31627 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31628 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31629 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31630 * gst/elements/gstidentity.c: (gst_identity_class_init):
31631 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31632 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31633 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31634 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31635 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31637 * gst/gstelement.c: (gst_element_class_init),
31638 (gst_element_base_class_init), (gst_element_init),
31639 (gst_element_get_random_pad), (gst_element_wait_state_change),
31640 (gst_element_change_state), (gst_element_dispose),
31641 (gst_element_finalize), (gst_element_set_loop_function):
31642 * gst/gstelement.h:
31643 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31644 * gst/gstthread.c: (gst_thread_class_init),
31645 (gst_thread_release_children_locks), (gst_thread_change_state):
31646 * gst/schedulers/gstbasicscheduler.c:
31647 (gst_basic_scheduler_loopfunc_wrapper),
31648 (gst_basic_scheduler_chain_wrapper),
31649 (gst_basic_scheduler_src_wrapper),
31650 (gst_basic_scheduler_remove_element):
31651 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31652 Remove threadsafe properties. Fix elements because GObject
31653 complains when installing a property before declaring a
31654 set/get_property handler.
31655 Rearrange gstelement.h file, use STATE macros for state locks.
31656 Free mutexes in the finalize method instead of dispose.
31658 2005-03-08 Wim Taymans <wim@fluendo.com>
31660 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31661 * gst/gstthread.c: (gst_thread_release_children_locks):
31662 Added parentage check.
31663 Fix build og GstThread again.
31665 2005-03-08 Wim Taymans <wim@fluendo.com>
31667 * docs/design/part-MT-refcounting.txt:
31668 * docs/design/part-conventions.txt:
31669 * docs/design/part-gstobject.txt:
31670 * docs/design/part-relations.txt:
31671 * docs/design/part-standards.txt:
31672 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31673 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31674 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31675 (gst_bin_iterate_all_by_interface):
31678 * gst/gstelement.c: (gst_element_class_init),
31679 (gst_element_change_state), (gst_element_set_loop_function):
31680 * gst/gstelement.h:
31681 * gst/gstiterator.c:
31682 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31683 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31684 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31685 (gst_object_set_parent), (gst_object_unparent),
31686 (gst_object_check_uniqueness):
31688 Docs updates, clean up some headers.
31690 2005-03-07 Wim Taymans <wim@fluendo.com>
31692 * check/.cvsignore:
31693 * check/Makefile.am:
31694 * check/gst-libs/.cvsignore:
31695 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31696 * check/gst/.cvsignore:
31697 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31698 (START_TEST), (gstbus_suite), (main):
31699 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31700 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31701 (gst_data_suite), (main):
31702 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31703 (add_fold_func), (gstiterator_suite), (main):
31704 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31705 (thread_name_object), (thread_name_object_default),
31706 (gst_object_name_compare), (gst_object_suite), (main):
31707 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31708 (gst_pad_suite), (main):
31709 * check/gstcheck.c: (gst_check_log_message_func),
31710 (gst_check_log_critical_func), (gst_check_init):
31711 * check/gstcheck.h:
31712 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31713 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31716 2005-03-07 Wim Taymans <wim@fluendo.com>
31718 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31719 (gst_list_iterator_next), (gst_list_iterator_resync),
31720 (gst_list_iterator_free), (gst_iterator_new_list),
31721 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31722 (gst_iterator_free), (gst_iterator_push), (filter_next),
31723 (filter_resync), (filter_uninit), (filter_free),
31724 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31725 (gst_iterator_foreach), (find_custom_fold_func),
31726 (gst_iterator_find_custom):
31727 * gst/gstiterator.h:
31728 Added missing files.
31730 2005-03-07 Wim Taymans <wim@fluendo.com>
31734 * docs/design/part-MT-refcounting.txt:
31735 * docs/design/part-conventions.txt:
31736 * docs/design/part-gstobject.txt:
31737 * docs/design/part-relations.txt:
31738 * examples/mixer/mixer.c: (main):
31739 * examples/thread/thread.c: (eos), (main):
31741 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31742 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31743 (gst_spider_plug_from_srcpad):
31744 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31745 (gst_spider_identity_change_state),
31746 (gst_spider_identity_sink_loop_type_finding):
31747 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31748 * gst/elements/gstidentity.c: (gst_identity_init):
31749 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31750 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31751 * gst/elements/gsttypefindelement.c: (free_entry):
31754 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31755 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31756 (gst_bin_set_index), (gst_bin_set_element_sched),
31757 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31758 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31759 (gst_bin_iterate_elements), (iterate_child_recurse),
31760 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31761 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31762 (compare_interface), (gst_bin_get_by_interface),
31763 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31765 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31766 (gst_buffer_default_free), (gst_buffer_default_copy),
31767 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31768 (gst_buffer_create_sub):
31770 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31771 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31772 (gst_caps_unref), (gst_static_caps_get),
31773 (gst_caps_remove_and_get_structure), (gst_caps_append),
31774 (gst_caps_append_structure), (gst_caps_remove_structure),
31775 (gst_caps_copy_nth), (gst_caps_set_simple),
31776 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31777 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31778 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31779 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31780 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31781 (gst_caps_structure_figure_out_union),
31782 (gst_caps_switch_structures), (gst_caps_do_simplify),
31783 (gst_caps_replace), (gst_caps_from_string),
31784 (gst_caps_copy_conditional):
31786 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31787 (_gst_clock_id_free), (gst_clock_id_unref),
31788 (gst_clock_id_compare_func), (gst_clock_id_wait),
31789 (gst_clock_id_wait_async), (gst_clock_class_init),
31790 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31791 (gst_clock_get_time), (gst_clock_set_time_adjust),
31792 (gst_clock_set_property), (gst_clock_get_property):
31795 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31796 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31798 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31799 (gst_element_requires_clock), (gst_element_provides_clock),
31800 (gst_element_set_clock), (gst_element_clock_wait),
31801 (gst_element_wait), (gst_element_set_time_delay),
31802 (gst_element_is_indexable), (gst_element_add_pad),
31803 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31804 (pad_compare_name), (gst_element_get_static_pad),
31805 (gst_element_request_pad), (gst_element_get_request_pad),
31806 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31807 (gst_element_class_get_pad_template_list),
31808 (gst_element_class_get_pad_template), (gst_element_error_func),
31809 (gst_element_get_random_pad), (gst_element_get_event_masks),
31810 (gst_element_send_event), (gst_element_seek),
31811 (gst_element_get_query_types), (gst_element_query),
31812 (gst_element_get_formats), (gst_element_convert),
31813 (gst_element_is_locked_state), (gst_element_set_locked_state),
31814 (gst_element_sync_state_with_parent), (gst_element_change_state),
31815 (gst_element_finalize), (gst_element_yield),
31816 (gst_element_interrupt), (gst_element_set_scheduler),
31817 (gst_element_get_scheduler), (gst_element_set_loop_function):
31818 * gst/gstelement.h:
31820 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31821 (gst_format_get_by_nick), (gst_format_get_details),
31822 (gst_format_iterate_definitions):
31824 * gst/gstindex.c: (gst_index_gtype_resolver):
31827 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31828 (gst_mem_chunk_free):
31829 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31830 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31831 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31832 (gst_object_dispatch_properties_changed),
31833 (gst_object_set_name_default), (gst_object_set_name),
31834 (gst_object_get_name), (gst_object_set_name_prefix),
31835 (gst_object_get_name_prefix), (gst_object_set_parent),
31836 (gst_object_get_parent), (gst_object_unparent),
31837 (gst_object_check_uniqueness), (gst_object_save_thyself),
31838 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31839 (gst_object_set_property), (gst_object_get_property),
31840 (gst_object_get_path_string):
31842 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31843 (gst_real_pad_init), (gst_real_pad_get_property),
31844 (gst_pad_custom_new), (gst_pad_get_direction),
31845 (gst_pad_set_active), (gst_pad_is_active),
31846 (gst_pad_set_event_function), (gst_pad_is_linked),
31847 (gst_pad_link_free), (gst_pad_link_intersect),
31848 (gst_pad_link_fixate), (gst_pad_set_caps),
31849 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31850 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31851 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31852 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31853 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31854 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31855 (gst_pad_realize), (gst_pad_get_allowed_caps),
31856 (gst_real_pad_dispose), (gst_real_pad_finalize),
31857 (gst_pad_collectv), (gst_pad_collect_valist),
31858 (gst_pad_template_dispose), (gst_pad_template_new),
31859 (gst_pad_get_internal_links):
31861 * gst/gstpipeline.c: (gst_pipeline_dispose),
31862 (gst_pipeline_change_state):
31863 * gst/gstpipeline.h:
31865 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31866 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31867 * gst/gstpluginfeature.h:
31868 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31869 * gst/gstquery.c: (_gst_query_type_initialize),
31870 (gst_query_type_register), (gst_query_type_get_by_nick),
31871 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31873 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31874 * gst/gstscheduler.c: (gst_scheduler_add_element),
31875 (gst_scheduler_factory_create):
31876 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31877 (gst_structure_free), (gst_structure_set_name),
31878 (gst_structure_id_set_value), (gst_structure_set_value),
31879 (gst_structure_set_valist), (gst_structure_remove_field),
31880 (gst_structure_remove_fields),
31881 (gst_structure_remove_fields_valist),
31882 (gst_structure_remove_all_fields), (gst_structure_foreach),
31883 (gst_structure_map_in_place),
31884 (gst_caps_structure_fixate_field_nearest_int),
31885 (gst_caps_structure_fixate_field_nearest_double):
31886 * gst/gststructure.h:
31887 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31888 (gst_system_clock_init), (gst_system_clock_dispose),
31889 (gst_system_clock_async_thread),
31890 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31891 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31892 * gst/gstsystemclock.h:
31893 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31894 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31895 * gst/gsttaginterface.c:
31896 * gst/gstthread.c: (gst_thread_dispose),
31897 (gst_thread_release_children_locks), (gst_thread_change_state),
31898 (gst_thread_main_loop):
31899 * gst/gsttrashstack.h:
31900 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31902 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31903 (gst_element_request_pad), (gst_element_get_pad_from_template),
31904 (gst_element_request_compatible_pad),
31905 (gst_element_get_compatible_pad_filtered),
31906 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31907 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31908 (gst_element_link_many), (gst_element_link),
31909 (gst_element_link_pads), (gst_element_unlink_pads),
31910 (gst_element_unlink_many), (gst_element_unlink),
31911 (gst_pad_can_link_filtered), (gst_pad_can_link),
31912 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31913 (gst_object_default_error), (gst_bin_add_many),
31914 (gst_bin_remove_many), (gst_element_populate_std_props),
31915 (gst_element_class_install_std_props), (gst_buffer_merge),
31916 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31917 (link_fold_func), (gst_pad_proxy_setcaps):
31919 * gst/gstvalue.c: (gst_value_deserialize_string):
31920 * gst/parse/grammar.y:
31921 * gst/schedulers/gstbasicscheduler.c:
31922 (gst_basic_scheduler_cothreaded_chain),
31923 (gst_basic_scheduler_chain_recursive_add),
31924 (gst_basic_scheduler_pad_link):
31925 * gst/schedulers/gstoptimalscheduler.c:
31926 (get_group_schedule_function),
31927 (gst_opt_scheduler_state_transition),
31928 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31929 * libs/gst/bytestream/bytestream.c:
31930 * libs/gst/dataprotocol/dataprotocol.c:
31931 (gst_dp_header_from_buffer):
31934 * tests/threadstate/threadstate2.c: (eos):
31935 * tools/gst-compprep.c: (main):
31936 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31937 (print_pad_info), (print_children_info):
31938 * tools/gst-launch.c: (idle_func), (main):
31939 * tools/gst-md5sum.c: (idle_func), (main):
31940 * tools/gst-xmlinspect.c: (print_element_info):
31941 First THREADED backport attempt, focusing on adding locks and
31942 making sure the API is threadsafe. Needs more work. More docs
31945 2005-02-24 Andy Wingo <wingo@pobox.com>
31947 * tests/bench-complexity.scm:
31948 * tests/complexity.gnuplot: New files, good for running complexity
31951 * tests/Makefile.am:
31952 * tests/complexity.c: New test, sets up N elements, at each level
31953 teeing into M streams per element. Eeeenteresting.
31955 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31956 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31957 running bench-mass_elements.scm.
31959 * tests/bench-mass_elements.scm: New script, runs mass_elements
31960 for various numbers of identities, outputting the results to a
31961 file. Requires guile 1.6. Just for testing.
31963 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
31965 * gst/schedulers/fairscheduler.c:
31966 compile with debug disabled
31968 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
31971 hunting season on 0.9 is now OPEN