1 2008-11-24 Edward Hervey <edward.hervey@collabora.co.uk>
3 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6 2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8 Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
10 * gst/gstregistry.c: (gst_registry_scan_path_level):
11 Reduce the number of stat() calls for every file from three times
12 to one time. Fixes bug #560360.
14 2008-11-22 Wim Taymans <wim.taymans@collabora.co.uk>
16 * libs/gst/base/gstbasetransform.c:
17 (gst_base_transform_acceptcaps):
18 Rename a variable to make the code clearer.
20 2008-11-21 Stefan Kost <ensonic@users.sf.net>
22 * plugins/elements/gstidentity.c:
23 Don't warning on offset==-1. Taken from _check_imperfect_offset().
25 2008-11-21 Michael Smith <msmith@songbirdnest.com>
27 * plugins/elements/gstfilesrc.c:
28 Check for localhost in URI was backwards, fix it. Fixes unit test.
30 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
32 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
33 (gst_base_transform_getcaps), (gst_base_transform_find_transform),
34 (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
35 Add beginnings of a more optimized acceptcaps function than the default
38 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
40 * gst/gstpad.c: (gst_pad_accept_caps):
41 Avoid getting the acceptcaps function too early.
43 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
45 * tools/gst-launch.c: (event_loop):
46 Make gst-launch handle LATENCY messages and make it recalculate the
49 2008-11-20 Michael Smith <msmith@songbirdnest.com>
51 * plugins/elements/gstfilesrc.c:
52 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
53 out own slightly incorrect version. Fixes use of some paths on
56 2008-11-20 Michael Smith <msmith@songbirdnest.com>
58 * gst/gstregistrybinary.c:
59 In win32 codepath, if we fail to write the registry, create the
60 directory for it and try again, matching the behaviour in non-win32
63 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
65 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
66 Changing the render delay changes the latency and so we must post a
69 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
73 Add GstQueryType for custom queries instead of having to use the
74 not-so-very-convenient registration infrastructure to register new
77 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
79 Patch by: Andrew Feren <acferen at yahoo dot com>
81 * gst/gstobject.c: (gst_object_default_deep_notify):
82 Unref the GEnumClass after usage again. Fixes bug #561501.
84 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
86 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
87 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
88 (gst_bin_change_state_func):
90 Add do-latency signal with the old default fallback implementation. This
91 allows for custom latency calculations for when the default is not
93 API: GstBin::do-latency signal.
95 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
97 * win32/common/libgstreamer.def:
98 Add new symbols to .def file.
100 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
102 * docs/gst/gstreamer-sections.txt:
103 * gst/gstbin.c: (gst_bin_recalculate_latency),
104 (gst_bin_change_state_func):
106 Add method to recalculate and redistribute the latency on a bin.
107 API: gst_bin_recalculate_latency().
109 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
112 Document the free_func.
114 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
116 * libs/gst/controller/gstinterpolation.c:
117 * libs/gst/controller/gstlfocontrolsource.c:
118 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
119 as it is mapped to a cast on non-win32 platforms.
121 2008-11-17 Stefan Kost <ensonic@users.sf.net>
123 * libs/gst/controller/gstcontroller.c:
124 * libs/gst/controller/gstcontrollerprivate.h:
125 Keep last-value and only call set_property if value has changed. This
126 supresses all the g_object_notifies we would trigger otherwise. It
127 also allows the user to chage the value while there is no controller
130 2008-11-17 Stefan Kost <ensonic@users.sf.net>
133 Don't crash if either of the string GValues is empty.
135 2008-11-17 Andy Wingo <wingo@pobox.com>
137 * tools/gst-inspect.c (print_all_uri_handlers): New function,
138 prints a summary of what URI schemes are supported by what
140 (main): Plumb in support for --uri-handlers or -u, and fix the
141 argc check for -a and -u.
143 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
146 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
147 conversion functions.
149 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
151 * gst/gstbuffer.c: (gst_buffer_finalize):
152 Avoid costly typechecking for trivially correct pointers.
154 * gst/gstpoll.c: (gst_poll_wait):
155 Add some G_LIKELY here and there.
157 * libs/gst/base/gstadapter.c: (gst_adapter_push):
160 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
162 * docs/random/wtay/poll-timeout:
165 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
167 * tests/old/testsuite/caps/intersection.c: (main):
168 * tests/old/testsuite/plugin/loading.c: (main):
169 Remove references to deprecated API g_mem_chunk*.
172 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
174 * tools/gst-inspect.c: (main):
175 Add --plugin option. Fixes #560301.
177 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
179 * docs/random/wtay/poll-timeout:
180 Quick braindump for a possible (not totally verified) atomic case.
182 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
184 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
185 (gst_registry_binary_initialize_magic),
186 (gst_registry_binary_write_cache),
187 (gst_registry_binary_check_magic):
188 * gst/gstregistrybinary.h:
189 Don't write and check a CRC for the binary registry file. It's
190 guaranteed that the registry is completely written (it's first written
191 to a temporary file and then moved) and if the registry was corrupted
192 by some hardware failure we would have bigger problems.
194 Bump binary registry version to 0.10.21.1 for this as it's an
195 incompatible change and to ensure that the registry gets rebuild
198 This saves some milliseconds for reading/writing the registry.
201 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
203 * docs/random/wtay/poll-timeout:
204 Some pseudo code for how we could implement clock timeouts with GstPoll.
206 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
208 * plugins/elements/gstfilesink.c:
209 Update Author string to match others.
211 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
213 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
214 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
215 being fixed and inline the trivial check.
217 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
219 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
220 (gst_caps_merge_structure), (gst_caps_get_structure),
221 (gst_caps_copy_nth), (gst_caps_set_simple),
222 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
223 (gst_caps_is_equal_fixed), (gst_caps_intersect),
224 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
225 (gst_caps_to_string):
226 Callgrind micro optimisations.
227 Avoid array bounds checks and force inline of trivial function.
229 * gst/gstobject.c: (gst_object_set_name_default):
230 -1 is equivalent to letting glib to the strlen but then there is more
231 room for optimisations and it's not our fault.
233 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
234 no need to clear the array, we're cool.
236 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
237 The most common _is_fixed() check is done on fundamental glib base
238 types so we check this first instead of doing a huge amount of
239 useless GST_TYPE_ARRAY calls.
241 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
244 Add a SKIP seek flag for use with advanced trickmodes.
245 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
247 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
249 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
250 No need to memset, we can clear the value ourselves.
252 * gst/gstvalue.c: (gst_type_is_fixed),
253 (gst_value_get_compare_func):
254 Some optimisations from a few callgrind sessions:
255 When checking if a type is fixed, check for trivial fundamental types
256 first before checking types for which we need to get the type followed
257 by the heavy duty type checks, this reduces the amount of
258 g_type_fundamental() calls a lot.
259 When getting the compare function, first check for our registered types.
260 If that fails, do the heavy duty g_type_is_a() checks, reduces the
261 amount of g_type_is_a() considerably.
263 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
265 * docs/design/part-TODO.txt:
266 Mumble something about removing GstXML.
268 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
270 * gst/gstbin.c: (gst_bin_handle_message_func):
271 Get the seqnum before we dispose the message.
273 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
275 * docs/design/part-TODO.txt:
276 Refer to the framestepping document.
278 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
280 * gst/gstbin.c: (bin_handle_async_start),
281 (gst_bin_handle_message_func), (gst_bin_query):
282 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
283 (gst_base_sink_event), (gst_base_sink_change_state):
284 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
285 (gst_base_src_loop), (gst_base_src_change_state):
286 Copy seqnums from events to messages so that they can all be related
289 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
291 * tools/gst-launch.c: (event_loop):
292 Print the message seqnums.
294 2008-11-04 Andy Wingo <wingo@pobox.com>
296 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
298 2008-11-04 Andy Wingo <wingo@pobox.com>
300 Add sequence numbers to events and messages. See #559250.
302 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
306 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
307 events with a new sequence number, and copy it when copying.
308 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
309 an event's sequence number.
312 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
313 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
316 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
318 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
320 * docs/manual/advanced-position.xml:
321 * docs/manual/basics-bins.xml:
322 * docs/manual/basics-bus.xml:
323 * docs/manual/basics-pads.xml:
324 * docs/manual/intro-gstreamer.xml:
325 * docs/manual/intro-preface.xml:
326 Some Application Development Manual fixes thanks to
327 Andrew Feren. Fixes #558459.
329 2008-11-03 Stefan Kost <ensonic@users.sf.net>
331 * gst/gstregistrybinary.c:
332 Don't bother with the GTimer if we don't output the results.
334 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
336 Patch by: David Schleef <ds@schleef.org>
338 * libs/gst/net/Makefile.am:
339 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
341 2008-10-31 Stefan Kost <ensonic@users.sf.net>
343 * gst/gstregistrybinary.c:
344 Oh my, studip, stupid me. Remove double stat() call.
346 2008-10-31 Stefan Kost <ensonic@users.sf.net>
349 Use g_unlink instead of unlink.
351 * gst/gststructure.c:
360 Formatting & whitespaces.
362 2008-10-31 Stefan Kost <ensonic@users.sf.net>
364 * plugins/elements/gstidentity.c:
365 Doc typo. Use return value of parent_class->event.
367 * plugins/elements/gsttypefindelement.c:
368 Chain up at the end for consistency.
370 2008-10-30 Stefan Kost <ensonic@users.sf.net>
373 * docs/gst/gstreamer-docs.sgml:
374 * docs/gst/gstreamer-sections.txt:
375 * docs/gst/running.xml:
376 * docs/libs/gstreamer-libs-docs.sgml:
377 Change to xinclude based build - its faster and easier to maintain.
379 2008-10-30 Stefan Kost <ensonic@users.sf.net>
381 * gst/gstregistrybinary.c:
382 * gst/gstregistryxml.c:
383 Use g_unlink() as none of these are directories.
385 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
387 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
390 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
392 * libs/gst/base/gstbasetransform.c:
393 (gst_base_transform_find_transform), (gst_base_transform_getrange):
394 If we have a fixate function, call it even if we already have fixed caps
395 because the subclass might add some caps. Makes audioconvert add a
396 default channel layout.
398 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
400 * libs/gst/base/gstbasetransform.c:
401 (gst_base_transform_prepare_output_buffer),
402 (gst_base_transform_getrange):
403 Clear the output buffer variable.
404 Cleanups to the error path in the getrange function.
407 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
409 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
410 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
411 Use gst_buffer_try_new_and_alloc() and handle errors instead of
412 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
415 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
417 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
418 Set the last_stop to a more meaningful position when configuring the
419 segment. ie. the start/stop of the segment or clipped against the
420 updated segment boundaries.
422 * tests/check/gst/gstsegment.c: (GST_START_TEST):
423 Add some unit tests for the last_stop.
425 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
427 * libs/gst/base/gstbytereader.c:
428 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
431 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
433 * docs/gst/gstreamer-sections.txt:
435 API: Move float endianness conversion macros from libgstfloatcast
436 to core as it's useful in general, even in core. Fixes bug #555196.
437 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
438 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
439 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
441 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
442 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
443 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
444 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
446 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
448 * docs/libs/gstreamer-libs-sections.txt:
449 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
450 (gst_byte_reader_peek_data):
451 * libs/gst/base/gstbytereader.h:
452 * win32/common/libgstbase.def:
453 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
454 to get a pointer to the data at the current position and have
457 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
460 Fix a bug in the output of the configure script summary
461 when --gst-disable-registry is supplied
463 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
465 * libs/gst/base/gstbitreader.c:
466 * libs/gst/base/gstbytereader.c:
467 Fix the names of 2 functions in the docs strings.
469 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
471 * libs/gst/base/gstbasetransform.c:
472 (gst_base_transform_prepare_output_buffer),
473 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
474 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
475 refcount problems as seen in banshee and maybe also in farsight2.
476 Remove atomic int now that we need to take the lock anyways.
478 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
480 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
481 (gst_base_sink_default_prepare_seek_segment),
482 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
483 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
484 (gst_base_sink_query):
485 Implement more seeking in pull mode.
486 Use pad convert functions to convert position to the requested format.
487 Fix position/duration reporting in pull mode.
488 Implement position and duration reporting in other formats than time.
490 * libs/gst/base/gstbasesink.h:
491 Add member to keep track of when the segment is playing.
493 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
495 * gst/gstpad.c: (gst_pad_configure_src):
496 When we use gst_pad_alloc_buffer() without wanting to set the caps we
497 also don't need to check if the caps are compatible because the caller
498 presumably is going to perform its own custom checks. Fixes some cases
499 where basetransform elements would error out when it was not needed.
501 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
503 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
506 * libs/gst/base/gstbasetransform.c:
507 (gst_base_transform_handle_buffer),
508 (gst_base_transform_reconfigure):
511 * win32/common/libgstbase.def:
514 2008-10-19 Stefan Kost <ensonic@users.sf.net>
516 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
517 Remove duplicated assignment and log a message in failure case.
519 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
521 Patch by: Dig Ge <dig.ge.cn at gmail com>
523 * tests/examples/helloworld/helloworld.c: (main):
524 Fix copy'n'paste bug in hello world example (#556900).
526 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
528 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
529 (gst_base_sink_query):
530 Query the total number of bytes when activating the pad in pull mode.
531 Implement duration query in pull mode by using the installed pad convert
532 function to convert from bytes to the requested format.
534 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
536 * docs/libs/gstreamer-libs-sections.txt:
537 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
538 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
539 (gst_base_sink_event), (gst_base_sink_perform_seek),
540 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
541 (gst_base_sink_send_event), (gst_base_sink_change_state):
542 * libs/gst/base/gstbasesink.h:
543 Add method to commit the state in subclasses.
544 Refactor the flush_start and flush_stop code because we need it for
545 flushing while seeking too.
546 Implement the beginnings of seeking in pull mode.
547 Use the segment last_stop field for the pulling offset.
548 Fix the pause method in pull mode.
549 Configure the segment to BYTES for pull mode.
550 API: GstBaseSink::gst_base_sink_do_preroll()
552 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
554 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
557 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
559 * gst/gstquark.c: (_priv_gst_quarks_initialize):
560 Fix printf format warning.
562 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
564 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
565 Fix flow aggregation of tee. Error out immediately for all flow returns
566 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
567 and return OK if at least one pad is linked.
569 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
570 and otherwise returned the flow return of the last pad, which is wrong.
572 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
573 (GST_START_TEST), (tee_suite):
574 Add unit tests for the flow aggregation.
576 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
578 * docs/design/part-TODO.txt:
579 Remove item from the todo list because it was fixed with the latency
580 state change rewrites.
582 * docs/design/part-seeking.txt:
583 * docs/design/part-segments.txt:
586 * gst/gstevent.c: (gst_event_new_new_segment_full),
587 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
588 (gst_event_parse_buffer_size), (gst_event_new_qos),
589 (gst_event_parse_qos), (gst_event_new_seek),
590 (gst_event_parse_seek), (gst_event_new_latency),
591 (gst_event_parse_latency):
592 Use quarks to construct and parse events.
594 * gst/gstquark.c: (_priv_gst_quarks_initialize):
596 Add some more quarks to the table.
597 Emit a warning when the quark tables are not in sync.
599 * tests/check/gst/gstbus.c: (GST_START_TEST):
602 2008-10-13 Stefan Kost <ensonic@users.sf.net>
604 * plugins/elements/Makefile.am:
605 * plugins/indexers/Makefile.am:
606 Don't install static libs for plugins. Fixes #550851 for core.
608 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
610 * gst/gstbus.c: (gst_bus_source_finalize),
611 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
612 (gst_bus_enable_sync_message_emission),
613 (gst_bus_disable_sync_message_emission),
614 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
615 Fix deadlock, g_source_get_id() cannot be called in finalize.
616 Keep track of the watch source by keeping a pointer to the source object
618 Use the bus lock to protect access to the pointer to the current
621 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
623 Base on Patch by: Olivier Crete <tester at tester dot ca>
625 * gst/gstbus.c: (gst_bus_source_finalize),
626 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
627 Only allow one bus watch to be set at a time. This is necessary
628 because the dispatcher pops the message from the bus and the second
629 watcher will then get NULL or the next message (and the first won't
630 get this next message then, etc). If more than one "watcher" is
631 required signal watches should be used. Fixes bug #526044.
633 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
635 * tools/gst-launch.c:
636 Change the printing of the 'buffering...' output to avoid putting
637 a \r in a translateable string (flagged by the TP).
639 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
642 Clarify that the save_thyself() and restore_thyself() virtual
643 functions of GstObject need to be overriden, not
644 gst_object_(save|restore)_thyself() which is impossible.
647 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
649 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
650 Revert a patch from 21 months ago that broke caps negotiation in pull
651 mode. Basically, having a buffer pass over a pad will trigger the
652 setcaps function when caps change, just like in push mode.
654 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
656 * docs/design/part-negotiation.txt:
657 Update the docs some more.
659 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
660 If we pull a buffer with non-trivial caps, suggest those caps with the
663 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
665 * docs/design/part-TODO.txt:
666 Add another limitation of pad-blocking with segment seeks not pushing
669 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
671 * win32/common/libgstbase.def:
672 * win32/common/libgstreamer.def:
673 Add new symbols to the win32 defs files
675 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
677 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
678 (gst_bin_handle_message_func):
679 The message src can be NULL, don't try to print the object names in that
682 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
683 Add some more debug info.
685 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
688 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
691 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
693 * docs/design/part-negotiation.txt:
696 * docs/libs/gstreamer-libs-sections.txt:
697 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
698 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
699 (gst_base_sink_init), (gst_base_sink_set_blocksize),
700 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
701 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
702 (gst_base_sink_loop), (gst_base_sink_pad_activate),
703 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
704 (gst_base_sink_change_state):
705 * libs/gst/base/gstbasesink.h:
706 Add blocksize property and methods to control the amount of data
708 Negotiate first before activating upstream in pull mode so that they can
709 negotiate themselves.
710 When we operate in pull mode, we only accept the caps that we
712 Make the sink go ASYNC to PAUSED, like all other sinks.
713 API: GstBaseSink::gst_base_sink_set_blocksize()
714 API: GstBaseSink::gst_base_sink_get_blocksize()
715 API: GstBaseSink::blocksize
717 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
718 (gst_base_src_set_live), (gst_base_src_is_live),
719 (gst_base_src_set_format), (gst_base_src_query_latency),
720 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
721 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
722 (gst_base_src_set_property), (gst_base_src_get_property):
723 * libs/gst/base/gstbasesrc.h:
724 Add typechecking in public API functions.
725 Add methods to control the blocksize in subclasses.
726 API: GstBaseSrc::gst_base_src_set_blocksize()
727 API: GstBaseSrc::gst_base_src_get_blocksize()
729 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
731 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
732 (buffer_probe), (event_probe), (GST_START_TEST):
733 We now see 3 events go through our pad, since basesink now sends
734 upstream latency events.
736 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
738 * gst/gstpipeline.c: (gst_pipeline_change_state):
739 Release the object lock before trying to flush the bus.
741 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
743 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
744 Forward LATENCY events upstreams so that elements know about the total
745 pipeline latency. Fixes #555307.
747 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
749 * plugins/elements/gstqueue.c:
750 Allow through queries when we don't know how
751 to adjust them (not TIME or BYTES), as otherwise it's
752 not possible to query the current position in order
753 to seek in other formats at all.
755 2008-10-08 Andy Wingo <wingo@pobox.com>
757 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
759 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
763 Unbreak -good build, private is a reserved c++ keyword.
765 2008-10-08 Andy Wingo <wingo@pobox.com>
767 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
768 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
769 removal: re-add GST_GHOST_PAD_CAST to the header.
771 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
772 (GstGhostPadClass): Publically expose these structures so as to
773 allow easy subclassing from C. Hide the member data behind a
774 private opaque data pointer.
776 * gst/gstghostpad.c: Adapt to store instance data in the type
777 instance's private data region, not in the public struct.
779 2008-10-08 Andy Wingo <wingo@pobox.com>
781 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
782 template via g_object_get(), be sure to unref it.
784 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
786 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
788 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
789 If we can't get a cache file don't try to save something to it.
790 Dereferencing NULL pointers usually isn't a good idea.
792 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
794 * tests/check/Makefile.am:
795 * tests/check/gst/gstabi.c:
796 * tests/check/gst/struct_sparc.h:
797 * tests/check/libs/libsabi.c:
798 * tests/check/libs/struct_sparc.h:
801 * tests/check/gst/gstvalue.c: (GST_START_TEST):
802 Cast signed integer to unsigned to avoid a compiler warning.
804 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
806 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
807 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
808 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
809 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
810 (gst_byte_reader_peek_int24_be):
811 Use new GST_READ_UINT24_(LE|BE) macros.
813 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
815 * docs/gst/gstreamer-sections.txt:
817 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
818 as it's too easy to break the ISO C strict aliasing rules with simple
819 casts to the corresponding type and this would introduce hard to debug
820 bugs. Fixes bug #545714.
822 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
824 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
826 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
827 * gst/gstghostpad.c: (gst_ghost_pad_construct):
828 Add 'Since' bits to gtk-doc chunks for new API.
830 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
832 * docs/gst/gstreamer-sections.txt:
835 2008-10-06 Andy Wingo <wingo@pobox.com>
837 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
838 that will be called on the malloc_data to free it. Basically a way
839 to avoid subclassing when all you need is a different free
840 function, i.e. free() instead of g_free().
842 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
843 calling the free function.
844 (gst_buffer_init): Initialize the free function to g_free.
846 2008-10-06 Andy Wingo <wingo@pobox.com>
849 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
850 finishes the initialization of ghost pad. Useful for language
851 bindings and subclassers of GstGhostPad. Fixes #539108.
852 (gst_ghost_pad_new_full): Use the new constructor.
854 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
856 Base on Patch by: Olivier Crete <tester at tester dot ca>
858 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
859 (gst_bin_remove_func), (update_degree),
860 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
861 Keep track of pads that are being linked/unlinked and resync the state
864 * gst/gstpad.c: (gst_pad_get_direction),
865 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
866 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
867 (gst_pad_link_prepare), (gst_pad_link),
868 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
869 (gst_pad_check_pull_range), (gst_pad_get_range),
870 (gst_pad_pull_range):
871 Some code cleanups, use macros to check pad direction.
872 Don't need to take the lock on the pad direction.
873 Post structure change when pads are linked/unlinked.
874 Change some checks into _return_if_fail().
876 * tests/check/gst/gstbin.c:
877 (test_link_structure_change_state_changed_sync_cb),
878 (GST_START_TEST), (gst_bin_suite):
879 Add testcase for pad link/unlinke resync during a state change.
882 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
884 * docs/gst/gstreamer-sections.txt:
885 * gst/gstmessage.c: (gst_message_new_structure_change),
886 (gst_message_parse_structure_change):
888 Implement STRUCTURE_CHANGED messages. These messages will be used to
889 signal the parent bin of link/unlink operations that could require a
890 resync when doing a state change. See ##510354.
891 API: gst_message_new_structure_change()
892 API: gst_message_parse_structure_change()
894 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
898 Add some more quarks for new message. See #510354.
900 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
902 * docs/libs/gstreamer-libs-docs.sgml:
903 * docs/libs/gstreamer-libs-sections.txt:
904 * libs/gst/base/Makefile.am:
905 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
906 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
907 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
908 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
909 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
910 (gst_bit_reader_skip_to_byte):
911 * libs/gst/base/gstbitreader.h:
912 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
913 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
914 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
915 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
916 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
917 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
918 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
919 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
920 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
921 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
922 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
923 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
924 * libs/gst/base/gstbytereader.h:
925 * tests/check/Makefile.am:
926 * tests/check/libs/bitreader.c: (GST_START_TEST),
927 (gst_bit_reader_suite):
928 * tests/check/libs/bytereader.c: (GST_START_TEST),
929 (gst_byte_reader_suite):
930 API: Add bit reader and byte reader classes, including documentation
931 and an extensive unit test suite. Fixes bug #553554.
933 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
935 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
936 (gst_base_sink_query):
937 Improve position reporting while flushing and other intermediate state
938 changes. Fixes #553874.
940 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
942 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
944 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
945 Original patch by : Simon Descaries
946 Fix small refount leak in caps compatibility check.
949 2008-10-06 Stefan Kost <ensonic@users.sf.net>
951 * docs/pwg/advanced-request.xml:
952 Fix 0.8 api usage in example. Fixes #554561
954 * docs/pwg/appendix-porting.xml:
955 Change 0.9 to 0.10 here.
957 2008-10-06 Stefan Kost <ensonic@users.sf.net>
959 * docs/manual/basics-data.xml:
960 Change "event-event interaction" to "element-element interaction".
961 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
964 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
967 Back to development -> 0.10.21.1
969 === release 0.10.21 ===
971 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
974 releasing 0.10.21, "Take These Things From Me"
976 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
979 0.10.20.4 pre-release
981 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
983 * libs/gst/base/gstbasetransform.c:
984 * plugins/elements/gstcapsfilter.c:
985 * tests/check/Makefile.am:
986 * tests/check/elements/.cvsignore:
987 * tests/check/elements/capsfilter.c:
988 Fix assertion in basetransform when the subclass chooses not to
989 allocate a buffer in prepare_buffer(), and make capsfilter error out
990 cleanly if requested to apply caps that don't completely specify the
991 buffer. Fixes #551509
993 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
995 * libs/gst/base/gstbasetransform.c:
996 (gst_base_transform_prepare_output_buffer):
997 Take new caps ref because our old one might have been gone when the
998 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1000 2008-09-15 Stefan Kost <ensonic@users.sf.net>
1003 Do not probe availability of check unit test library when cross
1004 compiling, as test would not work anyway. Also cleanup verbose output
1005 of the check test. Fixes #551952.
1007 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
1009 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1011 * gst/gstelement.c: (gst_element_sync_state_with_parent):
1012 Avoid leaking the parent ref when we fail changing the state of the
1013 element using gst_element_sync_state_with_parent(). Fixes #551978.
1015 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
1017 * docs/manual/intro-motivation.xml::
1018 Remove some bits that no longer apply, update others (#551642).
1020 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
1023 0.10.20.2 pre-release
1031 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1033 * win32/common/config.h.in:
1034 Add GST_DATADIR, hard-code cpu to x86.
1036 * win32/common/libgstreamer.def:
1039 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1042 Fix Since: markers for new geo tags.
1044 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1047 Fix actual tag name define after renaming from altitude to elevation.
1049 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1051 * gst/gstpad.c: (add_unref_pad_to_list),
1052 (gst_pad_get_internal_links_default):
1053 Add fallback when calling the deprecated function on an element that
1054 implements the new internal_link handler.
1056 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1058 * docs/gst/gstreamer-sections.txt:
1061 Add new tags for geo location and clarify purpose of existing location
1064 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1066 Patch by: Olivier Crete <tester at tester dot ca>
1068 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1069 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1070 Use thread-safe internal links iterator. Fixes #549504.
1072 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1074 Based on patch by: Olivier Crete <tester at tester dot ca>
1076 * docs/gst/gstreamer-sections.txt:
1077 * win32/common/libgstreamer.def:
1078 * gst/gstpad.c: (gst_pad_init),
1079 (gst_pad_set_iterate_internal_links_function),
1080 (int_link_iter_data_free), (iterate_pad),
1081 (gst_pad_iterate_internal_links_default),
1082 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1084 Add threadsafe replacement functions for getting internal links of an
1085 element. Deprecate the old internal links functions.
1086 API:GstPad::gst_pad_set_iterate_internal_links_function()
1087 API:GstPad::GstPadIterIntLinkFunction
1088 API:GstPad::gst_pad_iterate_internal_links()
1089 API:GstPad::gst_pad_iterate_internal_links_default()
1091 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1092 (gst_proxy_pad_init):
1093 Implement threadsafe internal links.
1095 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1096 Unit test for internal links on tee. See #549504.
1098 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1100 * tests/check/Makefile.am:
1101 libs/transform1 test requires libs/test_transform.c
1103 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1105 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1106 Die evil deadlock, die !
1108 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1110 * gst/gstutils.c: (gst_element_get_compatible_pad):
1111 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1112 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1113 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1114 not steal the refcount of the given caps as stated.
1116 REVERT THIS COMMIT ONCE FIXED !
1117 REVERT THIS COMMIT ONCE FIXED !
1118 REVERT THIS COMMIT ONCE FIXED !
1119 REVERT THIS COMMIT ONCE FIXED !
1120 REVERT THIS COMMIT ONCE FIXED !
1121 REVERT THIS COMMIT ONCE FIXED !
1123 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1125 * gst/gstiterator.c:
1126 * gst/gstiterator.h:
1127 After 3 years it's about time to revise the documentation of the
1130 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1132 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1133 Make the internal links function less thread-unsafe and add some
1134 comments, dunno why.
1136 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1138 * gst/gst_private.h:
1139 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1140 build with --disable-gst-debug.
1142 2008-08-28 David Schleef <ds@schleef.org>
1144 * gst/gstpadtemplate.c: Revert last change, since it breaks
1145 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1146 but shouldn't be enabled until we've released fixed versions
1147 of -good and -ffmpeg.
1149 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1152 Put the gst_object_get_name() back in.
1154 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1156 * gst/gstpadtemplate.c:
1157 The old behaviour was that gst_pad_template_new() takes ownership of
1158 the caps. As we now call g_object_new() which calls g_object_set() and
1159 which copies the caps, we have to unref them to not leak them. Fixes
1160 make valgrid for me.
1162 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1165 Don't segfault on input like "tel:+1-123-555-1234".
1167 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1170 Due to popular request also include ObjectType in
1171 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1173 2008-08-26 David Schleef <ds@schleef.org>
1175 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1176 src_val must be positive, because that's not a requirement.
1177 This causes problems with converting negative granulepos
1179 * gst/gstquery.c: Same, gst_query_new_convert().
1181 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1183 * gst/gstclock.c: (gst_clock_add_observation):
1184 Add some more debugging to the clock slaving code.
1186 * win32/common/libgstbase.def:
1187 Add new basetransform method.
1189 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1191 * gst/gstbin.c: (gst_bin_element_set_state):
1192 Take the (recursive) state lock between getting the locked state of an
1193 element and changing the element state. This allows the application to
1194 lock an element's state and then change its state without races.
1196 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1198 * gst/gstbin.c: (gst_bin_element_set_state):
1199 When an element is in the locked state we still want to update the
1200 base_time of the element.
1202 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1204 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1205 Use the result from gst_pad_set_caps() instead of assuming the element
1206 always accepted the caps computed by the default negotiate function.
1208 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1210 * docs/libs/gstreamer-libs-sections.txt:
1211 * libs/gst/base/gstbasetransform.c:
1212 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1213 (gst_base_transform_chain), (gst_base_transform_suggest),
1214 (gst_base_transform_reconfigure):
1215 * libs/gst/base/gstbasetransform.h:
1216 Implement method for reconfiguring basetransform.
1217 API: GstBaseTransform::gst_base_transform_reconfigure()
1219 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1221 patch by: Murray Cumming <murrayc@murrayc.com>
1224 Mention that this is just like gst_buffer_merge() but with extra
1225 unreffing for C coders. Advise language bindings not to wrap it.
1228 Also fix file comment.
1230 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1232 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1234 * plugins/elements/gstfakesink.c:
1235 * plugins/elements/gstfakesrc.c:
1236 Call super::event() when not handling it. Fixes #544855.
1238 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1240 Patch by: Alessandro Decina <alessandro@nnva.org>
1241 * plugins/elements/gstfilesrc.c:
1242 Use 64 bit variants of stat functions on win32, to enable support
1243 of large files there.
1246 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1248 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1249 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1250 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1251 (gst_base_sink_get_position), (gst_base_sink_change_state):
1252 Improve position reporting in the flushing state.
1253 Also report the position when we are not yet prerolled but we
1254 have a newsegment event. Fixes #543444.
1255 Improve the pull-based negotiation code.
1257 * tests/check/elements/fakesink.c: (GST_START_TEST),
1259 Add testcase for position reporting while flushing in PAUSED and
1262 * tests/check/generic/sinks.c: (GST_START_TEST):
1263 Update unit-test, we can now query the position as soon as we receive a
1266 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1268 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1270 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1271 When the subclass event handler releases the PREROLL_LOCK, we could be
1272 in the flushing state and we have to ignore the event. Fixes #548394.
1274 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1276 * tools/gst-launch.1.in:
1277 Document GST_REGISTRY_UPDATE environment variable.
1279 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1281 * libs/gst/base/gstbasetransform.c:
1282 (gst_base_transform_prepare_output_buffer):
1283 If the element is configured in passthrough mode but the
1284 prepare_output_buffer gave us a new output buffer, discard that buffer
1285 and reuse the input buffer.
1287 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1289 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1291 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1292 (gst_tee_request_new_pad), (gst_tee_release_pad),
1293 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1294 * plugins/elements/gsttee.h:
1295 Protect pad_alloc with a new lock so that we can be sure that nothing is
1296 performing a pad_alloc when removing the pad. Fixes #547835.
1298 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1299 (buffer_alloc_harness_teardown), (app_thread_func),
1300 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1301 Added testcase for shutdown race.
1303 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1308 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1310 * libs/gst/base/gstbasetransform.c:
1311 (gst_base_transform_prepare_output_buffer),
1312 (gst_base_transform_buffer_alloc):
1313 Go over the buffer_alloc function again and make sure we always end up
1314 allocating a buffer.
1316 Avoid doing pad alloc when we have a pending suggestion because we
1317 cannot yet deal with changing caps in that case. Fixes #547728
1319 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1321 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1323 * docs/manual/advanced-clocks.xml:
1324 * docs/manual/clocks.png:
1325 * docs/manual/diagrams-clocks.svg:
1326 Add one more image showing different times together with a describing
1327 paragraph. Fixes #547729.
1329 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1331 * win32/common/libgstbase.def:
1334 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1336 * libs/gst/base/gstbasetransform.c:
1337 (gst_base_transform_transform_caps),
1338 (gst_base_transform_prepare_output_buffer),
1339 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1340 Don't overwrite the outsize when calculating the expected size of a new
1341 buffer because we still need it in case we cannot process the new
1343 When converting the size of the new buffer to an upstream size, actually
1344 use the expected size of the buffer, not some other random value.
1345 Use an atomic int to signal that a new upstream caps suggestion is
1347 When we can convert the current buffer to a new format, check if the
1348 buffer size is of the expected size and allocate a new buffer of the
1349 expected size when this is not the case. Fixes #546883.
1351 * tests/check/libs/transform1.c: (GST_START_TEST):
1352 remove ifdeffed code from the unit test.
1354 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1356 * pkgconfig/gstreamer-uninstalled.pc.in:
1357 * pkgconfig/gstreamer.pc.in:
1358 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1359 called gstcontroller-0.10.
1361 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1363 * gst/gstchildproxy.h:
1365 Remove double interface from doc-string.
1367 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1369 * libs/gst/base/gstbasesrc.c:
1370 * libs/gst/base/gstbasetransform.c:
1371 Fix headings in docs and gtk-doc warnings.
1373 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1375 * gst/gstregistrybinary.c:
1376 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1380 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1382 * libs/gst/base/gstbasetransform.c:
1383 (gst_base_transform_buffer_alloc):
1384 Fix a "may be used unitialized" warning.
1386 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1388 * docs/gst/gstreamer-sections.txt:
1390 Document preset-iface vmethods.
1392 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1394 * docs/manual/advanced-interfaces.xml:
1395 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1396 only used to discover devices.
1398 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1400 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1402 * gst/gst.c: (init_pre):
1403 Make sure gettext returns translations in UTF-8 encoding rather
1404 than in the current locale encoding (#546822).
1406 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1408 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1411 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1412 Improve unit test subset tests and add a testcase for the subset failure
1415 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1416 Improve subtraction unit test.
1418 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1420 * plugins/elements/gsttee.c:
1421 Unlock, instead of locking again.
1423 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1426 Clarify the docs a bit more.
1428 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1430 * tests/examples/metadata/read-metadata.c:
1431 Don't leak old taglist.
1433 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1435 Patch by: Olivier Crete <tester at tester dot ca>
1437 * gst/gststructure.c:
1438 (gst_structure_fixate_field_nearest_fraction):
1439 Avoid overflows in fixation code when dealing with MAXINT values, which
1440 v4l2src seems to do.
1443 * tests/check/gst/gststructure.c: (GST_START_TEST):
1444 Make a unit test to check the fix.
1446 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1448 * plugins/elements/gstcapsfilter.c: (copy_func),
1449 (gst_capsfilter_set_property):
1450 Use new caps suggestion feature of basetransform to request a caps
1451 negotiation upstream.
1453 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1455 * docs/libs/gstreamer-libs-sections.txt:
1457 API: GstBaseTransform::gst_base_transform_suggest()
1459 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1460 (gst_base_transform_init), (gst_base_transform_transform_caps),
1461 (gst_base_transform_transform_size),
1462 (gst_base_transform_configure_caps),
1463 (gst_base_transform_can_transform),
1464 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1465 (gst_base_transform_prepare_output_buffer),
1466 (gst_base_transform_buffer_alloc),
1467 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1468 (gst_base_transform_chain), (gst_base_transform_activate),
1469 (gst_base_transform_set_passthrough),
1470 (gst_base_transform_is_passthrough),
1471 (gst_base_transform_set_in_place),
1472 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1473 (gst_base_transform_set_qos_enabled),
1474 (gst_base_transform_is_qos_enabled),
1475 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1476 (gst_base_transform_reconfigure):
1477 * libs/gst/base/gstbasetransform.h:
1478 Rewrite of basetransform to perform negotiation outside of the
1479 buffer_alloc functions. Fixes #545853.
1481 * tests/check/libs/transform1.c: (GST_START_TEST),
1485 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1487 * tests/check/gst/gstpreset.c:
1488 Only run preset tests when $HOME is writable. Preliminary fix for
1491 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1493 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1494 (gst_bin_change_state_func), (bin_handle_async_done),
1495 (gst_bin_handle_message_func):
1496 Fix race for bins that simulate ASYNC state changes by inserting
1497 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1498 pending ASYNC messages even when the bin does not have ASYNC children.
1499 We note detect this behaviour because we will receive an ASYNC message
1500 that is originating from the bin itself.
1501 Fixes races with decodebin2 state changes.
1503 * tests/check/gst/gstbin.c: (GST_START_TEST):
1504 Add some more debug.
1506 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1508 * gst/gsttaglist.c: (_gst_tag_initialize):
1511 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1514 Argh. actually save the text before committing. Now adds
1515 gst_tag_merge_strings_with_comma() to gst_tag_register().
1517 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1521 Do as tim pointed out and actually register the new tag. Also improve
1522 te docs and use gst_tag_merge_strings_with_comma() method to allow
1523 retriving all keywords merged in one list.
1525 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1528 * docs/gst/gstreamer.types:
1529 Revert 'accidential' change of the configure option removal. We still
1530 need to generate the types file in configure --disable-load-save.
1532 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1534 * docs/gst/gstreamer-sections.txt:
1536 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1538 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1540 * gst/gstpadtemplate.c:
1541 (gst_pad_template_class_init), (gst_static_pad_template_get),
1542 (gst_pad_template_new), (gst_pad_template_pad_created),
1543 (gst_pad_template_set_property), (gst_pad_template_get_property):
1544 Add "name-template", "direction", "presence" and "caps" properties,
1545 so that gst_pad_template_new() is just a thin wrapper around
1546 g_object_new(), which is better for bindings. (Fixes: #539772)
1548 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1551 Be more liberal in what URIs we accept.
1552 Do not unescape bits of the URI for no apparent reason before passing to
1553 the element. Fixes #545352.
1555 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1557 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1560 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1562 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1565 * docs/gst/gstreamer-sections.txt:
1566 * docs/gst/gstreamer.types:
1567 * docs/gst/gstreamer.types.in:
1570 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1571 * gst/gstconfig.h.in:
1572 * gst/gstelement.c: (gst_element_get_index):
1573 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1574 (gst_registry_binary_load_feature),
1575 (gst_registry_binary_read_cache):
1576 * gst/gstregistryxml.c: (load_feature),
1577 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1578 * plugins/Makefile.am:
1580 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1581 (print_plugin_features), (print_element_features):
1582 * tools/gst-xmlinspect.c: (print_event_masks),
1583 (print_element_info):
1584 * win32/common/gstconfig.h:
1585 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1587 Disabling the indexers and URI handler code will only reduce the
1588 required amount of memory by a very small amount but on the other hand
1589 requires much more maintaince work. Apart from that many places of
1590 code are broken when disabling them.
1592 Disabling the enum types doesn't reduce the required amount of memory
1593 by more than a few bytes and makes it hard to fix bugs like #539772,
1594 i.e. use the enums as GObject properties.
1596 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1598 * docs/design/part-TODO.txt:
1599 Add some thoughts and problems with upstream renegotiation.
1601 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1603 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1604 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1605 Remove silly redundant debug.
1606 Add some more debug info.
1607 Clarify the docs regarding new caps received from pad_alloc.
1609 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1611 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1612 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1613 Make setting the caps more threadsafe.
1615 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1617 * docs/design/part-element-transform.txt:
1620 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1622 * plugins/elements/gstqueue.c: (gst_queue_init),
1623 (gst_queue_acceptcaps):
1624 Add and use a custom acceptcaps function instead of falling back to the
1625 potentially less optimized default implementation.
1627 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1629 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1630 Only sanity-check the buffer size if requested_caps == buffer_caps
1631 (ie. don't take pad caps into account, they're not relevant here)
1633 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1635 * plugins/elements/gsttee.c:
1636 * plugins/elements/gsttee.h:
1637 Reverting as not everything is clear yet. Needs some general design
1640 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1643 ChangeLog surgery for tee commit.
1645 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1647 * docs/gst/gstreamer-sections.txt:
1648 Cleanup section-file.
1650 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1652 * plugins/elements/gsttee.c:
1653 * plugins/elements/gsttee.h:
1654 Relay tag events in tee. Fixes parts of #474016.
1655 Downgrades 3 reoccurring debugs to log.
1657 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1660 * libs/gst/Makefile.am:
1661 Build the net library if we have winsock2.
1663 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1665 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1667 * docs/manual/advanced-threads.xml:
1668 * docs/manual/diagrams-pipelines.svg:
1669 * docs/manual/hello-world.png:
1670 * docs/manual/linked-elements.png:
1671 * docs/manual/mime-world.png:
1672 * docs/manual/queue.png:
1673 * docs/manual/thread-buffering.png:
1674 * docs/manual/thread-synchronizing.png:
1675 Replace one diagram with two separate ones and updates others.
1678 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1681 Fix link in documentation.
1683 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1686 Fix confusing documentation.
1688 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1690 * libs/gst/base/gstbasesrc.h:
1691 revert the changes to the header file for the ABI.
1693 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1695 * libs/gst/base/gstbasesrc.c:
1696 * libs/gst/base/gstbasesrc.h:
1697 Don't cache the seekable status.
1700 2008-07-24 Rene Stadler <mail@renestadler.de>
1702 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1703 code to close the pipeline graph. This prevents the program from
1704 printing internal data flow errors.
1706 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1708 * docs/manual/basics-bus.xml:
1709 Correct typo. Fixes bug #544320.
1711 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1714 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1715 Add check (taken from -base) for winsock, adds WIN32_LIBS
1717 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1719 Define GST_EXPORTS when building libgstreamer (only used on win32)
1720 * gst/gst_private.h:
1722 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1723 for symbols that we need to export in both these files.
1725 Include gst_private.h higher up to avoid some compile problems on win32.
1727 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1732 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1735 Previous commit was wrong NULL caps does not exist
1736 and indicate an error, so also add a FIXME to
1737 gst_caps_is_equal where NULL caps are accepted.
1739 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1742 Allow passing of NULL to gst_caps_union
1744 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1746 * gst/gstghostpad.c:
1747 Add in doc that gst_ghost_pad_set_target can accept
1748 NULL to clear target
1750 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1753 * gst/gstregistry.c:
1754 GstRegistryPool doesn't exist; don't refer to it in docs.
1755 Don't refer to functions that don't exist in docs, it's
1758 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1761 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1763 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1765 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1767 * docs/pwg/building-testapp.xml:
1768 Don't use an undeclared variable in the example program.
1771 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1773 * gst/gstdebugutils.c:
1774 Squeeze ghost-pad links and remove <> from classname labels to save
1775 more horizontal space.
1777 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1779 * gst/gstdebugutils.c:
1780 Give request and sometimes pads a different shpe style. Condense the
1781 graphs a little more.
1783 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1786 Don't require flex and bison if the parser is disabled.
1788 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1790 * libs/gst/controller/gstinterpolationcontrolsource.c:
1791 (_list_find_sorted_custom):
1792 Don't use declarations after statements.
1794 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1796 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1797 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1798 of the the child-added / -removed signals as GstChildProxy
1799 only supports GstObjects.
1801 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1803 * gst/gstdebugutils.c:
1806 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1808 Patch by: Alessandro Decina <alessandro at nnva dot org>
1811 Fix "ignored return value" compiler warning with newer glibc.
1813 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1815 * gst/gstchildproxy.c:
1816 Fix copy&paste error in gst_child_proxy_removed() documentation.
1818 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1820 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1821 Print error debug message if plugin description fields that should
1824 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1825 Don't crash if the string to serialise is NULL (it really should
1826 not be, but apparently this used to work with the xml registry ...).
1828 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1830 * tools/gst-plot-timeline.py:
1831 Fix parsing of log messages
1833 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1835 * win32/common/libgstbase.def::
1836 Sort alphabetically so make check-exports doesn't barf.
1838 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1841 Use gst_format_get_name() to improve debug output.
1844 Remove #ifdef'ed code. Add TODO comment.
1847 Add debug output to ease spotting format != segment.format assertions.
1849 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1851 * tests/check/libs/gdp.c: (gst_dp_suite):
1852 Also enable the GDP unit test again on PPC now that the bug
1855 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1857 * libs/gst/dataprotocol/dataprotocol.c:
1858 Don't write to the same region of memory as a uint64 and uint16
1859 as this breaks strict aliasing rules and apparantly breaks on PPC
1860 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1862 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1864 * libs/gst/controller/gstinterpolationcontrolsource.c:
1865 Optimize list handling. Use own find function. Exploit that fact that
1866 the list is sorted. Also pass back the node before, so that we can
1867 insert quickly. Have a fast path for append.
1869 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1871 * docs/design/draft-framestep.txt:
1872 * docs/design/part-negotiation.txt:
1875 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1878 Show configuration sumary after configure run. Based on patch by
1879 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1881 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1883 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1885 * docs/manual/advanced-autoplugging.xml:
1886 * docs/manual/advanced-threads.xml:
1887 * docs/manual/basics-bins.xml:
1888 * docs/manual/basics-elements.xml:
1889 * docs/manual/basics-helloworld.xml:
1890 * docs/manual/basics-pads.xml:
1891 Add scale factor for pdf output.
1893 * docs/manual/intro-basics.xml:
1894 Switched sections "pads" and "bins" and added a pipeline diagram.
1896 * docs/manual/intro-gstreamer.xml:
1897 Added more info on gstreamer.
1899 * docs/manual/intro-motivation.xml:
1900 Commented out the whole section "current problem", which sounds
1901 historical and somehow osolete; it could be turned in a positive
1902 way and reused to improve the design principles.
1904 * docs/manual/intro-preface.xml:
1905 - Update URLs to library.gnome.org.
1906 - Do not mention GTK+ in preliminary reading (irrelevant).
1907 - Mention Plugin Writer's Manual and further reading only in the
1909 - Added a list of most relevant GObject/glib topics.
1911 * docs/manual/Makefile.am:
1912 * docs/manual/bin-element-ghost.fig:
1913 * docs/manual/bin-element-ghost.png:
1914 * docs/manual/bin-element-noghost.fig:
1915 * docs/manual/bin-element-noghost.png:
1916 * docs/manual/bin-element.fig:
1917 * docs/manual/bin-element.png:
1918 * docs/manual/filter-element-multi.fig:
1919 * docs/manual/filter-element-multi.png:
1920 * docs/manual/filter-element.fig:
1921 * docs/manual/filter-element.png:
1922 * docs/manual/gstreamer-overview.png:
1923 * docs/manual/hello-world.fig:
1924 * docs/manual/hello-world.png:
1925 * docs/manual/linked-elements.fig:
1926 * docs/manual/linked-elements.png:
1927 * docs/manual/mime-world.fig:
1928 * docs/manual/mime-world.png:
1929 * docs/manual/queue.fig:
1930 * docs/manual/queue.png:
1931 * docs/manual/simple-player.png:
1932 * docs/manual/sink-element.fig:
1933 * docs/manual/sink-element.png:
1934 * docs/manual/src-element.fig:
1935 * docs/manual/src-element.png:
1936 * docs/manual/diagrams-general.svg:
1937 * docs/manual/diagrams-pipelines.svg:
1938 Removed .fig, added .png counterpart.
1942 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1944 * plugins/elements/gstmultiqueue.c:
1945 * plugins/elements/gstmultiqueue.h:
1946 revert extra-size-buffers stuff, caused some race conditions
1947 and extra-size-buffers is not used anymore. Docs needs some updates
1949 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1951 * win32/common/config.h:
1952 * win32/common/gstenumtypes.c:
1953 * win32/common/gstenumtypes.h:
1954 * win32/common/gstversion.h:
1957 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1959 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1960 (GST_DEBUG_BIN_TO_DOT_FILE):
1961 Add missing Since' markers to gtk-doc blurbs.
1963 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1965 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1966 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1967 (set_caps_1), (set_caps_ct1), (transform_ct1),
1968 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1969 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1970 (transform_size_ct2), (buffer_alloc_ct2):
1971 Add some more tests with switching caps in buffer_alloc.
1973 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1975 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1976 (gst_test_trans_class_init), (result_sink_chain),
1977 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1978 (gst_test_trans_push), (gst_test_trans_pop):
1979 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1980 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1981 (set_caps_1), (set_caps_ct1), (transform_ct1),
1982 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1983 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1984 (transform_size_ct2), (buffer_alloc_ct2),
1985 (gst_basetransform_suite):
1986 More tests, prepare for tests with switching caps in buffer_alloc.
1988 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
1990 * plugins/elements/gstmultiqueue.c:
1991 * plugins/elements/gstmultiqueue.h:
1992 Fix dead-lock in underrun_cb
1994 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1996 * docs/design/part-states.txt:
1997 Fix device open/close docs.
1999 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2002 Mention bugnumber for last commit.
2004 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2006 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2008 * docs/manual/manual.xml:
2009 - Reorganised the previous "introduction" bundle into Foreword,
2010 Introduction, and About GStreamer. The two first are <preface>
2011 docbook elements. The later is the first part of the book.
2012 - added intro-gstreamer.xml (content partially from
2014 - moved appendix-win32.xml into appendix-integration.xml
2016 * docs/manual/intro-preface.xml: gstreamer section moved...
2017 * docs/manual/intro-gstreamer.xml: ...here. new file.
2019 * docs/manual/appendix-win32.xml: removed file. Content moved...
2020 * docs/manual/appendix-integration.xml: ...here.
2022 * docs/manual/highlevel-components.xml: section about GstEditor moved...
2023 * docs/manual/appendix-checklist.xml: ...here.
2027 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2029 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2031 * docs/manual/basics-helloworld.xml:
2032 * docs/manual/hello-world.fig:
2033 - Explicitely include glib.h.
2034 - Do not use global variables.
2035 - Use g_printerr() instead of g_print().
2036 - Minor formating/renaming to increase readibility.
2037 - Renamed new_pad() to on_pad_added()
2038 - Improved explenatory comments.
2039 - renamed ogg parser to ogg demuxer
2040 - Use "autoaudiosink" instead of "alsasink".
2043 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2046 Remove cvs conflict marker.
2048 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2051 Document that for plgin-docs we extraxt he short-desc from the element
2054 * docs/design/part-states.txt:
2055 Tell that devices should be closed in PAUSED -> READY.
2057 * docs/manual/README:
2058 Document how tests in the manual are handled.
2063 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2065 * gst/gstbin.c: (bin_query_latency_fold):
2066 Only care about latency min and max when the sink is actually a live
2069 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2071 * docs/design/part-block.txt:
2074 * docs/design/part-element-transform.txt:
2075 Add notes about why transform needs to know input/output sizes.
2076 Add some issues that need to be solved.
2077 Add some more use cases.
2079 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2080 (gst_test_trans_class_init), (result_sink_chain),
2081 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2082 (gst_test_trans_push), (gst_test_trans_pop):
2083 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2084 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2085 (set_caps_1), (set_caps_ct1), (transform_ct1),
2086 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2087 (gst_basetransform_suite):
2088 Add suport for different pad templates and buffer-alloc.
2089 Add more checks for caps and buffer-alloc.
2090 Add checks for proxy buffer alloc.
2091 Add unit test for copy transform.
2093 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2095 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2097 * docs/manual/appendix-integration.xml:
2098 * docs/manual/appendix-licensing.xml:
2099 * docs/manual/basics-elements.xml:
2100 * docs/manual/basics-helloworld.xml:
2101 * docs/manual/basics-pads.xml:
2102 * docs/manual/highlevel-components.xml:
2103 * docs/manual/highlevel-xml.xml:
2104 * docs/manual/intro-basics.xml:
2105 * docs/manual/intro-preface.xml:
2106 Typo and formatting fixes (#538594).
2108 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2110 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2111 Fix some memory leaks and uses of object instances that we don't
2114 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2116 * plugins/elements/gstmultiqueue.c:
2117 Add functionality to extra-size-buffers property.
2119 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2121 * plugins/elements/gstmultiqueue.c:
2122 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2123 activate the pads if they are added in STATE_NULL.
2125 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2127 * docs/libs/gstreamer-libs-sections.txt:
2129 * libs/gst/check/gstcheck.c:
2130 * libs/gst/check/gstcheck.h:
2131 API: gst_check_teardown_pad_by_name
2133 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2135 * libs/gst/check/gstcheck.c:
2136 * libs/gst/check/gstcheck.h:
2137 Also setup request pads and allow setup pads by name (#537812)
2138 API: gst_check_setup_src_pad_by_name
2139 API: gst_check_setup_sink_pad_by_name
2141 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2143 * tests/check/gst/gstbuffer.c:
2144 * tests/check/pipelines/parse-launch.c:
2145 Use HAVE_VALGRIND_H some more.
2147 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2149 * scripts/cvs-update.sh:
2150 Pass arguments to make.
2151 Run autoregen.sh if Makefile is not there.
2153 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2157 Don't assume that <valgrind/valgrind.h> exists just because
2158 the binary is there.
2160 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2162 * tests/check/Makefile.am:
2163 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2164 (gst_test_trans_class_init), (gst_test_trans_init),
2165 (gst_test_trans_set_data), (result_sink_chain),
2166 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2167 (gst_test_trans_pop):
2168 * tests/check/libs/transform1.c: (GST_START_TEST),
2169 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2170 Add some test basetransform element and the beginnings of various
2173 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2175 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2176 Increase code readability.
2177 Don't try to compare buffer offsets when ther are invalid.
2179 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2181 * docs/design/Makefile.am:
2182 Dist some more design docs.
2184 * docs/random/moving-plugins:
2185 Small addition: good plugins mustn't have functional code
2186 within assertion macros.
2188 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2190 * docs/design/draft-framestep.txt:
2191 Some ideas about a framestep API
2193 * docs/design/part-element-transform.txt:
2194 Start design and use cases for basetransform in order to get it
2197 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2200 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2201 be in UTF-8 encoding.
2203 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2206 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2208 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2210 * plugins/elements/gstcapsfilter.c:
2211 * plugins/elements/gstfakesink.c:
2212 * plugins/elements/gstfakesrc.c:
2213 * plugins/elements/gstfdsink.c:
2214 * plugins/elements/gstfdsrc.c:
2215 * plugins/elements/gstfilesink.c:
2216 * plugins/elements/gstfilesrc.c:
2217 * plugins/elements/gstidentity.c:
2218 * plugins/elements/gstmultiqueue.c:
2219 * plugins/elements/gstqueue.c:
2220 * plugins/elements/gsttee.c:
2221 * plugins/elements/gsttypefindelement.c:
2222 Remove short_description. Add basic docs for gsttypefindelement.
2223 Simplify markup for fakesrc/fdsrc.
2225 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2227 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2230 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2232 Patch by: Joel Larsson <tilljoel at gmail dot com>
2234 * docs/plugins/gstreamer-plugins.args:
2235 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2236 (gst_fd_src_init), (gst_fd_src_update_fd),
2237 (gst_fd_src_set_property), (gst_fd_src_get_property),
2238 (gst_fd_src_create):
2239 * plugins/elements/gstfdsrc.h:
2240 Add timeout property like udpsrc. Fixes #538628.
2241 Add some more docs and example pipelines.
2243 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2245 * docs/libs/gstreamer-libs-sections.txt:
2246 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2247 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2248 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2249 (gst_base_sink_do_sync):
2250 * libs/gst/base/gstbasesink.h:
2251 * win32/common/libgstbase.def:
2252 Add method to allow sinks to specify additional delay between the sync
2253 times and the actual rendering of the data.
2254 API: gst_base_sink_set_render_delay()
2255 API: gst_base_sink_get_render_delay()
2257 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2260 Bump version number back to dev -> 0.10.20.1
2262 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2264 * docs/gst/gstreamer-sections.txt:
2265 * gst/gsttaglist.c: (_gst_tag_initialize):
2267 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2270 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2272 * libs/gst/controller/gstcontroller.c:
2273 Revert one change, that make ret value possible uninitialized.
2275 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2277 * libs/gst/controller/gstcontroller.c:
2278 Use freeze/thaw notify to sync notify emission a bit (its also more
2279 efficient). Move debug output to LOG (is called a lot in a loop).
2280 Always unset g_values if the have been initialized.
2282 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2284 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2285 (gst_base_sink_wait_eos), (gst_base_sink_event):
2286 If we have not seen a buffer before EOS, use the segment values to
2287 report the current position instead of invalid positions.
2289 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2291 * docs/plugins/tmpl/.cvsignore:
2292 * tests/check/gst/.cvsignore:
2295 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2297 * libs/gst/controller/gstinterpolation.c:
2298 * libs/gst/controller/gstinterpolationcontrolsource.c:
2299 * tests/check/libs/controller.c:
2300 Rewrite handling of default values. Fix overflow with unsigned types
2301 in linear interpolation. Remove now obsolete _first_value() function.
2302 Add more tests. Fixes #538201.
2304 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2306 * libs/gst/base/gstbasetransform.c:
2307 (gst_base_transform_class_init), (gst_base_transform_init),
2308 (gst_base_transform_transform_caps),
2309 (gst_base_transform_prepare_output_buffer):
2311 When a buffer is writable, its metadata is also writable so we don't
2312 need to subbuffer (which then makes the buffer not-writable anymore).
2314 === release 0.10.20 ===
2316 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2319 releasing 0.10.20, "You Crazy Diamond"
2321 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2324 0.10.19.3 pre-release
2326 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2330 Rename DATADIR to GST_DATADIR to avoid build problems
2331 on win32. Patch By: David Schleef <ds@schleef.org>
2334 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2337 Explicitely link with -ldl if dladdr() is found there. Before it was
2338 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2339 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2341 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2343 * gst/gsterror.c: (_gst_stream_errors_init):
2344 Fix typo (spotted by Fabricio Godoy, #536723).
2346 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2349 0.10.19.2 pre-release
2351 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2353 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2354 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2356 Make sure we don't generate invalid QoS messages.
2358 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2360 * gst/gstevent.c: (gst_event_new_qos):
2361 Add some assert and docs for invalid input to the qos function.
2363 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2365 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2366 (gst_base_sink_get_position):
2367 The reported position must always be smaller than the last seen
2368 timestamps (or timestamp + duration for reverse).
2370 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2372 Patch by: Rob Bradford <rob at robster dot org dot uk>
2374 * gst/gstregistry.c: (gst_registry_scan_path_level):
2375 Don't recurse into .debug directories as some distros install
2376 the debugging symbols next to the plugins in .debug directories
2377 and dlopen() crashes on them sometimes. Fixes bug #508070.
2379 Add FIXME for 0.11 to not recurse into directories at all because
2380 it's very inconsistent to the behaviour of other PATH environment
2383 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2385 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2386 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2387 Fix position query range checks in reverse playback.
2389 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2393 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2394 clear of the reference to the resulting pad must be released later
2395 or not, resulting in possible leaks. Fixes bug #533865.
2397 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2399 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2401 * gst/gstelementfactory.c:
2402 Small doc fix. Fixes #535285.
2404 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2406 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2408 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2409 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2410 (gst_base_src_loop), (gst_base_src_set_flushing),
2411 (gst_base_src_change_state):
2412 Make sending an EOS event to the basesrc non-blocking even if the
2413 implementation does blocking waits in the create function. This is done
2414 by unlocking the create function when EOS is sent.
2417 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2419 * tools/gst-inspect.c: (print_element_properties_info):
2420 If possible print the element type of GValueArray properties.
2422 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2424 * gst/gstiterator.c:
2425 Remove an unused field from the private GstListIterator struct.
2427 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2429 * libs/gst/controller/gstcontroller.c:
2430 Add parameter guards.
2432 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2434 * tests/check/gst/gstpipeline.c:
2435 Revert test change and add comment why it should not work.
2437 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2439 * tests/check/gst/gstpipeline.c:
2440 Extending the test a little to verify that we also get the NULL state-
2443 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2445 * gst/gstpreset.c: (gst_preset_default_get_meta),
2446 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2447 (gst_preset_load_preset), (gst_preset_save_preset),
2448 (gst_preset_rename_preset), (gst_preset_delete_preset),
2449 (gst_preset_set_meta):
2450 Add Since: markers to docs blurbs.
2452 * win32/common/libgstreamer.def:
2453 Add recently-added API.
2455 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2457 Patch by: Stefan Kost <ensonic@users.sf.net>
2460 Add DATADIR for storing presets.
2462 * docs/gst/gstreamer-docs.sgml:
2463 * docs/gst/gstreamer-sections.txt:
2464 * docs/gst/gstreamer.types.in:
2465 Add GstPreset to docs.
2469 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2470 (preset_open_and_parse_header), (preset_parse_version),
2471 (preset_merge), (preset_get_keyfile),
2472 (gst_preset_default_get_preset_names),
2473 (gst_preset_default_get_property_names),
2474 (gst_preset_default_load_preset),
2475 (gst_preset_default_save_presets_file),
2476 (gst_preset_default_save_preset),
2477 (gst_preset_default_rename_preset),
2478 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2479 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2480 (gst_preset_default_reset), (gst_preset_get_preset_names),
2481 (gst_preset_get_property_names), (gst_preset_load_preset),
2482 (gst_preset_save_preset), (gst_preset_rename_preset),
2483 (gst_preset_delete_preset), (gst_preset_set_meta),
2484 (gst_preset_get_meta), (gst_preset_class_init),
2485 (gst_preset_base_init), (gst_preset_get_type):
2487 Add GstPreset to core. Fixes #396779
2489 * tests/check/Makefile.am:
2490 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2491 (gst_preset_test_set_property), (gst_preset_test_class_init),
2492 (gst_preset_test_base_init), (gst_preset_test_get_type),
2493 (gst_preset_test_plugin_init), (GST_START_TEST),
2494 (remove_preset_file), (test_setup), (test_teardown),
2496 Add GstPreset unit tests.
2498 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2500 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2501 The default event function on a sinkpad should return TRUE when
2502 there are no internal links but should collect the return values from
2503 the internal links otherwise.
2505 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2507 * plugins/elements/gsttypefindelement.c:
2508 (gst_type_find_element_src_event),
2509 (gst_type_find_element_handle_event):
2510 Use faster and safer _pad_push_event().
2512 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2514 * docs/gst/gstreamer-sections.txt:
2515 * gst/gstutils.c: (element_find_unlinked_pad),
2516 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2518 API: add gst_bin_find_unlinked_pad()
2519 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2521 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2527 Fixed a bunch of typos.
2529 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2532 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2533 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2534 (gst_parse_bin_from_description_full):
2536 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2538 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2540 * docs/pwg/advanced-tagging.xml:
2541 Small docs update, can't be bothered to rewrite the nonsensical
2544 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2547 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2549 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2551 * gst/parse/grammar.y:
2552 Remove unneeded casts.
2554 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2556 * gst/parse/grammar.y:
2557 * tests/check/pipelines/parse-launch.c:
2558 Get all missing elements from a parse launch string if possible
2559 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2561 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2563 * tests/check/Makefile.am:
2564 * tests/check/pipelines/parse-launch.c:
2565 Add some unit tests for the new gst_parse_launch*_full() API.
2566 (Exposes a previously-existing memory leak in the error code
2567 path, so adding to VALGRIND_TO_FIX for now).
2569 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2571 * docs/gst/gstreamer-sections.txt:
2572 * gst/gst.c: (init_post):
2573 * gst/gst_private.h: (_GstParseContext):
2574 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2575 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2576 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2577 (gst_parse_launch_full):
2578 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2579 (GstParseFlags), (GstParseContext):
2580 * gst/gstutils.c: (gst_parse_bin_from_description),
2581 (gst_parse_bin_from_description_full):
2583 * gst/parse/grammar.y:
2584 * gst/parse/types.h:
2585 * win32/common/libgstreamer.def:
2586 Add new gst_parse_*_full API (#528178):
2587 API: gst_parse_launch_full()
2588 API: gst_parse_launchv_full()
2589 API: gst_parse_bin_from_description_full()
2590 API: gst_parse_context_new()
2591 API: gst_parse_context_free()
2592 API: gst_parse_context_get_missing_elements()
2594 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2596 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2598 * docs/faq/gst-uninstalled:
2599 Also support ffmpeg in gst-uninstalled.
2601 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2604 After discussion on IRC use the binary registry as default
2605 but allow to disable it with --disable-binary-registry.
2607 * win32/common/libgstreamer.def:
2608 Add the two new symbols for the binary registry.
2610 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2612 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2613 * gst/gstutils.c: (gst_parse_bin_from_description):
2614 * gst/parse/grammar.y: (graph):
2615 More guards against bad input; typo fix; some minor clean-ups.
2617 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2619 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2621 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2622 If nothing else can be used, use the last buffer's start time as
2623 the segment's last stop. Fixes bug #534258.
2625 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2627 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2628 Move size sanity check to the right place: downstream may return
2629 a buffer with a smaller size if the buffer caps are different than
2630 the requested ones, as may happen when doing reverse negotiation.
2632 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2634 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2635 (gst_file_sink_render):
2636 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2637 (gst_file_src_start):
2638 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2641 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2643 * gst/gstpad.c: (gst_pad_load_and_link):
2644 * gst/gstutils.c: (gst_element_link_pads),
2645 (gst_element_unlink_pads):
2646 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2647 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2648 (gst_check_teardown_sink_pad),
2649 (gst_check_element_push_buffer_list):
2650 * tests/check/elements/fakesink.c: (GST_START_TEST):
2651 * tests/check/elements/filesink.c:
2652 * tests/check/elements/filesrc.c: (GST_START_TEST):
2653 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2654 (mq_sinkpad_to_srcpad):
2655 * tests/check/elements/tee.c: (GST_START_TEST):
2656 * tests/check/generic/sinks.c: (GST_START_TEST):
2657 * tests/check/gst/gstbin.c: (GST_START_TEST):
2658 * tests/check/gst/gstevent.c: (GST_START_TEST):
2659 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2660 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2661 * tests/check/gst/gstquery.c: (GST_START_TEST):
2662 * tests/check/gst/gstutils.c: (GST_START_TEST):
2663 * tests/check/libs/basesrc.c: (GST_START_TEST):
2664 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2665 (gst_parse_test_element_change_state):
2666 Don't use gst_element_get_pad().
2668 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2671 Fix installing plugin documentation when gtk-doc is disabled.
2673 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2675 * docs/manual/advanced-autoplugging.xml:
2676 * docs/manual/basics-helloworld.xml:
2677 * docs/manual/basics-pads.xml:
2678 * docs/manual/highlevel-components.xml:
2679 Avoid using a bad function in the example code.
2681 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2683 * gst/gstclock.c: (gst_clock_set_calibration):
2684 Fix debug of the new clock rate.
2686 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2688 * win32/common/libgstbase.def:
2689 Add gst_base_sink_wait_clock() to the exported symbols.
2691 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2693 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2695 * libs/gst/base/gstbasetransform.c:
2696 (gst_base_transform_sink_event):
2697 Unref events that the GstBaseTransform::event vfunc didn't want to
2698 have forwarded by the base class. Closes a leak in identity.
2701 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2703 * docs/libs/gstreamer-libs-sections.txt:
2704 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2705 * libs/gst/base/gstbasesink.h:
2706 Expose a method that was previously used internally to synchronize
2707 against the clock because it can be useful for subclasses too.
2708 API: GstBaseSink::gst_base_sink_wait_clock()
2710 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2712 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2713 Add sanity check to make sure we don't get smaller buffers
2714 than requested (and fallback to normal buffer alloc if we do).
2716 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2718 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2719 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2720 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2721 Refactor adjusting the running_time with latency and offset into a
2723 When doing clipping, we still want to use the subclass get_times method,
2724 just in case the DURATION or TIMESTAMP are not set.
2726 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2728 * docs/gst/gstreamer-sections.txt:
2729 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2730 * gst/gsttypefind.h:
2731 * win32/common/libgstreamer.def:
2732 API: add gst_type_find_suggest_simple(), #533740.
2734 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2736 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2737 Use right error code when typefinding fails, so we can use
2738 the default (translated) error messages.
2740 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2742 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2743 (gst_base_src_start):
2744 When the subclass did not set caps on outgoing buffers, configure the
2745 caps we negotiated on the source pad.
2746 When the typefind helper does not find caps, error out properly instead
2747 of doing things with NULL caps.
2749 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2751 * gst/gsttypefind.h:
2752 Tabs to spaces, oh yes!
2754 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2756 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2757 Add David's and Benjamin's tests for array intersection to the
2758 unit test suite (#147931).
2760 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2763 Document that gst_event_new_tag() and gst_event_new_navigation()
2764 take ownership of the taglist/structure passed to them. (#533635).
2766 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2769 Don't descend into the plugins dir if plugin docs building
2773 Add a note about the new type:GTypeName syntax for the plugin
2774 documentation .types file.
2776 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2778 * gst/gstmessage.c: (gst_message_new_error),
2779 (gst_message_new_warning), (gst_message_new_info):
2781 Mark the debug string parameters as const. Fixes bug #533490.
2783 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2785 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2786 Sort buffer cache list by end offsets. This makes sure that we don't
2787 stop to search for a cached buffer that contains the requested data
2789 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2790 more efficient. Fixes bug #459862.
2792 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2795 Explain why we copy the list.
2797 * gst/gstpipeline.c:
2801 Add one debug-log statement to help tracing probelms with linking pads.
2803 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2805 * tests/check/gst/gstinfo.c:
2806 Add a test for removing the default log handler. Seems to fail under
2809 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2811 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2812 Release pad lock before calling out to avoid a possible deadlock.
2814 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2816 * gst/parse/grammar.y:
2817 Remove unneeded value unset.
2819 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2820 Add unit test for de/serialization of caps.
2822 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2824 * plugins/elements/gstfakesink.c:
2825 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2826 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2827 (gst_fake_src_class_init):
2828 Use custom marshalers that take GstMiniObject as first parameter.
2829 Using OBJECT as parameter while a GstMiniObject is given will lead
2830 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2832 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2834 * plugins/elements/gsttypefindelement.c:
2835 (gst_type_find_element_handle_event),
2836 (gst_type_find_element_send_cached_events),
2837 (gst_type_find_element_change_state):
2838 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2841 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2843 * plugins/elements/gsttypefindelement.c:
2844 (gst_type_find_handle_src_query), (stop_typefinding),
2845 (gst_type_find_element_handle_event),
2846 (gst_type_find_element_send_cached_events),
2847 (gst_type_find_element_change_state):
2848 Forward FLUSH_START events immediately and clean up instead of
2851 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2853 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2855 * libs/gst/base/gstbasetransform.c:
2856 (gst_base_transform_buffer_alloc):
2857 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2858 fall back to default negotiation in the chain function if the caps
2859 are different from what was requested. Fixes bug #526768.
2861 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2864 * tests/check/gst/gstsegment.c:
2865 No, let's not use g_slice_{dup|copy} here, since they only exist
2866 since GLib 2.14 and we still depend only on >= 2.12. Also add
2867 unit test for gst_segment_copy().
2869 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2871 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2872 Try to fix 'dereferencing type-punned pointer will break strict
2873 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2874 changed the default GType typedef from gulong to gsize at some point,
2875 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2876 g_once_* functions all take a gsize * though, so work around the type
2877 mismatch for C++ by doing everything in gsize and casting to GType
2880 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2882 * plugins/elements/gstmultiqueue.c:
2883 Add documentation for the signals to push our core plugin docs
2884 coverage back up to 100%.
2886 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2888 * gst/gstinfo.h (GST_FUNCTION):
2889 Reverted GST_FUNCTION to the old version as we don't want the
2890 full signature in C++ code. Also added support for MSVC.
2892 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2895 Intern the type name string, similar to what G_DEFINE_TYPE does.
2897 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2900 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2902 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2904 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2906 * libs/gst/base/gstbasetransform.c:
2907 (gst_base_transform_buffer_alloc):
2908 Don't passthrough buffer allocation too easily if the caps change.
2909 This breaks when working in passthrough mode and upstream changes
2910 it's caps. Fixes bug #526768.
2912 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2914 * gst/gstinfo.c (gst_debug_log_valist):
2915 Improved the __FILE__ part of debug output for MSVC.
2917 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2919 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2920 Declaration after statement fix for compilers like MSVC.
2922 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2924 * win32/common/config.h.in:
2925 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2926 use the real thing than having "???" unconditionally.
2928 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2930 * gst/gstinfo.h (GST_FUNCTION):
2931 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2933 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2935 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2938 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2939 (gst_base_sink_set_flushing):
2940 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2943 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2945 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2946 (gst_fake_src_init), (gst_fake_src_set_property),
2947 (gst_fake_src_get_property), (gst_fake_src_start):
2948 * plugins/elements/gstfakesrc.h:
2949 Added format property to control the format of the newsegment events.
2950 API: GstFakeSrc:format
2952 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2954 * win32/common/libgstreamer.def:
2955 Add gst_pad_has_name() to the exported symbols.
2957 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2959 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2960 * libs/gst/base/gstbasetransform.c:
2961 (gst_base_transform_prepare_output_buffer):
2962 Don't allow negative sizes when allocating new buffers.
2965 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2967 Patch by: Sjoerd Simons <sjoerd at luon net>
2969 * gst/gstbus.c: (gst_bus_source_dispatch):
2970 Don't print a warning if the queue is empty when we try to pop
2971 here. That could happen if another thread or callback set the
2972 bus to flushing between the source's check/prepare and the
2973 dispatch being called (#531538).
2975 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2977 * plugins/elements/gstmultiqueue.c:
2980 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
2982 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2983 Add unit test for deserializing uint64s and check some really large
2984 numbers in the int64 test.
2986 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2988 * tools/gst-inspect.c: (n_print), (print_hierarchy),
2989 (print_interfaces), (print_element_properties_info),
2990 (print_signal_info):
2991 Use "%s" as format string instead of printing strings directly.
2993 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2995 * gst/gstclock.c: (gst_clock_set_calibration):
2996 Make some checks actually useful.
2998 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2999 Remove some unused code. Unsigned integers tend to be >= 0.
3001 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3003 * gst/gstminiobject.c: (gst_value_get_mini_object):
3004 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3005 function was not in the unscheduled 0.10.19 release.
3007 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3009 * gst/gstregistry.c: (gst_registry_scan_path_level):
3010 Only print one log message per non-plugin file.
3012 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3014 * gst/gstinfo.c: (gst_debug_log_default):
3015 Fix alignment of debug log columns on 64-bit.
3017 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3019 * docs/libs/Makefile.am:
3020 * docs/libs/gstreamer-libs-sections.txt:
3021 Ignore private controller headers for docs.
3023 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
3025 * libs/gst/controller/gstcontrollerprivate.h:
3026 * libs/gst/controller/gsthelper.c:
3027 * libs/gst/controller/gstinterpolation.c:
3028 * libs/gst/controller/gstinterpolationcontrolsource.c:
3029 (gst_interpolation_control_source_set_interpolation_mode):
3030 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3031 * libs/gst/controller/lib.c:
3032 Move some private declarations into private headers.
3034 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
3036 * gst/gstdebugutils.c: (debug_dump_element_pad):
3037 Remove some code that is unused after Stefan's refactoring and uses
3038 uninitialized variables now, resulting in a compiler warning.
3040 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3042 * gst/gstregistry.c: (gst_registry_scan_path_level):
3043 Run g_str_has_suffix() only on the file name, not the
3046 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3048 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3049 Since we're not called only from the chain function any longer,
3050 we can't assume that there's always data in the queue, so move
3051 the is_full check to the beginning of the loop (otherwise we'd
3052 hit the assert when changing the limit properties while the
3053 queue is empty or not running yet).
3054 Also, only set a discont if items were actually removed from
3057 * tests/check/elements/queue.c: (test_leaky_downstream):
3058 Test case for the above.
3060 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3062 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3064 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3065 (gst_queue_chain), (queue_capacity_change),
3066 (gst_queue_set_property):
3067 When changing thr max capacity of a leaky queue, immediatly drop buffers
3068 instead of waiting for a push on the sinkpad. Fixes #530637.
3070 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3072 * gst/gstdebugutils.c:
3073 Refactor code and fix handling of ghostpads and their proxypads.
3075 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3077 * docs/gst/gstreamer-sections.txt:
3078 * gst/gstevent.c: (gst_event_has_name):
3080 * tests/check/gst/gstevent.c: (GST_START_TEST):
3081 Add method to conveniently check the name of a custom event with
3082 gst_event_has_name().
3083 Reformat the event docs so that related methods are put together instead
3084 of the default alphabetical sort.
3085 Update unit test with new method.
3086 API: GstEvent::gst_event_has_name()
3088 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3090 * libs/gst/check/Makefile.am:
3091 Don't add an explicit link to libgstreamer-0.10.la; it's already
3092 included in GST_OBJ_LIBS.
3094 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3097 Register GstClock type from a type-safe context. Fixes bug #530317.
3099 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3101 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3103 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3105 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3107 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3109 Use the GLib stuff to create a private structure.
3110 Add some locking around some dispose methods to make them a little
3111 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3113 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3115 * libs/gst/base/gstbasesink.h:
3116 * libs/gst/base/gstbasesrc.h:
3117 * libs/gst/base/gstbasetransform.h:
3118 * libs/gst/base/gstcollectpads.h:
3119 Fix doc typos and unify caps a bit.
3121 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3123 * tools/gst-launch.1.in:
3124 Forgot to also add the envvar docs here.
3126 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3128 * gst/gst.c: (init_post), (gst_deinit):
3129 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3130 (test_concurrent_create), (gst_pipeline_suite):
3131 Ref some more classes in gst_init() to work around thread-safety
3132 issues in pre-2.16 GLibs, and add basic unit test.
3134 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3136 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3137 (gst_base_sink_send_event):
3138 Rearrange the latency query code. We always want to do the upstream
3139 query, even if we are not live so that the upstream elements can get the
3140 latency results too. If we fail doing the query and we are live, we
3141 return TRUE afterwards.
3143 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3145 patch by: Jason Zhao <e3423c@motorola.com>
3147 * docs/gst/running.xml:
3149 Enable/disable scan_and_update_registry() based on commandline switch
3150 or environment variable. Fixes #520468.
3153 Fix typo in my previous commit.
3155 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3157 * gst/gstregistrybinary.c:
3158 Add a warning if we hit unhandled factories when saving.
3159 More debug logging detail, but move to LOG category.
3161 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3163 * gst/gstregistry.c:
3164 Tell the *truth* when improving the documentation.
3166 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3168 * gst/gstelementfactory.c: (gst_element_factory_make):
3169 Unref the factory after it was used the last time, not before.
3171 * gst/gstindexfactory.c: (gst_index_factory_make):
3172 Improve debugging a bit and don't leak a ref to the index factory with
3175 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3177 * gst/gstregistry.c:
3178 Improve the documentation.
3180 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3183 The glib macro seems to be borked. Use g_slice_copy directly and cast
3184 in the hope that this fixes the warning on 64bit.
3186 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3189 Document the new function. Use g_slice_dup() (no need for
3190 gst_segment_init()).
3192 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3194 * docs/gst/gstreamer-sections.txt:
3195 Move GParamSepc macros to standart section.
3198 Dn't document _get_type - its in private section in docs anyway and
3199 this doc-blob was incomplete.
3202 Fix wrong symbol names in docs.
3205 Add once doc sentence.
3207 * tests/check/gst/.cvsignore:
3210 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3212 * docs/gst/Makefile.am:
3213 And remove those libs here.
3215 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3217 * docs/libs/Makefile.am:
3218 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3220 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3222 Patch by: Olivier Crete <tester at tester dot ca>
3224 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3225 Add the min-threshold to the min latency if possible. Fixes #529148.
3227 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3229 * docs/gst/gstreamer.types.in:
3230 Stupid editor, I removed that line as it should go in yet.
3232 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3234 * docs/gst/gstreamer.types.in:
3235 * docs/libs/gstreamer-libs.types:
3236 Remove library types fro core docs and have them in libs docs.
3237 Reformat and cleanup. Add comment for miniobject types.
3239 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3241 * gst/gsturi.c: (gst_uri_get_protocol):
3242 Fix leak: g_strdown operates on the string in place, while
3243 g_ascii_strdown() returns a newly-allocated string.
3245 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3247 * tools/gst-inspect.c: (print_uri_handler_info),
3248 (print_element_info):
3249 Print the URI protocols and the URI type supported by the element.
3251 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3253 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3254 Use g_value_take_string() instead of the deprecated
3255 g_value_set_string_take_ownership().
3257 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3259 * gst/gstregistrybinary.c: (_gst_crc32):
3260 Return the old CRC instead of 0 if we give a NULL buffer
3261 or a buffer with a length of 0.
3263 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3265 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3266 (gst_uri_get_protocol), (gst_uri_has_protocol),
3267 (gst_uri_construct), (gst_uri_handler_set_uri):
3268 A valid URI scheme can also include '+', '-' and '.' additional
3269 to alphanumeric characters as per RFC 3986 Section 3.1.
3271 Handle URI schemes case insensitive in all places and convert
3272 to lower-case when constructing an URI or setting an URI with
3273 the GstURIHandler interface. Fixes bug #528868.
3274 All elements can still assume (as before) that they will
3275 get passed URIs with a lower-case URI scheme by the GstURIHandler
3278 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3280 * gst/gstcaps.c: (gst_static_caps_get):
3281 * gst/gstclock.c: (gst_clock_entry_new):
3282 Don't use g_atomic_set_int where it's not needed.
3284 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3286 * gst/gstvalue.c: (gst_value_deserialize_caps):
3287 * gst/parse/grammar.y:
3290 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3292 * gst/gstutils.c: (gst_atomic_int_set):
3293 Use g_atomic_int_set() here too instead of assignment +
3296 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3300 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3301 now that we depend on new enough GLib.
3303 * gst/gstcaps.c: (gst_static_caps_get):
3304 * gst/gstclock.c: (gst_clock_entry_new):
3305 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3306 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3307 (gst_debug_category_set_threshold):
3308 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3309 (gst_base_sink_set_qos_enabled):
3310 * libs/gst/net/gstnettimeprovider.c:
3311 (gst_net_time_provider_set_property):
3312 Use g_atomic_int_set() instead of gst_atomic_int_set().
3314 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3317 Also use G_GINT64_CONSTANT for the queries.
3319 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3322 Use G_GINT64_CONSTANT in varargs function.
3324 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3326 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3327 Initialize the registry magic with zeroes.
3329 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3331 * gst/gstregistrybinary.c: (_gst_crc32),
3332 (gst_registry_binary_write),
3333 (gst_registry_binary_initialize_magic),
3334 (gst_registry_binary_write_cache),
3335 (gst_registry_binary_check_magic),
3336 (gst_registry_binary_read_cache):
3337 * gst/gstregistrybinary.h:
3338 Add crc32 checksum to the binary registry file and check this before
3339 accepting a registry file.
3341 Also free the data list when writing to the registry file fails.
3343 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3345 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3346 (gst_registry_binary_load_feature),
3347 (gst_registry_binary_load_plugin):
3348 If an element supports the Uri interface, returns a valid pointer
3349 to the supported URI protocols but this pointer contains nothing
3350 don't try to save that as it will corrupt the registry.
3352 Don't unref the plugin if we added it to the registry already but
3353 fail to load a feature as gst_registry_add_plugin() takes ownership
3356 Improve debugging a bit.
3358 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3361 Clarify some tag item docs after discussion on irc.
3363 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3365 * docs/gst/gstreamer-docs.sgml:
3366 Remove commented out plugins (they have their own docs). Update
3369 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3371 * docs/gst/gstreamer-docs.sgml:
3372 * docs/gst/gstreamer-sections.txt:
3373 * gst/gstparamspecs.c:
3374 * gst/gstparamspecs.h:
3375 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3376 docs to own section.
3379 This now only documents GValue.
3381 * docs/libs/gstreamer-libs-sections.txt:
3382 * libs/gst/controller/gstcontroller.h:
3383 Remove GST_PARAM_CONTROLLABLE.
3385 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3388 Correct file path. Tell about how to use -overrides.txt.
3389 * docs/design/draft-tagreading.txt:
3390 Small design update.
3392 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3394 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3395 (gst_registry_binary_load_plugin):
3396 Fix a typo in a debug message and revert change from yesterday as
3397 gst_registry_add_plugin() will only fail if something is really wrong
3398 already and we can't survive it anyway.
3400 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3402 * gst/gst.c: (init_post), (gst_deinit):
3403 Pre-register GstGError GType from a thread-safe context
3404 (fixes #527967); unref enum type classes in deinit.
3406 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3408 Patch by: Rene Stadler <mail at renestadler de>
3410 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3411 Merging an empty list with another list in KEEP_ALL mode should
3412 yield an empty list as result and not the second list (#512578).
3414 * tests/check/gst/gsttagsetter.c:
3415 Add unit test for tag merge modes and the aforementioned bug.
3417 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3419 Patch by: Rene Stadler <mail at renestadler de>
3422 Fix description to match the order in the table (#512577).
3424 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3426 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3428 * libs/gst/net/gstnettimepacket.h:
3429 * docs/libs/gstreamer-libs-sections.txt:
3430 Define socklen_t as int if it's not defined yet. Fixes compilation
3431 with MSVC6 and other versions where socklen_t is not defined in
3432 the windows headers (#518022).
3434 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3436 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3437 If gst_registry_add_plugin() fails our reference to the plugin is
3438 invalid so don't try to use it anymore and instead error out.
3440 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3442 * tools/gst-xmlinspect.c: (print_element_info), (main):
3443 De-cruft a bit. If no argument is specified, print all elements in
3444 XML syntax rather than a freestyle list of elements like gst-inspect.
3445 Also, don't print XML header chunk unless we actually have something
3446 to print (ie. don't print it before an error message); print error
3447 message to stderr not stdout. Remove support for printing plugin
3448 info (it would just output something freestyle along the lines of
3449 gst-inspect so far), which fixes #514507. Also add license header.
3451 2008-04-11 Julien Moutte <julien@fluendo.com>
3454 * configure.ac: Merge platform specific defines, introduce a new
3455 define on OS X to remember that forking when updating registry is
3457 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3459 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3461 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3462 condition that leads to absolutely no plugins being registered on
3465 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3467 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3469 * gst/gstutils.c: (gst_pad_add_data_probe),
3470 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3471 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3472 (gst_pad_add_buffer_probe_full):
3474 * docs/gst/gstreamer-sections.txt:
3475 * win32/common/libgstreamer.def:
3476 Add gst_pad_add_*_probe_full() functions with a notify callback that
3477 lets the caller free the data it passes to the probe functions. This
3478 is useful for bindings such as gst-python or gstreamermm (#526814).
3479 API: gst_pad_add_data_probe_full
3480 API: gst_pad_add_buffer_probe_full
3481 API: gst_pad_add_event_probe_full
3483 * tests/check/gst/gstutils.c:
3484 Add minimal unit test to make sure freeing the data actually works
3487 * tests/benchmarks/.cvsignore:
3488 Random cvsignore addendum.
3490 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3492 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3493 (GST_DEBUG_BIN_TO_DOT_FILE):
3494 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3495 to it in the docs (since these are macros the types of the arguments
3496 won't be shown in the docs otherwise).
3498 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3501 Do not abort on out of memory for pad_alloc_buffer.
3503 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3505 * libs/gst/check/gstcheck.c:
3506 Remove blank line between symbol name ad parameters to fix gtkdoc
3509 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3511 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3513 * docs/gst/gstreamer-sections.txt:
3516 * win32/common/libgstreamer.def:
3517 Expose gst_segment_copy() to make things easier for the c++ bindings.
3519 API: gst_segment_copy()
3521 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3523 * gst/gst.c: (gst_init_get_option_group), (init_post):
3524 Fix const position; ref GType classes for enum types to work
3525 around thread-safety issues in GLib versions < 2.16.
3527 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3529 * docs/design/part-buffering.txt:
3530 Fix some typos and set the estimated total for push mode to -1.
3532 * gst/gstquery.c: (gst_query_new_buffering):
3533 Set buffering-left to 0 as we're not buffering by default.
3535 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3536 Implement BUFFERING query.
3538 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3540 Based on patch by: Milosz Derezynski <internalerror gmail com>
3542 * gst/gsterror.c: (_gst_stream_errors_init):
3544 Add two new error codes for encrypted content. Fixes #524659.
3545 API: GST_STREAM_ERROR_DECRYPT
3546 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3548 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3553 * win32/common/libgstreamer.def:
3556 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3558 * plugins/elements/gstidentity.c: (gst_identity_event),
3559 (gst_identity_start):
3560 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3561 event after processing some data. Fixes bug #526042.
3563 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3565 * docs/gst/gstreamer-sections.txt:
3566 * gst/gstquery.c: (gst_query_parse_latency),
3567 (gst_query_set_buffering_percent),
3568 (gst_query_parse_buffering_percent),
3569 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3571 Rename _avail -> _range
3572 API: gst_query_set_buffering_range
3573 API: gst_query_parse_buffering_range
3575 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3577 * docs/design/part-buffering.txt:
3580 * gst/gstquery.c: (gst_query_parse_latency),
3581 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3582 (gst_query_parse_buffering_percent):
3584 Add busy field and quark for the buffering query so that the app can
3585 only use the query to see if buffering is in progress.
3587 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3589 * docs/gst/gstreamer-sections.txt:
3590 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3591 (gst_message_parse_buffering_stats):
3593 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3594 (gst_query_parse_latency), (gst_query_new_buffering),
3595 (gst_query_set_buffering_percent),
3596 (gst_query_parse_buffering_percent),
3597 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3598 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3600 Reorder the message docs and headers for clarity.
3601 Add aditional buffering stats API for messages.
3602 Add buffering query.
3603 Convert some leftover queries to use GstQuark.
3604 API: gst_message_set_buffering_stats
3605 API: gst_message_parse_buffering_stats
3606 API: GST_QUERY_BUFFERING
3607 API: GstBufferingMode
3608 API: gst_query_new_buffering
3609 API: gst_query_set_buffering_percent
3610 API: gst_query_parse_buffering_percent
3611 API: gst_query_set_buffering_stats
3612 API: gst_query_parse_buffering_stats
3614 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3616 * gst/gstmessage.c: (gst_message_new_error),
3617 (gst_message_new_warning), (gst_message_new_info),
3618 (gst_message_new_buffering), (gst_message_new_state_changed),
3619 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3620 (gst_message_new_new_clock), (gst_message_new_segment_start),
3621 (gst_message_new_segment_done), (gst_message_new_duration),
3622 (gst_message_new_async_start), (gst_message_parse_buffering),
3623 (gst_message_parse_state_changed),
3624 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3625 (gst_message_parse_new_clock), (gst_message_parse_error),
3626 (gst_message_parse_warning), (gst_message_parse_info),
3627 (gst_message_parse_segment_start),
3628 (gst_message_parse_segment_done), (gst_message_parse_duration),
3629 (gst_message_parse_async_start):
3630 Use GstQuark for messages.
3632 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3634 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3636 Add some more quarks needed for messages and queries.
3638 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3640 * docs/design/part-buffering.txt:
3641 Remove the "none" buffering mode, STREAM is a good default.
3642 Move estimated-time to the avail query, that's when it will be needed.
3643 Other small typo fixes and updates.
3645 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3647 * gst/gstindex.c: (gst_index_resolver_get_type):
3648 Don't put descriptions into the nick field of a GEnumValue: it's not
3649 meant for that and some language bindings rely on the nick field to
3650 construct constants and the like. Fixes #526705.
3652 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3657 Merge other changes from 0.10.19 release branch.
3659 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3661 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3664 Actually build dlls when cross-compiling with mingw32.
3667 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3669 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3672 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3674 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3676 * docs/design/draft-latency.txt:
3679 * docs/design/part-buffering.txt:
3680 Update design docs with more buffering ideas.
3682 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3685 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3687 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3690 Revert part that belongs to the preset patch.
3692 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3695 Add qoutes to the define. Fixes # 525961.
3697 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3699 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3700 (gst_file_index_load), (gst_file_index_add_id),
3701 (gst_file_index_get_assoc_entry):
3702 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3703 (gst_mem_index_free_id), (gst_mem_index_add_id),
3704 (gst_mem_index_index_format):
3705 Use GSlice when possible.
3707 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3709 * libs/gst/controller/gstinterpolationcontrolsource.c:
3710 (gst_control_point_free),
3711 (gst_interpolation_control_source_set_internal):
3712 Use GSlice for allocating the control points.
3714 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3716 * plugins/elements/gsttypefindelement.c:
3717 (gst_type_find_element_class_init),
3718 (gst_type_find_element_set_property),
3719 (gst_type_find_element_get_property),
3720 (gst_type_find_element_activate):
3721 * plugins/elements/gsttypefindelement.h:
3723 Fix pad leak when peer query fails.
3724 We can still typefind when the peer returns -1.
3725 Add property to force caps and bypass typefinding. This will be used in
3729 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3734 * gst/glib-compat-private.h:
3735 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3736 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3737 Unconditionally use GSlice for allocation.
3739 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3740 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3741 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3742 (gst_structure_free):
3743 Use GSlice for allocation.
3745 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3747 * gst/parse/Makefile.am:
3748 * gst/parse/grammar.tab.pre.c:
3749 * gst/parse/grammar.tab.pre.h:
3750 * gst/parse/lex._gst_parse_yy.pre.c:
3751 Require a new enough flex and bison and remove the parser hacks to use
3752 a pre-regenerated version.
3754 2008-04-01 Julien Moutte <julien@fluendo.com>
3756 patch by: Jason Zhao <E3423C@motorola.com>
3758 * configure.ac: Add a configure switch to disable option parsing
3762 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3765 * gst/gstregistry.c:
3766 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3767 and handle this case.
3770 Add a comment here describing, why we stat each plugin and not try to
3773 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3775 * libs/gst/base/gstbasetransform.c:
3776 (gst_base_transform_prepare_output_buffer):
3777 Also unset the GAP flag on buffers if we're working inplace but
3778 the element is not GAP-aware.
3780 Mark a comment as FIXME 0.11.
3782 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3785 Fix type in log message and add one to ease seeing how long registry
3786 cache verification takes.
3788 * gst/gstregistry.c:
3789 Only test plugin filenames against G_MODULE_SUFFIX.
3791 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3793 * gst/gstdebugutils.c:
3794 Improve handling ghost/proxy pads.
3796 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3798 * docs/gst/gstreamer-sections.txt:
3801 Expose macro to docs and fix link to it.
3803 2008-03-27 Michael Smith <msmith@fluendo.com>
3805 * libs/gst/dataprotocol/dataprotocol.c:
3806 (gst_dp_packet_from_event_1_0):
3807 When calculating GDP body CRC, use the correct pointer.
3808 Fixes part of #522401.
3810 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3812 Patch by: Mark Nauwelaerts <manauw at skynet be>
3814 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3815 (gst_identity_init), (gst_identity_prepare_output_buffer):
3816 Identity is not always a passthrough element, it can modify the buffer
3817 timestamps when it has a datarate and operates in single-segment mode.
3818 We therefore make it an in_place filter with a custom buffer prepare
3819 function that conditionally makes the input buffer metadata writable
3820 when needed. Fixes #523985.
3822 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3824 Patch by: Mark Nauwelaerts <manauw at skynet be>
3827 * libs/gst/base/gstbasesrc.h:
3828 * libs/gst/base/gstbasetransform.c:
3829 * libs/gst/check/gstcheck.c:
3830 Small documentation fixes. Fixes #523978.
3832 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3834 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3835 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3836 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3838 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3840 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3841 (single_queue_underrun_cb):
3842 When trying to make room in the queue, bump the max allowed buffers
3843 bigger than the current amount of buffers in the queue. this fixes some
3844 nasty deadlocks in multiqueue when dynamically changing the limits of
3847 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3849 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3851 * gst/gstcaps.c: (gst_caps_set_simple),
3852 (gst_caps_set_simple_valist), (gst_caps_intersect):
3854 Constify the field gchar * params in set_simple and friends.
3857 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3859 * gst/gstvalue.c: (gst_value_transform_object_string):
3860 Transform a GstObject to a more meaningfull string that includes the
3861 object type in addition to its name.
3863 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3866 ChangeLog surgery to add bugnumber to commit.
3868 2008-03-23 Rene Stadler <mail@renestadler.de>
3870 * libs/gst/base/gstbasetransform.c:
3871 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3873 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3875 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3876 Rename constant everywhere and don't forget one occurence.
3878 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3880 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3881 Align memory to the pointer size even if the architecture allows
3882 unaligned memory access. Unaligned memory access usually comes with
3883 performance penality.
3885 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3887 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3888 (gst_registry_binary_check_magic),
3889 (gst_registry_binary_load_pad_template),
3890 (gst_registry_binary_load_feature),
3891 (gst_registry_binary_load_plugin):
3892 Align memory to the pointer size instead of always 32 bit. Fixes
3893 unaligned memory accesses on ia64 and friends.
3895 * gst/gstregistrybinary.h:
3896 Bump binary registry format version for this as it changes the
3897 format on those architectures that don't have unaligned access
3898 and 64 bit pointers.
3900 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3902 * docs/pwg/advanced-dparams.xml:
3903 * docs/pwg/building-props.xml:
3904 * docs/pwg/other-source.xml:
3905 * gst/glib-compat.h:
3906 * gst/gstbin.c: (gst_bin_class_init):
3907 * gst/gstclock.c: (gst_clock_class_init):
3908 * gst/gstindex.c: (gst_index_class_init):
3909 * gst/gstobject.c: (gst_object_class_init):
3910 * gst/gstpad.c: (gst_pad_class_init):
3911 * gst/gstpipeline.c: (gst_pipeline_class_init):
3912 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3913 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3914 * libs/gst/base/gstbasetransform.c:
3915 (gst_base_transform_class_init):
3916 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3917 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3918 (_gst_check_fault_handler_sighandler),
3919 (_gst_check_fault_handler_setup), (gst_check_init):
3920 * libs/gst/controller/gstcontroller.c:
3921 (_gst_controller_class_init):
3922 * libs/gst/controller/gstlfocontrolsource.c:
3923 (gst_lfo_control_source_class_init):
3924 * libs/gst/net/gstnetclientclock.c:
3925 (gst_net_client_clock_class_init):
3926 * libs/gst/net/gstnettimeprovider.c:
3927 (gst_net_time_provider_class_init):
3928 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3929 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3930 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3931 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3932 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3933 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3934 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3935 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3936 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3937 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3938 * plugins/elements/gsttee.c: (gst_tee_class_init):
3939 * plugins/elements/gsttypefindelement.c:
3940 (gst_type_find_element_class_init):
3941 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3942 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3943 use it everywhere for GParamSpecs that use static strings (i.e. all).
3944 This gives us less memory usage, fewer allocations and thus less
3945 memory defragmentation. Fixes bug #523806.
3947 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3949 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3950 (gst_param_spec_mini_object):
3951 * gst/gstminiobject.h:
3952 * win32/common/libgstreamer.def:
3953 * docs/gst/gstreamer-sections.txt:
3954 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3955 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3956 GstParamSpecMiniObject into a public header for this.
3958 This make GstMiniObject a bit more consistent with GObject and makes
3959 it possible to extend the param specs.
3961 gst_value_dup_mini_object is mainly useful for set_property methods.
3965 * tools/gst-inspect.c: (print_element_properties_info):
3966 Print something useful for GstMiniObject properties and not just
3969 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3971 * docs/gst/gstreamer-sections.txt:
3972 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3973 (gst_registry_binary_check_magic):
3974 * gst/gstregistrybinary.h:
3975 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3976 and add it to the (private part) of the docs to fix the build.
3978 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3980 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3981 (gst_registry_binary_check_magic),
3982 (gst_registry_binary_read_cache):
3983 * gst/gstregistrybinary.h:
3984 Don't use GST_MAJORMINOR for the binary registry version. Instead
3985 hardcode a value that must be changed whenever the format changes
3986 in an incompatible way.
3987 Also don't GST_ERROR when there is a version mismatch, just
3988 regenerate the registry silently.
3990 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
3993 Back to development - 0.10.18.1
3995 === release 0.10.18 ===
3997 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
4000 releasing 0.10.18, "So far away"
4002 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
4005 * win32/common/config.h:
4006 0.10.17.4 pre-release
4008 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
4010 Patch by: Ole André Vadla Ravnås
4011 <ole dot andre dot ravnas at tandberg dot com>
4013 * docs/gst/gstreamer-sections.txt:
4014 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4015 (gst_poll_update_winsock_event_mask),
4016 (gst_poll_prepare_winsock_active_sets),
4017 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4018 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4019 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4020 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4021 (gst_poll_check_ctrl_commands), (gst_poll_wait):
4023 * win32/common/libgstreamer.def:
4024 Add new function gst_poll_fd_ignored() for improved Windows
4026 Various minor fixes and cleanups. See #520808.
4028 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
4030 * gst/gstindex.c: (gst_index_entry_free):
4032 Don't free key strings which we don't own. Fixes crash in
4033 gst_index_entry_free() (#522741).
4035 * tests/check/Makefile.am:
4036 * tests/check/gst/.cvsignore:
4037 * tests/check/gst/gstindex.c: (test_index_entries),
4038 (gst_index_suite), (gst_index):
4039 Add unit test for the above.
4041 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4043 * win32/common/libgstreamer.def:
4044 Remove symbols that were removed recently. Fixes bug #521740.
4046 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4049 * win32/common/config.h:
4050 0.10.17.3 pre-release
4052 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4054 Patch by: Ole André Vadla Ravnås
4055 <ole dot andre dot ravnas at tandberg dot com>
4057 * docs/gst/gstreamer-sections.txt:
4058 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4059 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4060 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4061 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4062 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4063 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4064 (gst_poll_fd_can_write), (gst_poll_wait),
4065 (gst_poll_set_controllable), (gst_poll_restart),
4066 (gst_poll_set_flushing):
4068 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4069 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4070 (gst_net_time_provider_new):
4071 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4072 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4073 * tests/benchmarks/gstpollstress.c: (main):
4074 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4075 Remove GstPollMode from the API, it does not make sense to let the
4076 application control this.
4077 Add support for Win32.
4078 Fix the testsuite. Fixes #520671.
4080 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4082 Patch by: Ole André Vadla Ravnås
4083 <ole dot andre dot ravnas at tandberg dot com>
4085 * gst/gstregistrybinary.c:
4086 Include io.h for write() and close() when building with MSVC. Fixes
4089 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4092 * gst/gst_private.h:
4093 * gst/gstconfig.h.in:
4094 * gst/gstregistry.h:
4095 * gst/gstregistrybinary.c:
4096 * win32/common/gstconfig.h:
4097 Move registry backend API to private headers where we can. Add
4098 fixme-0.11 comments for the others. Add stubs for the xml backend when
4099 using the binary to ensure they functions exists (they should not be
4100 used though). Fixes #520756.
4102 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4105 * win32/common/config.h:
4108 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4110 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4111 (gst_registry_binary_read_cache):
4112 * gst/gstregistryxml.c: (gst_registry_save):
4113 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4114 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4115 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4116 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4117 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4120 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4122 * gst/gstminiobject.c:
4123 Import gst_private.h before any other header that might include other
4124 glib headers. This fixes the build on windows using native compilers.
4126 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4128 * win32/common/gstconfig.h:
4129 Add here too, just for completeness.
4131 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4134 * gst/gstconfig.h.in:
4135 * gst/gstregistry.h:
4136 Fix broken use of config.h-defined preprocessor directive in a public
4137 header file. Add a corresponding define to gstconfig.h, since we can't
4138 really remove those function declarations from the header file now
4139 (or can we? and why are they there in the first place?).
4141 2008-03-03 Andy Wingo <wingo@pobox.com>
4143 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4146 * gst/gststructure.c (gst_structure_from_string): Warn if
4147 structure_from_string didn't consume the whole string, but the
4148 caller did not provide an end pointer.
4150 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4152 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4154 * gst/gstregistryxml.c: (read_string), (load_feature):
4155 Strings allocated by libxml2 should be freed with xmlFree(), not
4156 with g_free(). Fixes issues on windows in certain contexts (#519698).
4158 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4160 * gst/gstinterface.c: (gst_element_implements_interface):
4161 Don't crash if the element supports the interface queried, but does
4162 not implement GstImplementsInterface. Fixes #519584.
4164 * tests/check/Makefile.am:
4165 * tests/check/gst/.cvsignore:
4166 * tests/check/gst/gstinterface.c:
4167 Add unit test for the above.
4169 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4171 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4174 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4176 * gst/gstsegment.c: (gst_segment_set_seek),
4177 (gst_segment_to_stream_time):
4178 Improve some comment.
4179 Update variables where it makes more sense.
4181 2008-02-29 Rene Stadler <mail@renestadler.de>
4183 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4184 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4185 URIHandlers implemented using language bindings.
4187 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4189 * gst/gstelementfactory.h:
4190 * tests/check/elements/fakesink.c:
4191 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4192 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4193 * tests/check/elements/filesink.c: (setup_filesink):
4194 * tests/check/elements/filesrc.c: (setup_filesrc):
4195 * tests/check/elements/identity.c: (setup_identity):
4196 * tests/check/elements/tee.c:
4197 * tests/check/generic/sinks.c:
4198 * tests/check/generic/states.c: (setup), (teardown):
4199 * tests/check/gst/gst.c:
4200 * tests/check/gst/gstabi.c:
4201 * tests/check/gst/gstbin.c:
4202 * tests/check/gst/gstbus.c: (pull_messages):
4203 * tests/check/gst/gstcaps.c:
4204 * tests/check/gst/gstelement.c:
4205 * tests/check/gst/gstevent.c:
4206 * tests/check/gst/gstghostpad.c:
4207 * tests/check/gst/gstiterator.c:
4208 * tests/check/gst/gstmessage.c:
4209 * tests/check/gst/gstminiobject.c: (my_foo_init):
4210 * tests/check/gst/gstobject.c: (thread_name_object),
4212 * tests/check/gst/gstpad.c:
4213 * tests/check/gst/gstplugin.c:
4214 * tests/check/gst/gstpoll.c:
4215 * tests/check/gst/gstquery.c:
4216 * tests/check/gst/gstsegment.c:
4217 * tests/check/gst/gststructure.c:
4218 * tests/check/gst/gstsystemclock.c:
4219 * tests/check/gst/gsttask.c:
4220 * tests/check/gst/gstutils.c:
4221 * tests/check/gst/gstvalue.c:
4222 * tests/check/gst/struct_hppa.h:
4223 * tests/check/gst/struct_i386.h:
4224 * tests/check/gst/struct_ppc32.h:
4225 * tests/check/gst/struct_ppc64.h:
4226 * tests/check/gst/struct_x86_64.h:
4227 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4228 * tests/check/libs/basesrc.c:
4229 * tests/check/libs/controller.c: (GST_START_TEST):
4230 * tests/check/libs/gdp.c:
4231 * tests/check/libs/gstnetclientclock.c:
4232 * tests/check/libs/gstnettimeprovider.c:
4233 * tests/check/libs/libsabi.c:
4234 * tests/check/libs/struct_hppa.h:
4235 * tests/check/libs/struct_i386.h:
4236 * tests/check/libs/struct_ppc32.h:
4237 * tests/check/libs/struct_ppc64.h:
4238 * tests/check/libs/struct_x86_64.h:
4239 * tests/check/pipelines/cleanup.c:
4240 * tests/check/pipelines/simple-launch-lines.c:
4241 * tests/check/pipelines/stress.c:
4242 And correct even more valid sparse warnings.
4244 * win32/common/libgstreamer.def:
4245 Add gst_poll_fd_init to the list of symbols.
4247 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4249 * gst/gstconfig.h.in:
4250 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4251 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4252 (gst_check_log_critical_func), (gst_check_drop_buffers),
4253 (gst_check_element_push_buffer_list):
4254 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4255 (gst_controller_get_type):
4256 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4257 (gst_object_get_controller), (gst_object_get_control_source):
4258 * libs/gst/controller/gstinterpolationcontrolsource.c:
4259 (gst_interpolation_control_source_new):
4260 * libs/gst/controller/gstlfocontrolsource.c:
4261 (gst_lfo_control_source_new):
4262 * libs/gst/dataprotocol/dataprotocol.c:
4263 (gst_dp_event_from_packet_0_2):
4264 * plugins/elements/gstfdsrc.c:
4265 * plugins/elements/gstmultiqueue.c:
4266 * plugins/elements/gsttee.c:
4267 * plugins/elements/gsttypefindelement.c:
4268 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4269 (gst_file_index_add_association):
4270 * plugins/indexers/gstmemindex.c:
4271 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4272 * tests/check/elements/queue.c: (setup_queue):
4273 * tests/check/gst/gstpipeline.c:
4274 * tests/check/libs/collectpads.c: (setup), (teardown),
4275 (gst_collect_pads_suite):
4276 * tests/examples/adapter/adapter_test.c:
4277 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4278 * tests/examples/xml/createxml.c:
4279 * tests/examples/xml/runxml.c:
4280 * tools/gst-inspect.c:
4282 Correct all relevant warnings found by the sparse semantic code
4283 analyzer. This include marking several symbols static, using
4284 NULL instead of 0 for pointers, not using variable sized arrays
4285 on the stack, moving variable declarations to the beginning of
4286 a block and using "foo (void)" instead of "foo ()" for declarations.
4288 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4290 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4291 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4292 Don't reset GstPollFDs, this is not necessary at all.
4294 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4295 (delayed_restart), (delayed_control):
4296 Use GST_POLL_FD_INIT.
4298 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4300 * gst/gstpoll.c: (gst_poll_fd_init):
4304 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4305 Use some more init macros.
4307 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4309 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4310 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4311 Use init macros and functions.
4313 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4315 * docs/gst/gstreamer-sections.txt:
4316 * gst/gstpoll.c: (gst_poll_fd_init):
4318 Add INIT macro and _init method for initializing the GstPollFD.
4320 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4322 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4323 (gst_fd_sink_update_fd):
4324 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4325 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4326 (delayed_restart), (delayed_control):
4327 Initialize some uninitialized variables as spotted by valgrind.
4329 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4331 * tests/benchmarks/Makefile.am:
4332 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4334 Add poll stress test.
4336 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4338 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4340 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4341 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4342 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4343 * plugins/elements/gstfdsink.h:
4344 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4345 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4346 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4347 (gst_fd_src_uri_set_uri):
4348 * plugins/elements/gstfdsrc.h:
4349 Port to GstPoll. See #505417.
4351 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4353 * win32/common/libgstreamer.def:
4354 Add new gst_poll_ symbols to win32 defs.
4356 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4358 * docs/libs/gstreamer-libs-sections.txt:
4359 * libs/gst/net/gstnetclientclock.c:
4360 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4361 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4362 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4363 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4364 * libs/gst/net/gstnetclientclock.h:
4365 * libs/gst/net/gstnettimeprovider.c:
4366 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4367 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4368 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4369 (gst_net_time_provider_new):
4370 * libs/gst/net/gstnettimeprovider.h:
4371 Use a private stuct to not break ABI.
4373 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4375 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4377 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4378 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4379 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4380 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4381 * libs/gst/net/gstnetclientclock.h:
4382 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4383 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4384 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4385 (gst_net_time_provider_new):
4386 * libs/gst/net/gstnettimeprovider.h:
4387 Massive code removal and cleanups because of GstPoll.
4390 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4393 Add checks for poll, ppoll and pselect.
4395 * docs/gst/gstreamer-docs.sgml:
4396 * docs/gst/gstreamer-sections.txt:
4397 Add docs for GstPoll.
4401 * gst/gstpoll.c: (find_index), (selectable_fds),
4402 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4403 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4404 (gst_poll_set_mode), (gst_poll_get_mode),
4405 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4406 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4407 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4408 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4409 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4410 (gst_poll_fd_can_write), (gst_poll_wait),
4411 (gst_poll_set_controllable), (gst_poll_restart),
4412 (gst_poll_set_flushing):
4414 Add generic poll abstraction. We ideally don't want to have this in core
4415 here but in glib intead...
4416 This code will be used in various network elements and ultimately for
4417 the nanosecond precision monotonic clock (that's why it's here in core).
4418 It'll allow us to implement cancelable socket operations for windows too.
4420 * tests/check/Makefile.am:
4421 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4422 (delayed_stop), (delayed_restart), (delayed_flush),
4423 (delayed_control), (gst_poll_suite):
4424 Add GstPoll unit test.
4426 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4429 Improve documentation of gst_filter_run(). Fixes #518627.
4431 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4434 Add a few lines about the new 'check-inspected-versions' target.
4436 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4438 * tests/check/gst/gstevent.c:
4439 Add qos to the event test. Rename tcase/tsuite; is not only about
4442 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4444 * plugins/elements/gstqueue.c:
4445 Ensure that buffer metadata is writeable, before modifying. Spotted by
4448 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4450 * plugins/elements/gstqueue.c:
4451 * plugins/elements/gstqueue.h:
4452 When dropping buffers in leaky modes, mark next buffers we sent as
4455 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4457 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4458 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4460 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4462 * plugins/elements/Makefile.am:
4463 * plugins/elements/gstbufferstore.c:
4464 * plugins/elements/gstbufferstore.h:
4465 * plugins/elements/gsttypefindelement.h:
4466 Remove GstBufferStore, no idea why we were still building it.
4467 It's not used anywhere and superseded by GstAdapter.
4469 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4470 (gst_file_src_create_mmap):
4471 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4472 Printf format fixes for 64-bit integers.
4474 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4477 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4478 We're not in 0.8 times anymore.
4480 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4482 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4483 (gst_check_element_push_buffer_list):
4484 * libs/gst/check/gstcheck.h:
4485 Make the declaration in the header for
4486 gst_check_element_push_buffer_list match the implementation.
4488 Fix up spelling, grammar and wording of the documentation in a few
4489 places, and add the Since keyword to new API functions.
4490 Use g_list_delete_link instead of g_list_remove in
4491 gst_check_drop_buffers, since it's immeasurably more efficient.
4493 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4494 Use new gst_check_drop_buffers function where appropriate.
4496 * win32/common/libgstbase.def:
4497 * win32/common/libgstreamer.def:
4498 Add new symbols gst_collect_pads_take_buffer,
4499 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4502 Changelog surgery to add API keyword to new gst_check API.
4504 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4506 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4507 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4508 Update pre-generated flex files with flex 2.3.34.
4510 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4512 * gst/gstminiobject.c:
4513 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4514 friendly to subclasses and not require them to know all internals
4515 of their parent class.
4517 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4519 * docs/libs/gstreamer-libs-sections.txt:
4520 * libs/gst/base/gstcollectpads.c:
4521 * libs/gst/base/gstcollectpads.h:
4522 Add sub-buffer functions to collectpads. Fixes #516187.
4523 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4525 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4528 Copy selected buffer-flags when creating subbuffers.
4531 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4533 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4534 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4535 * gst/gstmessage.c: (gst_message_class_init),
4536 (gst_message_finalize):
4537 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4538 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4539 (gst_mmap_buffer_finalize):
4540 Properly chain up finalize functions to the parent class.
4542 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4544 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4546 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4547 (gst_index_set_resolver_full):
4549 Add new function with option to dispose of user_data in resolver.
4550 Actually call the dispose function when finalizing the object and not
4551 just when changing the resolver/filter.
4552 API: GstIndex::gst_index_set_resolver_full()
4554 * docs/gst/gstreamer-sections.txt:
4555 Add new function to docs. Fixes #515469.
4557 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4559 * gst/gstindex.c: (gst_index_finalize):
4560 Chain up finalize to the parent class. Fixes leaking the GstObject
4561 name and other things.
4563 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4566 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4567 pre-releases or releases.
4569 * docs/faq/gst-uninstalled:
4572 * docs/random/release:
4573 Change one of the steps - we only upload core & base to Gnome FTP
4575 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4577 * gst/gstconfig.h.in:
4578 Add 'id' for example.
4582 * plugins/elements/gstfdsink.c:
4583 Link to signals. Doc and comment fixes.
4585 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4587 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4588 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4589 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4590 unused and unimplemented; finally, it is plugin features, not
4591 plugins, that have ranks.
4593 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4595 * gst/gstpluginfeature.h:
4596 Clarify GstRank range docs.
4598 2008-02-05 David Schleef <ds@schleef.org>
4600 * gst/gst.c: Add a separate gst_deinitialized that prevents
4601 gst_init() from being called after gst_deinit(). Fixes #509559
4603 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4605 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4606 (gst_bin_class_init):
4607 * gst/gstelement.c: (gst_element_base_class_init),
4608 (gst_element_class_add_pad_template):
4609 * gst/gstpadtemplate.c: (gst_pad_template_init):
4610 * gst/gstpipeline.c: (gst_pipeline_get_type),
4611 (gst_pipeline_base_init), (gst_pipeline_class_init):
4612 * libs/gst/base/gstbasesink.c:
4613 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4614 (gst_base_src_base_init), (gst_base_src_class_init):
4615 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4616 (gst_capsfilter_class_init):
4617 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4618 (gst_fake_sink_class_init):
4619 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4620 (gst_fake_src_class_init):
4621 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4622 (gst_fd_sink_class_init):
4623 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4624 (gst_fd_src_class_init):
4625 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4626 (gst_file_sink_class_init):
4627 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4628 (gst_file_src_class_init):
4629 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4630 (gst_identity_class_init):
4631 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4632 (gst_multi_queue_class_init):
4633 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4634 (gst_queue_class_init):
4635 * plugins/elements/gsttee.c: (gst_tee_base_init),
4636 (gst_tee_class_init):
4637 * plugins/elements/gsttypefindelement.c:
4638 (gst_type_find_element_base_init),
4639 (gst_type_find_element_class_init):
4640 * tests/check/gst/gstelement.c: (gst_element_suite):
4641 Revert previous changes to the behaviour of GstPadTemplates, etc
4642 and the possiblity to call them in class_init as it breaks too
4643 many elements. Reopens bug #491501.
4645 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4648 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4650 * tools/gst-launch.c:
4651 Dump one graph per pipeline state-change and state change name
4652 (if GST_DEBUG_DUMP_DOT_DIR is set).
4654 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4657 * tests/check/gst/gstpad.c:
4658 Be sure that we have a new copy of the caps and not
4659 reffed caps from a template
4661 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4663 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4664 * gst/gstpipeline.c: (gst_pipeline_get_type),
4665 (gst_pipeline_class_init):
4666 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4667 (gst_base_sink_class_init):
4668 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4669 (gst_base_src_class_init):
4670 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4671 (gst_base_transform_class_init):
4672 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4673 (gst_collect_pads_class_init):
4674 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4675 * libs/gst/net/gstnettimeprovider.c:
4676 (gst_net_time_provider_base_init),
4677 (gst_net_time_provider_class_init):
4678 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4679 (gst_capsfilter_class_init):
4680 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4681 (gst_fake_sink_class_init):
4682 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4683 (gst_fake_src_class_init):
4684 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4685 (gst_fd_sink_class_init):
4686 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4687 (gst_fd_src_class_init):
4688 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4689 (gst_file_sink_class_init):
4690 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4691 (gst_file_src_class_init):
4692 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4693 (gst_identity_class_init):
4694 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4695 (gst_multi_queue_class_init):
4696 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4697 (gst_queue_class_init):
4698 * plugins/elements/gsttee.c: (gst_tee_base_init),
4699 (gst_tee_class_init):
4700 * plugins/elements/gsttypefindelement.c:
4701 (gst_type_find_element_base_init),
4702 (gst_type_find_element_class_init):
4703 Don't use base_init where not absolutely necessary. For example it's
4704 not necessary anymore for adding pad templates or setting element
4707 Leave empty base_init functions in several places as GST_BOILERPLATE
4708 still defines and uses them.
4710 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4712 * gst/gstelement.c: (gst_element_base_class_init),
4713 (gst_element_class_add_pad_template):
4714 * gst/gstpadtemplate.c:
4715 Make it possible (and recommended) to set element details and add
4716 pad templates in the class_init functions by copying the details/pad
4717 templates in GstElement's base_init.
4719 Also make it possible to replace existing pad templates by adding
4720 a new one with the same name. This was done in a hackish fashion
4721 in same elements before already.
4723 Don't reference pad templates that are added a second time. A
4724 new pad template has a refcount of one and is not floating anymore
4725 and to be owned by the element's class. Make this more explicit by
4726 mentioning it in the docs of gst_element_class_add_pad_template().
4728 These changes are backwards compatible. Fixes bug #491501.
4730 * tests/check/gst/gstelement.c:
4731 Add unit test for setting element details, adding pad templates and
4732 replacing them in a subclass.
4734 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4736 * tools/gst-inspect.c: (print_interfaces),
4737 (print_element_properties_info), (print_pad_info),
4738 (print_signal_info), (print_element_info):
4739 Fix a few memory leaks.
4741 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4743 * docs/libs/gstreamer-libs-sections.txt:
4744 * libs/gst/check/gstcheck.c:
4745 * libs/gst/check/gstcheck.h:
4746 Add more functions for unit testing: gst_check_drop_buffers,
4747 gst_check_caps_equal, gst_check_element_push_buffer_list,
4748 gst_check_element_push_buffer
4749 API: gst_check_drop_buffers
4750 API: gst_check_caps_equal
4751 API: gst_check_element_push_buffer_list
4752 API: gst_check_element_push_buffer
4754 2008-02-01 Julien Moutte <julien@fluendo.com>
4756 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4757 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4758 (gst_index_finalize), (gst_index_entry_free),
4759 (gst_index_add_association): Fix memory leaks.
4760 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4761 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4762 (gst_mem_index_free_format), (gst_mem_index_free_id),
4763 (gst_mem_index_finalize): Fix memory leaks.
4764 * win32/common/config.h: Updated to CVS HEAD.
4766 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4769 Some more details about how the plugin docs works.
4771 * docs/plugins/gstreamer-plugins-sections.txt:
4774 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4776 * gst/parse/grammar.tab.pre.c:
4777 * gst/parse/grammar.tab.pre.h:
4778 * gst/parse/grammar.y:
4779 * gst/parse/lex._gst_parse_yy.pre.c:
4780 Add delayed set-property. This allows to set properties on dynamicaly
4781 created objects (pads in videomxer). Fixes #509391.
4783 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4786 Check if caps are not NULL (fix bug #510194)
4788 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4790 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4791 (gst_base_sink_get_position_paused):
4792 Add fixme regarding EOS in pull mode.
4793 Fix position reporting in PAUSED for negative rates.
4795 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4797 * gst/gstminiobject.c: (gst_mini_object_replace):
4798 When replacing a miniobject, do a quick equality check first so that we
4799 can avoid a ref/unref pair.
4801 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4803 * docs/design/part-synchronisation.txt:
4806 * docs/plugins/Makefile.am:
4807 * docs/plugins/gstreamer-plugins-docs.sgml:
4808 * docs/plugins/gstreamer-plugins-sections.txt:
4809 * plugins/elements/gstmultiqueue.c:
4810 Add multiqueue to the docs.
4812 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4817 === release 0.10.17 ===
4819 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4822 releasing 0.10.17, "Due Negligence"
4824 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4827 Revert caps != NULL check temporarily for 0.10.17 release.
4829 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4832 Check if caps are not NULL (fix bug #510194)
4834 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4837 Fix compilation on systems that have posix timers but no
4840 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4843 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4845 * tools/gst-inspect.c:
4846 Revert previous commit in preparation for an impromptu 0.10.17 release
4848 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4850 * tools/gst-inspect.c: (print_interfaces),
4851 (print_element_properties_info), (print_pad_info),
4852 (print_signal_info), (print_element_info):
4853 Fix a few memory leaks.
4855 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4860 === release 0.10.16 ===
4862 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4865 releasing 0.10.16, "Special Dispensation"
4867 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4870 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4871 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4872 not fail when trying to crosscompile on OpenEmbedded (#511750).
4874 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4877 Use $(MAKE) instead of make to fix the build if GNU make is
4878 called different. Fixes bug #510747.
4880 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4882 * gst/gstplugin.c: (_gst_plugin_initialize):
4883 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4884 again, which I broke two commits ago when changing the API
4885 of gst_plugin_register_static(): the g_list_foreach() in
4886 _gst_plugin_register_static still assumed the old function
4887 signature and would therefore fail (re-fixes #510187).
4889 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4890 (_gst_plugin_register_static), (gst_plugin_register_static):
4891 Revert the (technically correct) change to call g_thread_init() from
4892 the pre-main() constructor. This will break programs which call
4893 g_thread_init() without an if (!g_thread_supported()) guard in their
4894 main function. We could just blame it on GLib or the application, but
4895 it's probably best to just avoid this altogether and simply not use
4896 any GLib functions here and use plain old malloc() with a simple
4897 array to store the plugins to register later when gst_init() is
4898 finally called (re-fixes #510187).
4900 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4901 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4902 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4903 (GST_START_TEST), (gst_plugin_suite):
4904 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4907 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4909 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4910 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4911 This makes gtk-doc complain, but results in slightly better
4912 compiler errors. The old _gst_plugin_register_static() is
4913 still guarded, so there'll be a compiler warning about that
4914 instead. Fixes #510187 too.
4916 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4918 * gst/gst.c: (init_post):
4919 * gst/gstplugin.c: (_gst_plugin_register_static),
4920 (gst_plugin_register_static), (_gst_plugin_initialize):
4921 * gst/gstplugin.h: (GstPluginFilter):
4922 Change API of gst_plugin_register_static() to not take
4923 a GstPluginDesc, but rather just take all the arguments
4924 in a GstPluginDesc directly. This is more intuitive and
4925 avoids certain mistakes when porting code from
4926 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4929 * tests/check/gst/gstplugin.c:
4930 Fix up for changed API.
4932 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4934 * docs/faq/legal.xml:
4935 Update FAQ, Totem actually has an exception these days.
4937 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4939 * win32/common/libgstreamer.def:
4940 Add new API declarations
4942 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4944 * gst/gstminiobject.c:
4945 Spelling fixes for the API docs.
4947 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4949 * libs/gst/base/gstbasetransform.c:
4950 Fix long property description for QoS.
4952 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4955 _gst_trace_on is already provided by gsttrace.h, no need to declare
4958 * docs/libs/gstreamer-libs-sections.txt:
4959 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4960 and remove strange tcase_add_test which is outputting a warning.
4962 * libs/gst/check/gstcheck.c:
4963 * libs/gst/check/gstcheck.h:
4964 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4965 and define them in gstcheck.c instead of having every .c file whcih
4966 includes gstcheck.h be defining its own copy and relying on symbol
4967 interposing to marry them all, which doesn't work on Solaris.
4969 * tests/check/elements/identity.c: (GST_START_TEST):
4970 Don't define 'buffers' locally, it comes from libgstcheck.
4972 * tests/check/generic/sinks.c: (send_buffer):
4973 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4975 * tests/check/gst/gststructure.c: (GST_START_TEST):
4976 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4977 * tests/check/gst/gstutils.c: (GST_START_TEST):
4978 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4979 Add a bunch of casts to make various constants fit the types
4980 they're being assigned to.
4982 2008-01-10 Stefan Kost <ensonic@users.sf.net>
4984 * gst/gstchildproxy.c:
4985 Improve docs and add some ideas for making this more general-purpose.
4987 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
4989 * gst/gst_private.h: (GST_CAT_TYPES):
4990 Add GST_CAT_TYPES, for consistency, and so that the other
4991 debug categories don't make fun of it. Spotted by Saur on IRC.
4993 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4995 * gst/parse/Makefile.am:
4996 Move types.h from EXTRA_DIST to noinst_HEADERS.
4998 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5001 Add -Wno-portability to the automake parameters to stop warnings
5002 about GNU make extensions being used. We require GNU make in almost
5003 every Makefile anyway.
5006 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5007 at the same time is required for per target flags.
5009 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5012 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5013 __GNUC__ is defined before using it.
5015 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5017 * docs/gst/gstreamer-sections.txt:
5018 * gst/gst.c: (init_post):
5019 * gst/gstplugin.c: (_gst_plugin_register_static),
5020 (gst_plugin_register_static), (_gst_plugin_initialize),
5021 (gst_plugin_register_func):
5022 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5023 API: add gst_plugin_register_static() and deprecate
5024 GST_PLUGIN_DEFINE_STATIC, since it's not portable
5026 Also, in _gst_plugin_register_static(), make sure to call
5027 g_thread_init() before calling GLib functions such as
5028 g_list_append() if we're not initialised yet, since that
5029 may lead to random crashes with older GSlice/GLib versions.
5031 * tests/check/gst/gstplugin.c:
5032 Adapt unit test to above changes.
5034 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5036 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5037 * gst/gstcaps.c: (gst_caps_to_string):
5038 * gst/gststructure.c: (GST_ASCII_IS_STRING),
5039 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5040 Yet another gratuitous GString micro-optimisation: add a (private)
5041 function that serialises a structure appending to an existing
5042 GString, so that when we serialise caps we don't need to alloc+free
5043 a throwaway GString for each structure (each of which also entailing
5044 multiple reallocs on the way); also use g_string_sized_new() in
5045 various places with an approximate string length to avoid reallocs
5046 within GString. See #500143.
5048 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5050 * gst/gststructure.c: (gst_structure_id_set_value):
5051 Always check UTF-8 conformance of structure strings and not only
5052 if the debugging system is enabled; reasoning: the behaviour of
5053 the actual code shouldn't really change depending on whether the
5054 debugging system is enabled or not (#508291).
5056 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5059 Remove old coverage target in favour of "make lcov".
5061 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5063 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5064 (gst_base_src_loop):
5065 The start segment for reverse playback goes from start to last_stop.
5067 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5069 Patch by: Peter Kjellerstedt <pkj axis com>
5072 Cast the results from the timeval/spec_to_time macros to what the
5073 docs say it casts to, a GstClockTime. fixes #508175.
5075 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5078 Update some comments.
5080 * tools/gst-inspect.c: (print_element_properties_info):
5081 Improve printing of flags.
5083 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5085 * libs/gst/base/gstbasetransform.c:
5086 (gst_base_transform_transform_size):
5087 Print element name with g_warning() if there's a problem
5090 2008-01-07 David Schleef <ds@schleef.org>
5092 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5094 * libs/gst/controller/gstcontroller.h:
5095 * libs/gst/controller/gstcontrolsource.h:
5096 * libs/gst/controller/gstinterpolationcontrolsource.h:
5097 * libs/gst/controller/gstlfocontrolsource.h:
5098 * libs/gst/dataprotocol/dataprotocol.h:
5099 Fix empty prototypes. Fixes bug #507957.
5101 2008-01-07 David Schleef <ds@schleef.org>
5103 * docs/faq/dependencies.xml: Fix typo.
5105 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5107 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5108 (gst_base_src_loop):
5109 Don't update the last_stop position in do_seek, that's the position we
5111 Read backwards when we have a negative rate.
5113 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5114 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5116 Add check for reverse reading.
5118 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5120 Patch by: Alexis Ballier <aballier at gentoo org>
5122 * tests/check/gst/gstabi.c:
5123 * tests/check/gst/struct_ppc64.h:
5124 * tests/check/libs/libsabi.c:
5125 * tests/check/libs/struct_ppc64.h:
5126 Decide which header to include based on the userland ABI target
5127 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5128 for 64-bit userland (#503590). Might need something similar for
5131 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5133 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5134 Log the reason why fopen fails in addition to the fact that it failed.
5136 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5138 * gst/parse/parse.l:
5139 Use "%option never-interactive" to prevent useless calls to isatty()
5140 on every input when parsing. Also use "%option noinput" to not define
5141 the static input/yyinput functions which we don't use anyway. This
5142 removes a compiler warning with gcc 4.3 and saves some bytes in the
5145 * gst/parse/lex._gst_parse_yy.pre.c:
5146 Regenerated for the above change.
5148 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5150 * gst/gstpad.c: (fixate_value):
5151 Don't crash when trying to fixate and empty list.
5154 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5156 * docs/faq/gst-uninstalled:
5157 Clarify the comments to make the usage of this script and what it
5158 does easier to understand.
5160 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5162 * tools/gst-plot-timeline.py:
5163 Add more options to gst-plot-timeline
5165 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5167 * docs/design/part-synchronisation.txt:
5168 Some more info on how the stream_time in GstBaseSink is done.
5170 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5172 * tests/check/generic/sinks.c: (gst_sinks_suite):
5173 Put back the tcase_set_timeout(), apparently it's needed after
5174 all; fix it up in a way that makes things work with valgrind too.
5176 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5178 * gst/gstdebugutils.c:
5179 Add warning when failed to open file for writing.
5181 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5183 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5185 * gst/gstvalue.c: (gst_value_is_fixed):
5186 Optimisation: bail out of the loop as early as possible (#500143).
5188 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5190 * gst/gstcaps.c: (gst_caps_to_string):
5191 * gst/gstinfo.c: (gst_debug_construct_term_color):
5192 * gst/gstparse.c: (gst_parse_launchv):
5193 * gst/gstutils.c: (gst_util_dump_mem):
5194 * gst/gstvalue.c: (gst_value_serialize_any_list),
5195 (gst_value_transform_any_list_string):
5196 Bunch of gratuitous nano-optimisations.
5198 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5200 * tests/check/generic/sinks.c: (async_done_func),
5201 (async_done_eos_func):
5202 Fix leak in unit test (bus sync handler must unref the message
5203 if it returns GST_BUS_DROP). Don't fiddle with the default test
5204 timeout, this is smaller than the current preconfigured value
5205 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5206 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5208 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5210 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5213 Check for stdio_ext.h for the filesink changes.
5215 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5216 (gst_file_sink_class_init), (gst_file_sink_init),
5217 (gst_file_sink_dispose), (gst_file_sink_set_property),
5218 (gst_file_sink_get_property), (gst_file_sink_open_file),
5219 (gst_file_sink_close_file):
5220 * plugins/elements/gstfilesink.h:
5221 Add two properties to control the buffering mode and size.
5222 API: GstFileSink::buffer-mode
5223 API: GstFileSink::buffer-size
5226 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5228 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5229 Add some more docs to explain why a FIXME was wrongly added.
5231 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5234 Fix typo in the gst_object_{ref,unref} documentation.
5236 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5238 * tests/check/libs/controller.c:
5239 * tests/check/libs/typefindhelper.c:
5240 * tests/check/pipelines/parse-launch.c:
5241 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5242 going to be deprecated (see #498924).
5244 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5246 * gst/gsttypefind.c: (gst_type_find_register):
5247 Make gst_type_find_register work for static typefind functions,
5248 ie. allow passing plugin == NULL (prerequisite for #498924).
5250 * gst/gstelementfactory.c: (gst_element_register):
5251 Small docs addition.
5253 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5255 * gst/gstpad.c: (gst_pad_dispose):
5256 Really unlink the peer pad instead of setting the peer pointer to NULL
5257 when we dispose the pad.
5258 This correctly calls the unlink functions and makes sure that the peer
5259 does not have a handle to invalid memory. See #504671.
5261 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5262 Add testsuite for above case.
5264 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5266 Patch by: Peter Kjellerstedt <pkj axis com>
5268 * libs/gst/check/gstcheck.h:
5269 Fix detection of the check version we're compiling against (would
5270 otherwise break if check goes v0.10.0); correctly report the
5271 name of the failed test again in case of failure, instead of
5272 just 'tf' (fixes #504499).
5274 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5276 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5277 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5278 (gst_base_src_loop), (gst_base_src_set_flushing),
5279 (gst_base_src_change_state):
5280 Allow sending EOS to the source to make it send out an EOS event from
5281 the streaming thread.
5282 Update docs and deprecate the old NULL/READY shutdown method.
5284 * tests/check/libs/basesrc.c: (GST_START_TEST),
5285 (gst_basesrc_suite):
5286 Add unit test for controlled shutdown.
5288 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5290 * docs/design/part-synchronisation.txt:
5293 * gst/gstsegment.c: (gst_segment_set_seek),
5294 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5295 (gst_segment_to_running_time):
5296 The seek format can be different from the segment format when the start
5297 and stop values are not to be updated, when we only do a rate change for
5300 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5301 (gst_segment_suite):
5302 Add a testcase for the rate-only seeks, checking that the format is
5303 correctly ignored when start and stop are not updated.
5305 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5307 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5309 * win32/vs8/grammar.vcproj:
5310 * win32/vs8/libgstcontroller.vcproj:
5311 * win32/vs8/libgstreamer.vcproj:
5312 Fix compilation with VS8 and include some missing files.
5314 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5317 Small docs addition: mention that the strings returned by
5318 gst_tag_list_get_string*() are in UTF-8 encoding.
5320 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5323 The check-exports stuff moved to common/win32.mak, so include that.
5325 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5327 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5328 (gst_base_src_perform_seek), (gst_base_src_get_range),
5329 (gst_base_src_set_playing), (gst_base_src_change_state):
5330 Make _wait_playing() not check any variables so that we can call this
5331 function from subclasses. Move the checks elsewhere similar to
5332 _wait_preroll() in basesink.
5334 Only signal the LIVE cond when we are going back to PLAYING.
5336 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5338 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5339 Use g_remove() and g_rename(). Check result of g_rename(), and
5340 don't leak the open file descriptor if we error out when writing.
5342 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5343 Must check the return value of close() after writing out the new
5344 registry file. Sometimes write problems such as out-of-diskspace
5345 are only reported when the file is closed and not already during
5346 the write. This may have caused partial/broken registry files in
5347 some rare circumstances. Should fix #503675.
5349 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5351 * docs/gst/.cvsignore:
5352 * docs/libs/.cvsignore:
5353 * docs/plugins/.cvsignore:
5354 Ignore files generated by new common/* modifications
5356 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5358 * win32/common/libgstbase.def:
5359 Yes, you can also have a <TAB> if you want.
5361 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5363 * win32/common/libgstbase.def:
5364 Add new basetransform API to win export file.
5366 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5368 * tests/check/gst/gstbin.c:
5369 Adjust the test to the refcount change two days ago.
5371 2007-12-14 David Schleef <ds@schleef.org>
5373 * docs/faq/getting.xml: Fix typo.
5375 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5377 * docs/libs/gstreamer-libs-sections.txt:
5378 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5379 (gst_base_transform_prepare_output_buffer),
5380 (gst_base_transform_set_gap_aware):
5381 * libs/gst/base/gstbasetransform.h:
5382 API: Add gst_base_transform_set_gap_aware() to control whether
5383 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5384 get buffers with this flag at all. Fixes #503231.
5386 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5388 * libs/gst/base/gstbasesink.c:
5389 * libs/gst/base/gstbasesrc.c:
5390 * libs/gst/base/gstbasetransform.c:
5391 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5392 thread. Correct log message in gstbasesrc.c.
5394 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5396 * gst/gstutils.c: (element_find_unconnected_pad):
5397 Fix possible compiler warning (#503417).
5399 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5401 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5402 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5404 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5406 * tools/gst-inspect.c: (print_element_properties_info):
5407 Add support for GstFraction properties.
5409 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5412 Add check-exports target and run it as part of 'make check'
5413 (see #499140 and #493983).
5415 * gst/gst_private.h:
5416 * gst/gstelementfactory.h:
5417 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5418 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5419 (_priv_gst_in_valgrind):
5420 * gst/gstinfo.h: (GstLogFunction):
5421 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5422 (gst_type_find_register):
5423 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5424 (gst_type_find_factory_get_type):
5425 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5426 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5427 (gst_controller_new_valist), (gst_controller_new_list),
5428 (_gst_controller_dispose), (_gst_controller_class_init):
5429 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5430 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5431 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5432 (gst_object_get_controller), (gst_object_set_controller),
5433 (gst_object_suggest_next_sync), (gst_object_sync_values),
5434 (gst_object_set_control_source), (gst_object_get_control_source),
5435 (gst_object_get_value_arrays), (gst_object_get_value_array),
5436 (gst_object_get_control_rate), (gst_object_set_control_rate):
5437 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5438 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5439 Make some functions that should be static static; rename some
5440 private symbols so that they don't get exported; add some FIXME
5441 comments so we can move accidentally exported functions into
5442 our private section in 0.11.
5444 * win32/common/libgstreamer.def:
5445 Add gst_utils_get_timestamp().
5447 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5451 Add more missing "Since:" tags to docs.
5453 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5456 Add mising "Since:" to docs.
5458 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5461 Include "glib-compat-private.h" to fix the build on system with
5462 glib < 2.10. Fixes #503131.
5464 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5468 Actually its not PURE as it gets the time from elsewhere.
5470 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5472 * docs/gst/gstreamer-sections.txt:
5474 * gst/gstdebugutils.c:
5478 * libs/gst/base/gstbasesink.c:
5479 * tools/gst-launch.c:
5480 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5481 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5482 Thanks Tim for spotting.
5483 API: gst_util_get_timestamp
5485 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5488 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5490 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5492 * gst/gststructure.c: (gst_structure_validate_name),
5493 (gst_structure_new_valist), (gst_structure_parse_value),
5494 (gst_structure_from_string):
5495 Don't crash in _from_string() if the structure name is not valid
5496 (fixes #501560). Allow structure names to start with a number
5497 again (this apparently broke the ubuntu codec installer).
5499 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5501 Add unit test for the crash; update unit tests for new behaviour.
5503 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5506 Clarify gst_element_get_compatible_pad() documentation.
5509 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5511 * tests/check/Makefile.am:
5512 Don't forget to dist {gst,libs}/struct_hppa.h.
5514 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5516 * libs/gst/base/gstbasesink.c:
5517 Use new API to get elapsed time.
5519 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5521 * gst/gstdebugutils.c:
5523 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5525 * tools/gst-launch.c:
5526 Use new API to get elapsed time.
5528 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5530 * docs/gst/gstreamer-sections.txt:
5532 * gst/gstdebugutils.c:
5534 Rename new API + ChangeLog surgery to remove old name from last entry..
5536 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5538 * docs/gst/gstreamer-sections.txt:
5540 * gst/gstdebugutils.c:
5542 Now hide the different clock stuff behind a macro.
5544 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5547 * gst/gstdebugutils.c:
5549 Apply the posix-timer check from #361155. Conditionally use the posix
5550 timer for logging. This gives better timestamp precission, less
5551 overhead and no ntp jitter.
5553 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5555 * gst/gstminiobject.c: (gst_mini_object_get_type),
5556 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5557 (gst_mini_object_finalize), (gst_mini_object_copy),
5558 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5559 (gst_mini_object_replace), (param_mini_object_validate),
5560 (gst_param_spec_mini_object_get_type):
5561 Some cleanup and checking against invalid function parameters.
5563 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5565 * docs/gst/gstreamer-sections.txt:
5567 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5568 (gst_systemclock_suite):
5569 Start merging in the easy bits of #361155, the monotonic clock patch.
5570 This one adds a few handy macros with docs and a testsuite.
5572 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5574 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5575 Be a bit smarter when seeking, like, don't try to do a seek when it's
5576 not needed. This avoids errors when the file is not seekable.
5579 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5581 * docs/gst/gstreamer-docs.sgml:
5582 * docs/gst/gstreamer-sections.txt:
5583 * docs/gst/gstreamer.types.in:
5588 * plugins/elements/gstqueue.c:
5589 Due to popular request remove preset interface again. :-(.
5591 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5593 * tools/gst-inspect.c:
5594 Print 'default value' for enums and flags too.
5596 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5598 * docs/random/ensonic/profiling.txt:
5602 Fix typo and give better log output.
5604 * gst/gstdebugutils.c:
5605 * gst/gstdebugutils.h:
5606 More ideas, make graphs a bit smaller and fix param name in macro.
5608 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5611 Try harder to use the return value from fgets().
5613 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5616 For theses two fgets we handle the error below.
5618 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5620 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5621 Only send upstream events upstream. Fixes #498746.
5623 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5625 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5627 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5628 (gst_identity_init), (gst_identity_transform_ip),
5629 (gst_identity_set_property), (gst_identity_get_property):
5630 * plugins/elements/gstidentity.h:
5631 Add property to disable handoff signal emission. Fixes #498694.
5632 API: GstIdentity::signal-handoffs
5634 2007-11-21 Julien Moutte <julien@fluendo.com>
5636 * docs/faq/gst-uninstalled: Yet another missing library for the
5637 uninstalled script (fft)
5639 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5641 * docs/faq/developing.xml:
5642 Add a question about how to submit new translations.
5644 * docs/random/release:
5645 Update the contact email address for the Translation Project
5647 * plugins/elements/gstfdsrc.c:
5648 The parent_class for fdsrc is pushsrc, not GstElement.
5650 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5653 Plug a leak and fix saving.
5655 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5657 * docs/gst/gstreamer-sections.txt:
5658 Add new gst_preset__get_property_names() function to the docs
5661 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5665 Change _get_preset_names API to return a strv with copies. Add
5666 _get_property_names to allow implementations to filter and provide
5667 good default implementation.
5669 2007-11-20 Julien MOUTTE <julien@moutte.net>
5671 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5674 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5677 More cleanups, docs, and TODOs from comments that now slowly come in.
5679 2007-11-19 Julien MOUTTE <julien@moutte.net>
5681 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5684 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5687 Fix bogus warning and make the property type specific code more
5690 2007-11-19 Julien MOUTTE <julien@moutte.net>
5692 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5695 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5697 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5698 (gst_bin_add_func), (gst_bin_remove_func),
5699 (gst_bin_change_state_func), (gst_bin_continue_func):
5700 Change email, cleanups add some more debug and comments.
5701 Also set bus and clock on new elements when the pipeline was in error.
5703 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5706 * gst/gstdebugutils.c:
5707 Fix build with --disable-gst-debug. Fixes #497859.
5708 Spotted by Sameer Naik.
5710 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5713 Little documentation improvment.
5716 More TODO cleanups. Remove c++ comments.
5718 * libs/gst/controller/gstcontroller.c:
5719 Add TODO and use quark from static string.
5721 * tests/check/gst/gstmessage.c:
5722 * tests/check/gst/gststructure.c:
5723 Use quark from static string.
5725 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5728 Add some comments and TODOs.
5731 Add padding for future changes.
5733 * plugins/elements/gstqueue.c:
5734 Implement the iface.
5736 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5738 * docs/gst/gstreamer-docs.sgml:
5739 * docs/gst/gstreamer-sections.txt:
5740 * docs/gst/gstreamer.types.in:
5745 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5747 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5753 === release 0.10.15 ===
5755 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5758 releasing 0.10.15, "October"
5760 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5762 * win32/vs6/libgstreamer.dsp:
5763 Convert line endings back to DOS.
5765 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5767 * docs/design/draft-tagreading.txt:
5768 * docs/random/ensonic/profiling.txt:
5769 Update fast tagreading draft and performance profiling ideas.
5771 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5773 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5774 Don't hold the object lock when unreffing a buffer because it could
5775 cause a deadlock when the finalize function wants to grab the object
5776 lock too. Fixes #495133.
5778 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5780 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5781 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5782 Also accumulate time correctly when doing reverse playback. Fixes
5784 When converting to running and stream time, use default values for
5785 start/stop/time/accum when comparing different formats. Fixes #494245.
5787 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5788 Do running/stream time in TIME format.
5790 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5791 (gst_segment_suite):
5792 2 new unit tests for segment accumulation.
5794 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5796 * gst/gst.c: (init_pre):
5797 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5798 (_gst_debug_bin_to_dot_file):
5799 Move getenv() back into gst_init, so everyone can live happily
5800 ever after. Make sure the symbol isn't exported though.
5802 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5804 Patch by: Sebastien Moutte <sebastien moutte net>
5806 * win32/common/gstenumtypes.c:
5807 * win32/common/gstenumtypes.h:
5810 * win32/vs6/libgstreamer.dsp:
5811 Update vs6 project files (#494343).
5813 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5815 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5816 (gst_base_src_perform_seek), (gst_base_src_default_event),
5817 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5818 (gst_base_src_activate_pull):
5819 Unify flushing code, remove some old unlock code that is no longer used.
5820 Take the streaming lock when seeking to avoid races. Fixes #492729.
5821 Added some more comments.
5823 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5825 * gst/gst.c: (_gst_disable_segtrap):
5826 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5827 we can use gst_segtrap_is_enabled() there now that we have that API.
5828 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5829 to do the getenv here (and export the variable).
5831 * gst/gstdebugutils.c: (debug_dump_element),
5832 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5833 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5835 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5836 (gst_debug_log_default):
5837 Rename _gst_info_start_time to priv_gst_info_start_time so it
5838 doesn't get exported (was never in any header).
5840 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5841 (gst_plugin_loading_mutex):
5842 Make static mutex gst_plugin_loading_mutex really static (was never
5843 in any header), and use gst_segtrap_is_enabled() instead of
5844 _gst_disable_segtrap.
5846 * gst/gsttrace.c: (_gst_trace_default):
5847 Make local _gst_trace_default static (was never in any header).
5849 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5851 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5853 * win32/common/libgstbase.def:
5854 * win32/common/libgstcontroller.def:
5855 * win32/common/libgstdataprotocol.def:
5856 * win32/common/libgstnet.def:
5857 * win32/common/libgstreamer.def:
5858 Add more missing symbols, remove some duplicates, and sort
5859 as the 'sort' command sorts it (partially fixes #493983).
5861 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5863 * gst/gstelement.c: (gst_element_set_state_func):
5864 Only change the state cookie if a different state was set on the
5865 element. See #492729.
5867 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5870 Remove unused and uninitialised type variables that were still
5871 exported for some reason (they were never in any header files
5874 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5876 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5877 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5878 (gst_base_sink_event), (gst_base_sink_get_position_last),
5879 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5880 (gst_base_sink_change_state):
5881 Don't try to report a 0 position when we don't know, return -1 and FALSE
5882 instead. This mostly happens when we are prerolling.
5883 Make sure we can report the right position before we post the ASYNC_DONE
5884 message so that a message handler can query position without races.
5886 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5887 (async_done_handoff), (async_done_func), (send_buffer),
5888 (async_done_eos_func), (gst_sinks_suite):
5889 Add two tests for the above.
5891 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5894 Update with new email address.
5896 * docs/design/part-TODO.txt:
5897 Add some more info about future pad-block and negotiation changes.
5899 * docs/design/part-buffering.txt:
5900 Add some ideas about buffering reporting.
5902 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5904 * tests/check/gst/gstobject.c:
5905 Disable silly racy test that always fails on this combination of CPU
5908 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5910 Patch by: Murray Cumming <murrayc@murrayc.com>
5913 Corrected the registration of the parent-set and parent-unset
5914 signals: The parameter is a GstObject, not a GObject (#493134).
5916 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5918 * gst/gst_private.h:
5927 Move declaration of private _gst_foo_initialize() functions into
5928 our private header file where they should have been all along.
5930 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5932 * docs/plugins/gstreamer-plugins-sections.txt:
5933 * gst/gstdebugutils.h:
5935 * plugins/elements/gstqueue.c:
5936 gtk-doc fixes; trailing-comma-in-enum fix.
5938 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5940 * gst/gst.c: (gst_deinit):
5941 Clean up on deinit (not the external ones though, doesn't seem to be
5942 needed for some reason).
5944 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5946 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5947 Remove __declspec(dllimport) for MSVC that was copied over into core
5948 from a plugin, obviously without ever having been tested (note the
5949 single underscore in _declspec in the initial commit), and that doesn't
5950 really make sense. See #492077.
5952 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5954 * gst/gst.c: (init_post):
5955 * gst/gstevent.c: (_gst_event_initialize):
5956 * gst/gstquery.c: (_gst_query_initialize):
5957 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5958 g_type_class_ref() other types as well, see #349410 and #64764.
5960 * gst/gstbuffer.c: (_gst_buffer_initialize):
5961 * gst/gstmessage.c: (_gst_message_initialize):
5962 Simplify existing g_type_class_ref().
5964 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5966 * gst/gstformat.c: (_gst_format_initialize):
5967 g_type_class_ref() our GstFormat type to make sure we avoid the
5968 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5969 bug #64764. Should fix intermittent tee unit test failures (#474823).
5971 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5973 * tests/check/elements/tee.c: (test_num_buffers):
5974 Simplify, simplify, simplify - or not. Rewrite unit test
5975 not to use gst_parse_launch(); allow N sub-streams. Increasing
5976 the number of sub-streams seems to reproduce #474823 more easily.
5978 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5980 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5983 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5984 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5985 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5986 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5987 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5988 so use _pipe() directly (#492077).
5990 * win32/common/dirent.c: (_treaddir):
5991 Add a couple of casts to make it build without warnings with MSVC.
5993 * win32/common/libgstreamer.def:
5994 Add some more symbols that need to be exported.
5996 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5998 * tests/examples/metadata/read-metadata.c: (message_loop):
5999 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6000 arriving in a second or third tag message are added to
6001 the tag list as well.
6003 2007-10-31 Stefan Kost <ensonic@users.sf.net>
6005 * libs/gst/base/gstbasesrc.c:
6006 Its "Since:" and not "@Since:". And remove an superflous cast.
6008 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
6010 * docs/libs/gstreamer-libs-sections.txt:
6011 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6012 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6013 (gst_base_sink_get_property), (gst_base_sink_render_object),
6014 (gst_base_sink_preroll_object),
6015 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6016 (gst_base_sink_change_state):
6017 * libs/gst/base/gstbasesink.h:
6018 Add a new last-buffer property that contains the last buffer used in
6019 basesink for preroll or rendering. useful for making snapshots.
6020 API: gst_base_sink_get_last_buffer()
6021 API: GstBaseSink::last-buffer
6023 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6025 * docs/gst/running.xml:
6027 * gst/gstdebugutils.c:
6028 * gst/gstdebugutils.h:
6029 * tools/gst-launch.c:
6030 Improve bin graph dumping, by using the envvar to specify a path.
6031 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6033 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
6035 * plugins/elements/gsttypefindelement.c:
6036 (gst_type_find_element_handle_event),
6037 (gst_type_find_element_activate):
6038 Post special error message if we can't determine the type of a stream
6041 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6043 * docs/gst/running.xml:
6044 * gst/gstdebugutils.c:
6045 Document new env-var. Add one log-line after dumpng a graph.
6047 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6050 Ugly hack to put the (recently removed and non-portable, apparently)
6051 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6052 GNU ld, because without that 'make check' fails miserably on my debian
6053 stable box. Someone with more knowledge of linker intricacies and
6054 portability issues than me fix this properly please.
6056 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6058 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6059 Reset last seen position after flushing so that we don't report the old
6062 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6064 * gst/gstelementfactory.c: (gst_element_register):
6066 Patch from Alessandro Decina adding get_type_full and
6067 get_protocols_full private vfuncs to the URIHandler interface
6068 to allow bindings to support creating URI handlers.
6069 Partially fixes: #339279
6070 API: GstURIHandlerInterface::get_type_full
6071 API: GstURIHandlerInterface::get_protocols_full
6073 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6075 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6076 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6077 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6078 Make it so that pads are considered linked until a buffer is pushed
6079 and discovered otherwise. This avoids problems with decodebin2 hanging
6080 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6083 Make sure we lock the multiqueue when updating the max-size properties.
6085 Fix a crash on Solaris in a debug statement in get_request_pad that
6086 passes a NULL string to GST_DEBUG.
6088 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6089 (run_output_order_test):
6090 Fix the test to allow the first buffer on not-linked pads to come out
6091 of sequence while multiqueue discovers that they are not-linked.
6093 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6096 * libs/gst/check/Makefile.am:
6097 Use a custom export symbol regex for libgstcheck, as it needs
6098 to export symbols that don't match the standard GStreamer gst_*
6099 pattern, and --export-dynamic is not portable (only works on
6102 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6103 (gst_check_setup_sink_pad):
6104 Make sure to pass a message parameter to the fail_* macros.
6106 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6107 Fix some compiler warnings.
6109 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6111 * tests/check/gst/gststructure.c: (test_to_string):
6112 Disable test that checks that white spaces are not allowed
6113 in structure names or field names, since we need to
6114 support that for now for backwards compatibility reasons.
6116 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6118 * docs/gst/gstreamer-sections.txt:
6121 API: add GST_TAG_ARTIST_SORTNAME
6122 API: add GST_TAG_ALBUM_SORTNAME
6123 API: add GST_TAG_TITLE_SORTNAME
6124 Add tag variants for sorting (#414539).
6126 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6128 * gst/gststructure.c:
6129 Also allow white space for names so we don't break
6130 backwards compatibility.
6132 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6134 * docs/design/part-TODO.txt:
6135 * docs/design/part-segments.txt:
6136 * docs/design/part-streams.txt:
6139 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6141 * docs/gst/gstreamer-sections.txt:
6142 Fixed documentation from my previous commit (added new API add
6143 gst_value_set_structure(), add gst_value_get_structure() and
6144 GST_VALUE_HOLDS_STRUCTURE).
6146 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6148 * gst/gstdebugutils.c:
6149 Reflow code to fix uninitialized variable warning.
6151 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6153 * gst/gstcaps.c: (gst_caps_to_string),
6154 (gst_caps_from_string_inplace):
6155 * gst/gststructure.c: (gst_structure_get_abbrs),
6156 (gst_structure_to_string), (gst_structure_from_string):
6157 * gst/gstvalue.c: (gst_value_set_structure),
6158 (gst_value_get_structure), (gst_value_serialize_structure),
6159 (gst_value_deserialize_structure), (_gst_value_initialize):
6161 * tests/check/gst/gststructure.c: (GST_START_TEST),
6162 (gst_structure_suite):
6163 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6164 Added GstStructure to gst_value_table and its related functions.
6165 Changed gst_structure_to_string to print ';' in the end.
6166 Changed gst_caps_to_string to not print ';' beteween its
6167 fields (structures) anymore and remove the lastes ';' from latest
6168 structure. Now it is possible to have nested structures.
6169 In addition, backward compatibilty is assured by accepting '\0' as
6170 end delimiter. Fixes: #487969.
6171 API: add gst_value_set_structure()
6172 API: add gst_value_get_structure()
6173 API: add GST_VALUE_HOLDS_STRUCTURE
6175 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6178 When no GSource callback has been set up, tell developer
6179 to use a function that actually exists.
6181 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6183 * docs/gst/gstreamer-sections.txt:
6187 * gst/gstdebugutils.c:
6188 * gst/gstdebugutils.h:
6191 * tools/gst-launch.c:
6192 Allow dumping pipelines as dot graphs. Fixes #456573.
6194 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6196 * gst/gststructure.c:
6197 Allow '+' as well, it can be part of media or mime types
6198 such as image/svg+xml.
6200 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6202 * docs/gst/gstreamer-sections.txt:
6205 API: add gst_bus_pop_filtered
6206 API: add gst_bus_timed_pop_filtered
6207 Two new functions for waiting for specific message types on the
6208 bus for a specified amount of time without iterating any main
6209 loops or main contexts.
6211 * tests/check/gst/gstbus.c:
6212 Some tests for the new functions.
6214 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6216 * docs/libs/gstreamer-libs-sections.txt:
6217 Make gtk-doc ignore stuff it should ignore.
6219 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6221 * libs/gst/check/gstcheck.c:
6222 * libs/gst/check/gstcheck.h:
6223 Allow runtime selection of unit tests to run via the GST_CHECKS
6224 environment variable (test case function names, comma-separated).
6226 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6228 * gst/gststructure.c:
6229 * tests/check/gst/gststructure.c:
6230 Revert serialisation change and constrain structure-names after
6231 consensus on irc. Update api documentation to reflect the change.
6233 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6235 * gst/gststructure.c:
6236 Improve serialization and fix tests.
6238 * tests/check/gst/gststructure.c:
6239 Add another test that covers why I actually did the previous structure
6242 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6244 * tools/gst-inspect.c: (print_element_info):
6245 Don't crash when inspecting an element.
6247 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6249 * tests/check/gst/gststructure.c:
6250 Add unit test for escaping of structure name when serialising
6251 and deserialising to/from strings.
6253 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6255 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6256 (gst_single_queue_new):
6257 * plugins/elements/gstqueue.c: (gst_queue_init),
6258 (gst_queue_push_one):
6259 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6260 upstream is tricked into thinking it can suggest a format downstream
6261 while downstream does not support that format. The real problem is that
6262 core calls acceptcaps when pushing a buffer with new caps, for which we
6263 do a little workaround by setting the caps on the srcpad ourselves
6264 before pushing the buffer (until this is figured out). Fixes #486758.
6266 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6268 * gst/gststructure.c:
6270 Add some more comments and debug output. Quote structure name to fix
6271 deserialisation of some strings.
6273 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6276 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6277 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6279 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6281 * tools/gst-inspect.c:
6282 Save approx. 400 1 byte allocs when printing. Use API to acces element
6288 * tools/gst-xmlinspect.c:
6289 Use API to acces element details.
6291 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6294 Fix some spelling errors.
6296 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6298 * gst/gstbin.c: (bin_handle_async_done):
6299 Correctly set the next state if all of our async children commited their
6300 state. This makes sure we can actually cancel the state change in
6301 progress. Fixes a regression in Rhythmbox when seeking.
6303 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6306 Don't shadow local variable.
6309 Don't shadow global function name.
6311 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6313 * gst/gstelementfactory.c:
6314 * gst/gstpluginfeature.c:
6315 * gst/gstpluginfeature.h:
6316 * gst/gstregistrybinary.c:
6317 * gst/gstregistryxml.c:
6318 * gst/gsttypefind.c:
6319 Use already-interned string for the private GstPluginFeature
6322 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6324 * docs/libs/gstreamer-libs-sections.txt:
6325 Add new API to docs; fixes the build.
6327 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6329 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6331 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6332 (gst_base_sink_event):
6333 * libs/gst/base/gstbasesink.h:
6334 Add function to wait for EOS, subclasses can use this to correctly wait
6335 for devices to drain before performing the EOS logic. Fixes #485343.
6336 API: gst_base_sink_wait_eos()
6338 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6341 Cast description string constants in GST_PLUGIN_DEFINE macros
6342 to a (gchar*) to make C++ code using these macros compile
6343 without warning with g++-4.2 (see #462737). Even if slightly
6344 ugly, this seems preferable to putting the description strings
6345 into the GLib quark table or making the structure member a
6346 const gchar * and doing casts in core code that allocs and
6347 frees these strings, or requiring a cast in the C++ code.
6349 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6352 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6353 to print the entire class/function signature into the log
6354 file for C++ code. This only affects C++ code, for C code
6355 everything remains the same.
6357 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6359 * gst/gstbin.c: (remove_from_queue):
6360 Work around a problem with pipelines containing (semi)loops until a
6361 proper, more complicated solution is ready. See #475455.
6363 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6367 * gst/gstregistrybinary.c:
6368 * gst/gstregistryxml.c:
6369 Put more strings into the GLib quark table. No need to keep
6370 a hundred-something copies of identical version strings,
6371 license strings, package name strings and package origin
6374 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6376 * docs/manual/advanced-dataaccess.xml:
6377 Don't imply that it's okay to unconditionally change
6378 buffer data or buffer metadata in a pad probe callback,
6379 and a bunch of other comments. Fixes #430031.
6381 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6383 * win32/common/gstenumtypes.c:
6384 * win32/common/gstenumtypes.h:
6385 * win32/common/gstversion.h:
6386 Update generated files.
6388 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6390 * docs/manual/advanced-autoplugging.xml:
6391 Prefix section with broken code with a warning (see #342432).
6393 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6395 * docs/manual/appendix-integration.xml:
6396 * docs/manual/basics-init.xml:
6397 Call g_thread_init() before g_option_context_new() to
6398 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6400 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6402 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6403 (gst_base_sink_queue_object_unlocked),
6404 (gst_base_sink_queue_object), (gst_base_sink_event),
6405 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6406 When we received EOS and are waiting for when to post the EOS message,
6407 our state is prerolled and we should not return ASYNC.
6408 Reorganize some code paths to implement this behavior.
6410 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6412 Add unit test to verify above EOS fix.
6414 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6416 * plugins/elements/gsttypefindelement.c:
6417 (gst_type_find_element_have_type), (gst_type_find_element_init),
6418 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6419 Move detecting the input caps of the sinkpad to the setcaps function.
6420 This allows us to update the output caps when we receive new input caps
6421 instead of always using the first detected caps.
6423 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6425 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6426 (gst_base_sink_get_position):
6427 Don't try to preroll non-async elements after a flush.
6428 Subtract latency form clock times when reporting position.
6430 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6432 * gst/gstpad.c: (gst_pad_pause_task):
6434 Small comment and documentation update.
6436 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6438 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6439 (gst_base_src_set_live), (gst_base_src_is_live),
6440 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6441 (gst_base_src_default_event), (gst_base_src_wait),
6442 (gst_base_src_do_sync), (gst_base_src_get_range),
6443 (gst_base_src_pad_get_range), (gst_base_src_loop),
6444 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6445 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6446 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6447 (gst_base_src_change_state):
6448 Rework the locking of basesrc in a similar fashion to basesink. We
6449 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6450 us to handle live sources and semi live ones much better.
6452 Fix unlocking when seeking, shutting down and pausing in live sources.
6454 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6456 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6457 Fix compilation again.
6459 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6462 Use meaningful categories for the logs to clean the default one.
6464 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6466 * tests/check/pipelines/cleanup.c:
6467 Print message name and not just number.
6469 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6471 * docs/design/draft-tagreading.txt:
6472 Add some more thoughts.
6474 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6476 * tests/check/pipelines/simple-launch-lines.c:
6477 Print message name and not just number.
6479 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6481 * libs/gst/base/gsttypefindhelper.c:
6482 Speedup typefinding. This is work in progress (see #459862).
6484 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6487 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6488 Spotted by Josep Torra Valles <josep@fluendo.com>.
6490 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6493 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6494 field has moved to GstObject.
6496 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6498 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6499 (gst_base_src_get_range), (gst_base_src_change_state):
6500 Call unlock for live sources so that they can't get stuck in _create and
6501 produce a buffer before they are set back to PLAYING.
6503 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6505 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6506 (gst_queue_locked_dequeue):
6507 Comment the segment-related code... in the PROPER function.
6508 See #482147 and my commit from yesterday.
6510 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6512 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6513 Also initialize the counter that calculates the first timestamp on a
6514 buffer correctly for non-live sources.
6516 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6518 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6519 Disable code that's breaking the current-time-level reporting.
6522 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6524 * docs/gst/gstreamer-sections.txt:
6525 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6526 as they shouldn't show up. Fixes the docs build.
6528 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6531 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6532 Define M_PI which is used in files which are including gstinfo.h.
6533 VS6 includes doesn't define it.
6534 * win32/common/libgstbase.def:
6535 * win32/common/libgstcontroller.def:
6536 * win32/common/libgstreamer.def:
6537 Add new exported functions and variables.
6538 * win32/vs6/libgstcontroller.dsp:
6539 * win32/vs6/libgstreamer.dsp:
6540 Update the list of files to build.
6542 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6544 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6546 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6547 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6548 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6549 Improve debugging. Fixes #480858.
6551 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6553 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6555 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6556 First patch of code cleanups, use the macros and right arguments in the
6557 macros to signal and lock the queue. See #480858.
6559 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6561 * gst/gstbus.c: (poll_func):
6562 Improve debugging when dealing with _poll().
6564 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6566 * gst/gstregistryxml.c:
6567 Fix memory leak I introduced a few days ago.
6569 2007-09-26 Michael Smith <msmith@fluendo.com>
6571 * gst/gstbuffer.c: (gst_buffer_finalize):
6572 Make it once again possible to free GstBuffers in the default
6574 The poisoning scribbles on parts of the miniobject we need in
6578 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6580 * docs/gst/gstreamer-sections.txt:
6583 API: add GST_TAG_COMPOSER, fixes #459809.
6585 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6589 Add the 3-clause BSD license and the MIT/X11 license to the license
6590 list. Fixes #479784.
6592 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6594 * docs/faq/getting.xml:
6595 Add Q+A about different GStreamer versions (#364056).
6597 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6599 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6600 (gst_base_sink_event), (gst_base_sink_change_state):
6601 Return correct gboolean from query function.
6603 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6605 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6606 (gst_base_sink_event), (gst_base_sink_query),
6607 (gst_base_sink_change_state):
6608 Simplify latency query.
6609 When not synchronizing, we can report latency without querying the peer
6612 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6616 Fix small typos in the docs.
6618 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6620 * docs/design/draft-latency.txt:
6621 * docs/design/draft-push-pull.txt:
6622 * docs/design/draft-tagreading.txt:
6623 * docs/design/part-MT-refcounting.txt:
6624 * docs/design/part-activation.txt:
6625 * docs/design/part-block.txt:
6626 * docs/design/part-element-source.txt:
6627 * docs/design/part-events.txt:
6628 * docs/design/part-gstbin.txt:
6629 * docs/design/part-gstelement.txt:
6630 * docs/design/part-gstobject.txt:
6631 * docs/design/part-gstpipeline.txt:
6632 * docs/design/part-messages.txt:
6633 * docs/design/part-preroll.txt:
6634 * docs/design/part-push-pull.txt:
6635 * docs/design/part-qos.txt:
6636 * docs/design/part-query.txt:
6637 * docs/design/part-scheduling.txt:
6638 * docs/design/part-seeking.txt:
6639 * docs/design/part-segments.txt:
6640 * docs/design/part-states.txt:
6641 Documentation updates and typo fixes.
6643 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6645 * plugins/elements/gstfakesink.c:
6646 Add some debug text to error message to indicate that
6647 we errored out on request.
6649 * tools/gst-launch.c:
6650 When the state change to PLAYING fails, check for an
6651 error message on the bus and print it.
6653 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6655 translated by: Jorge González González <aloriel@gmail.com>
6659 Added Spanish translation.
6661 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6663 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6664 Fix printf arguments.
6666 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6668 * tests/check/generic/states.c:
6669 Improved state change unit test.
6671 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6674 Move priv to the right place.
6676 * gst/gstsystemclock.c:
6677 Add FIXME: and improve log.
6679 * tests/check/Makefile.am:
6680 * tests/examples/manual/Makefile.am:
6681 Work with all types of registries.
6683 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6685 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6686 Don't unref the event after pushing it. Fixes #478401.
6688 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6691 * tests/examples/manual/.cvsignore:
6692 Ignore registries in any format.
6694 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6696 * gst/glib-compat-private.h:
6697 Add compatibility macro for g_intern_string() for
6698 GLib-2.8 (any reason we can't just bump the
6699 requirement to at least 2.10?)
6701 * gst/gstpadtemplate.h:
6702 * gst/gstelementfactory.c:
6703 * gst/gstregistryxml.c:
6704 * gst/gstregistrybinary.c:
6705 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6706 up the internal code accordingly. This shouldn't be a problem, since
6707 there is no reason external code could ever assume the string in such
6708 a structure is dynamically allocated unless it did that itself; the
6709 use of g_strdup() is private to element factories. The new code also
6710 saves some memory by putting pad template name strings into the GLib
6711 quark table instead of allocating them dynamically.
6712 Declaring this field constant fixes warnings with g++-4.2 when using
6713 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6715 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6717 * gst/gstelementfactory.c:
6718 Release static caps. Fixes #475723.
6720 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6724 Make some internal API take const gchar * instead of just
6725 gchar * to avoid compiler warnings with g++-4.2.2 when
6726 passing string constants (partially fixes #478092).
6728 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6730 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6731 A latency query fails when one of the sinks fail.
6733 * gst/gstelement.c: (gst_element_set_base_time):
6736 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6738 * gst/gstbin.c: (gst_bin_continue_func):
6739 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6740 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6741 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6743 Fix minor compilation warnings shown with Forte.
6745 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6747 * plugins/elements/gstqueue.c: (apply_buffer),
6748 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6749 Measure queue level based on the diff between head and tail timestamps
6750 even when pushing the first buffer.
6752 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6754 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6755 (gst_base_sink_event), (gst_base_sink_change_state):
6756 Sinks that don't preroll can always be queried for the latency.
6757 Don't post ASYNC start when we are not async.
6759 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6761 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6762 (gst_queue_handle_sink_event), (gst_queue_chain),
6763 (gst_queue_push_one), (gst_queue_handle_src_query),
6764 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6765 * plugins/elements/gstqueue.h:
6766 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6767 push more buffers but allow pushing of EOS and NEWSEGMENT.
6768 Add some more debug info here and there. Fixes #476514.
6770 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6772 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6773 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6774 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6775 (gst_base_sink_set_flushing), (gst_base_sink_query),
6776 (gst_base_sink_change_state):
6777 Latency query is allowed after we are prerolled. Introduce a new flag
6778 for this and stop abusing other variables.
6780 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6782 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6783 Push OOB events downstream when we get them in send_event. This allows
6784 the application to insert events in the pipeline.
6785 Add some more comments.
6787 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6789 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6790 (do_bin_latency), (gst_bin_change_state_func):
6791 * gst/gstpipeline.c: (gst_pipeline_change_state):
6792 Move latency query from GstPipeline to GstBin so that we can also
6793 use it when async-handling is enabled on bins.
6795 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6797 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6798 (gst_base_src_do_sync), (gst_base_src_change_state):
6800 Clean up the timestamping and syncing code for pseudo live sources.
6802 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6804 Patch by: Steve Fink <sphink gmail com>
6806 * docs/manual/appendix-checklist.xml:
6807 Mention less -R switch in the section about debug output (#474055).
6809 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6811 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6812 Queue can latency to the pipeline up to the configured max size in time.
6813 Report this fact in the latency query.
6815 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6817 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6819 * libs/gst/controller/gstinterpolation.c:
6820 * libs/gst/controller/gstlfocontrolsource.c:
6821 Use gst_guint64_to_gdouble() when converting from a uint64 or
6822 GstClockTime to double to fix the build on win32. Fixes #474371.
6824 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6826 * gst/gstbuffer.c: (gst_buffer_finalize):
6827 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6828 When finalizing a buffer the complete struct is filled with 0xff,
6829 thus making a use of the buffer after the final unref impossible.
6831 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6833 * tests/check/libs/controller.c: (GST_START_TEST):
6834 Use fail_unless_equals_int(a, b) instead of
6835 fail_unless_equals (a == b) to get better output on failures.
6837 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6839 * tests/check/gst/gsturi.c:
6840 Also check for the other file URI variant on win32.
6842 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6844 * gst/gsturi.c: (gst_uri_get_location):
6845 If there's no hostname, we want to return 'c:/foo/bar.txt'
6846 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6848 * tests/check/gst/gsturi.c:
6849 Unit test for the above and a few more things.
6851 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6853 * docs/design/part-live-source.txt:
6854 Add docs on how live sources should timestamp.
6856 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6857 Add some more debug info.
6858 For subclasses that are live and like to sync, add aditional startup
6859 latency to sync time and timestamps so that we timstamp according to the
6862 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6865 Also do a g_type_class_ref() for the subbuffer type in
6868 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6870 * docs/gst/gstreamer-sections.txt:
6871 * gst/gstpad.c: (gst_pad_peer_query):
6873 Add function to perform a query on the peer of a pad.
6874 API: gst_pad_peer_query()
6876 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6878 * tests/check/gst/gstsystemclock.c:
6879 Cleanup the test a little (use gst-logging and not g_message). Improve
6880 test to check if a wait reached the target.
6882 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6884 * docs/libs/gstreamer-libs-sections.txt:
6885 Add new API to docs and fix the build.
6887 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6889 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6890 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6891 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6892 (gst_base_src_get_property), (gst_base_src_do_sync):
6893 * libs/gst/base/gstbasesrc.h:
6894 Add property to make the basesrc timestamp buffers based on the current
6896 API: GstBaseSrc::do-timestamp
6897 API: gst_base_src_set_do_timestamp()
6898 API: gst_base_src_get_do_timestamp()
6900 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6902 * docs/random/release:
6903 Really make sure translations are up-to-date before
6904 a release (#465010).
6906 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6908 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6909 Always destroy the timer, also in error cases.
6911 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6913 * docs/manual/highlevel-xml.xml:
6914 Fix XML example code. Fixes #472714.
6916 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6918 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6919 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6920 (gst_base_sink_query):
6921 Protect eos and have_preroll with the OBJECT lock so we don't need to
6922 take the PREROLL lock when querying the latency. Fixes #473846.
6924 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6927 Give some log-messages a category.
6929 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6931 * gst/gststructure.c:
6932 (gst_structure_fixate_field_nearest_fraction):
6933 Fix fraction list fixation code. Take the fraction with the smallest
6934 difference with the target instead of the first one in the list.
6936 * tests/check/gst/gststructure.c: (GST_START_TEST),
6937 (gst_structure_suite):
6938 Added test to verify correct fraction list fixation behaviour.
6940 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6942 * win32/common/libgstreamer.def:
6943 Export gst_bus_add_signal_watch too.
6945 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6947 * docs/libs/gstreamer-libs-sections.txt:
6948 Add new methods to docs.
6950 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6951 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6952 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6953 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6954 * libs/gst/base/gstbasesink.h:
6955 Add ts-offset property to fine-tune the synchronisation.
6956 API: GstBaseSink::ts-offset property
6957 API: gst_base_sink_set_ts_offset()
6958 API: gst_base_sink_get_ts_offset()
6960 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6962 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6963 (gst_base_sink_init), (gst_base_sink_set_sync),
6964 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6965 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6966 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6967 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6968 (gst_base_sink_get_property), (gst_base_sink_change_state):
6969 * libs/gst/base/gstbasesink.h:
6970 Add async property to instruct the sink never to inform the parent about
6971 ASYNC state changes, update docs.
6972 Check argument with g_return_* for the public functions.
6973 API: GstBaseSink::async property
6974 API: gst_base_sink_set_async_enabled()
6975 API: gst_base_sink_is_async_enabled()
6977 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6979 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6982 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6983 (gst_base_src_default_query), (gst_base_src_wait),
6984 (gst_base_src_do_sync), (gst_base_src_change_state):
6985 Rearrange some code so that we can add support for measuring the
6988 2007-08-27 Stefan Kost <ensonic@users.sf.net>
6990 * docs/random/ensonic/dynlink.txt:
6991 More thoughs on this.
6993 * plugins/elements/gstcapsfilter.c:
6994 Add bugzilla ticket number to FIXME comment.
6996 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
6998 * docs/design/part-TODO.txt:
6999 * docs/design/part-block.txt:
7002 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7005 Revert patch which uses $(gst_headers) instead of $^ because it
7008 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7010 * tests/check/gst/gstbin.c: (GST_START_TEST):
7011 Fix leaks in the new unit test.
7013 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
7016 Don't use GST_INFO before the debug system is actually initialised
7017 (shouldn't do any harm, but won't print anything either, so we can
7018 just as well remove it).
7021 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7022 compilers that don't support variadic macros (such as MSVC), should
7023 check for debug_level <= __gst_debug_min as well, since that's the
7024 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7025 inline helper functions. Should improve performance a bit, but also
7026 makes sure uses of GST_INFO et.al are ignored if the debugging
7027 system isn't initialised yet (instead of printing an assertion
7030 2007-08-23 Stefan Kost <ensonic@users.sf.net>
7032 patch by: David Nečas <yeti@physics.muni.cz>
7035 Replace some non portable makefile constructs.
7037 2007-08-21 Stefan Kost <ensonic@users.sf.net>
7039 * common/gtk-doc-plugins.mak:
7040 Grrrrr. Don't remove the types file on make clean.
7042 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7044 * tools/gst-launch.1.in:
7045 Add colorspace to example pipeline. Fixes #458274.
7047 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7049 * docs/random/release:
7050 The release manager should run 'make download-po' before making a
7051 release to make sure translations are up-to-date.
7057 Add some new translations.
7059 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7061 * tools/gst-launch.c: (event_loop), (main):
7062 Don´t try to do any state management when a live pipeline posts
7064 Also make the buffering string translatable.
7066 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7068 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7069 (bin_handle_async_start), (gst_bin_handle_message_func):
7071 When adding elements, insert messages into the bus of the newly added
7072 element and make sure the element is the source of the message. This
7073 allows the parent bin to intercept the message and do the
7074 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7075 messages to the app (which is not allowed).
7078 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7079 Fix testsuite so that is does not work around messages that should not
7080 have been posted in the first place.
7082 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7084 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7085 (update_degree), (gst_bin_sort_iterator_next):
7086 Fix annoying bug in the sorted iterator where a sink that is not really
7087 a sink (when it has downstream links) screwed up the iterator.
7089 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7090 Unit test to verify the fix.
7092 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7095 Add some more docs for the messages.
7097 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7098 (gst_base_sink_query):
7099 Add some more debugging.
7101 * tools/gst-launch.c: (event_loop):
7102 When interrupting, don't try to set pipeline to PAUSED twice.
7104 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7107 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7108 (bin_handle_async_start), (gst_bin_handle_message_func):
7109 Move ASYNC_START message posting to where it belongs, similar to
7111 Don't post ASYNC_START when we are in error.
7112 Post ASYNC_START when we added an async element to a bin.
7114 2007-08-14 Julien MOUTTE <julien@moutte.net>
7116 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7117 generation from vargs. Fixes #466595.
7119 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7121 * gst/gstbin.c: (gst_bin_element_set_state):
7122 Always change the state of a NO_PREROLL element even if it has ASYNC
7123 elements inside (in case of a bin).
7125 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7126 Unit test for this case.
7128 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7130 * libs/gst/check/gstbufferstraw.c:
7131 * libs/gst/check/gstcheck.h:
7132 * libs/gst/controller/gstcontroller.c:
7133 * libs/gst/controller/gstcontrolsource.h:
7134 * libs/gst/controller/gstlfocontrolsource.h:
7135 * plugins/elements/gstcapsfilter.h:
7136 * plugins/elements/gstfdsink.h:
7137 * plugins/elements/gstfdsrc.h:
7138 Add more missing docs.
7140 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7142 * gst/gststructure.c:
7143 Add Since tag to docs.
7145 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7147 * docs/gst/gstreamer-sections.txt:
7148 * gst/gststructure.c: (gst_structure_get_uint):
7149 * gst/gststructure.h:
7150 Add function to get uint from a structure.
7151 API: gst_structure_get_uint()
7153 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7155 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7156 (gst_caps_intersect):
7157 Fix proper check for simple caps.
7159 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7161 * docs/gst/Makefile.am:
7162 * docs/libs/Makefile.am:
7163 Remove cruft and do some cleanups.
7165 * docs/gst/gstreamer-docs.sgml:
7166 * docs/libs/gstreamer-libs-docs.sgml:
7167 Prepare for comming gtkdoc features (rebase against online docs).
7169 2007-08-10 Michael Smith <msmith@fluendo.com>
7171 * docs/gst/gstreamer-sections.txt:
7172 Add gst_registry_add_path to docs.
7174 2007-08-10 Michael Smith <msmith@fluendo.com>
7176 * gst/gstregistry.h:
7177 Add gst_registry_add_path, which was missing from this header.
7179 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7181 * libs/gst/controller/gstlfocontrolsource.c:
7184 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7186 * libs/gst/base/gstbasesink.c:
7187 Don't send an async_start message during downwards state change if
7188 target state is less than READY
7190 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7192 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7196 Added Hungarian translation.
7198 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7205 Updated translations.
7207 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7209 * libs/gst/controller/Makefile.am:
7210 Dist gstlfocontrolsourceprivate.h
7212 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7214 * docs/libs/gstreamer-libs.types:
7215 Don't register the enum type gst_lfo_waveform_get_type() in the
7216 .types file - only GObject derived types belong.
7218 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7220 Patch by: <arenevier at fdn dot fr>
7223 Remove comma from last element in enum to avoid compile errors when
7224 using -pendantic. Fixes #464366.
7226 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7228 * docs/design/part-TODO.txt:
7229 Add some more TODO items
7231 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7234 * gst/gstcaps.c: (gst_caps_intersect):
7235 Optimize trivial intersection case between identical caps pointers.
7237 * gst/gstelement.c: (gst_element_continue_state),
7238 (gst_element_set_state_func):
7240 Fix spelling and grammar mistakes.
7242 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7246 Update POTFILES. Fixes #461599.
7248 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7251 Fix confusing typo in debug output.
7253 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7255 reviewed by: Stefan Kost <ensonic@users.sf.net>
7257 * libs/gst/controller/Makefile.am:
7258 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7259 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7260 (gst_lfo_control_source_new),
7261 (gst_lfo_control_source_set_waveform),
7262 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7263 (gst_lfo_control_source_finalize),
7264 (gst_lfo_control_source_dispose),
7265 (gst_lfo_control_source_set_property),
7266 (gst_lfo_control_source_get_property),
7267 (gst_lfo_control_source_class_init):
7268 * libs/gst/controller/gstlfocontrolsource.h:
7269 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7270 API: Add GstLFOControlSource, a control source that gives values
7271 for specific timestamps based on several periodic waveforms.
7274 * tests/check/libs/controller.c: (GST_START_TEST),
7275 (gst_controller_suite):
7276 * docs/libs/gstreamer-libs-docs.sgml:
7277 * docs/libs/gstreamer-libs-sections.txt:
7278 * docs/libs/gstreamer-libs.types:
7279 Add documentation and unit tests for GstLFOControlSource.
7281 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7286 === release 0.10.14 ===
7288 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7291 releasing 0.10.14, "Breathing Vacuum"
7293 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7295 * gst/gstelement.c: (gst_element_class_set_details_simple):
7297 Make strings passed to gst_element_class_set_details_simple()
7298 constant, as they should be (#462752).
7300 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7302 * gst/gstbin.c: (gst_bin_change_state_func),
7303 (bin_handle_async_done), (gst_bin_handle_message_func):
7304 Don't forget about the fact that some element went ASYNC even after a
7305 resync. This makes us post the ASYNC_DONE message correctly.
7308 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7310 * gst/gstregistry.c: (gst_registry_add_feature):
7311 When replacing an existing feature in the registry, make sure to
7312 continue holding a reference until we've replaced the name string
7313 within our feature hash table. Make sure to use g_hash_table_replace
7314 instead of g_hash_table_insert to ensure the new name string is used
7315 as a key instead of the old one that we're about to free.
7318 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7320 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7321 (gst_plugin_feature_set_name):
7322 Revert patch from #459466 until after the release and we can work
7323 out exactly what the problem is (if any).
7325 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7327 * docs/gst/gstreamer-sections.txt:
7330 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7332 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7334 * docs/libs/Makefile.am:
7335 Include our build-prefix libs and includes before the generic ones to
7336 avoid linking against the installed libs when we want the build-tree
7339 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7341 Patch by: Steve Fink <sphink gmail com>
7343 * docs/pwg/building-testapp.xml:
7344 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7345 if people try to build or install the example from the plugin
7346 template against a GStreamer from package using the configure
7349 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7351 Patch by: Steve Fink <sphink gmail com>
7353 * tools/gst-inspect.1.in:
7354 Document --print-all and --print-plugin-auto-install-info command
7355 line options in man page.
7357 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7359 * docs/gst/gstreamer-sections.txt:
7360 Add docs for new api function.
7362 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7364 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7365 * gst/gstelementfactory.h:
7366 API: gst_element_factory_has_interface()
7367 Added method to check if an element factory implements a named
7370 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7373 * docs/gst/gstreamer.types.in:
7374 Another conditional doc check.
7377 * gst/gstparamspecs.h:
7378 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7383 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7385 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7386 (gst_registry_binary_load_feature),
7387 (gst_registry_binary_load_plugin),
7388 (gst_registry_binary_read_cache):
7389 Print error just once and with additional info.
7391 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7393 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7394 (helper_find_suggest), (helper_find_get_length),
7395 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7396 (gst_type_find_helper_for_buffer):
7397 Cleanup the typefindhelper code and add private doc comments.
7399 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7401 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7402 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7403 Fix capsfilter for cases where the caps set on capsfilter will provide
7404 additional information.
7407 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7409 * gst/gsttypefindfactory.c:
7410 Fix docs that recommened wrong function to use.
7412 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7414 * tools/gst-inspect.c: (print_plugin_features):
7415 Also give media-type for typefinders in element output.
7417 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7419 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7420 (gst_registry_remove_features_for_plugin_unlocked),
7421 (gst_registry_add_feature), (gst_registry_remove_feature),
7422 (gst_registry_lookup_feature_locked):
7423 * gst/gstregistry.h:
7424 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7427 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7429 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7430 (gst_plugin_feature_set_name):
7431 Avoid double memory usage for pluginfeature names. Fixes #459466.
7433 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7436 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7437 driving the pipeline may need to explicitly check for NOT_LINKED as
7438 well, since IS_FATAL doesn't cover that.
7440 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7442 * docs/pwg/advanced-types.xml:
7443 Fix typo and duplicate entry in video formats list.
7445 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7447 * libs/gst/controller/gstinterpolation.c:
7448 Also round to the nearest int when using cubic interpolation.
7450 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7452 * libs/gst/controller/gstinterpolation.c:
7453 When linearly interpolating integer types, round to the nearest int
7454 by adding 0.5. Don't do it for float/double types.
7455 Fixes the failing controller test on my machine, which is somehow
7456 rounding differently than on the buildbots.
7458 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7460 * tools/gst-plot-timeline.py:
7461 Better log parsing (categories can have -). Adjust text vs. lines, so
7462 that they span the same y-range.
7464 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7466 * docs/random/ensonic/audiobaseclasses.txt:
7467 * docs/random/ensonic/dynlink.txt:
7468 * docs/random/ensonic/profiling.txt:
7471 * docs/random/moving-plugins:
7472 Add note to use g_assert type macros.
7474 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7477 * libs/gst/check/Makefile.am:
7478 Add libm check as we use in for plugins.
7480 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7482 * gst/gstbin.c: (gst_bin_continue_func):
7483 Check that the state_cookie hasn't changed since the continue_func
7484 was scheduled. Avoids problems where the state changes back to
7485 something it shouldn't be because it was changed in the meantime.
7487 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7489 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7490 (gst_registry_binary_save_string),
7491 (gst_registry_binary_save_pad_template),
7492 (gst_registry_binary_save_feature),
7493 (gst_registry_binary_save_plugin),
7494 (gst_registry_binary_load_feature),
7495 (gst_registry_binary_load_plugin),
7496 (gst_registry_binary_read_cache):
7497 Fix memory leak. Be less verbose in the log.
7499 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7501 * tests/check/elements/.cvsignore:
7502 Add file to cvsignore as commanded.
7504 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7506 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7507 (mq_dummypad_event), (run_output_order_test):
7508 Use a GStaticMutex to protect all cases where libcheck
7509 fail_if/fail_unless macros might be called from multiple threads
7510 simultaneously to avoid errors like:
7511 "check_pack.c:107: :-1081725400:Bad message type arg"
7513 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7515 * tests/check/pipelines/stress.c: (GST_START_TEST):
7516 Make sure we set the pipeline back to the NULL state before
7517 dropping our final reference.
7519 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7521 * tests/check/elements/tee.c: (GST_START_TEST):
7522 Make the tee stress-test a little less stressful so it doesn't just
7523 time out on slow-machines, and remove a small race when it's starting
7524 up by adding a get_state() call.
7526 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7529 Avoid reading registry twice on startup. Fixes #457322.
7531 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7533 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7534 * pkgconfig/gstreamer-check.pc.in:
7535 Substitute the CFLAGS for libcheck into our .pc file too so that
7536 dependent modules will pick it up properly if libcheck is installed
7537 into some other prefix.
7539 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7542 Revert the pkg-config check for libcheck, since it pulls in the
7543 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7544 a proper solution, either from the check project, or something else.
7546 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7549 Use pkg-config to locate check.
7551 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7558 Add deprecation guards.
7560 * libs/gst/base/gstcollectpads.h:
7561 Don't document object (this is implicitly private).
7563 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7565 * gst/gststructure.c: (gst_structure_parse_value):
7566 When deserialising foo=bar without a type cast, check if it's a
7567 boolean before falling back to a string type, otherwise things like
7568 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7569 because the filtercaps end up having a signed=(string)true field,
7570 which causes problems later when intersection caps.
7572 * tests/check/gst/gststructure.c: (GST_START_TEST):
7573 Add a unit test for this.
7575 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7577 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7579 * libs/gst/controller/Makefile.am:
7580 * libs/gst/controller/gstcontroller.c:
7581 (gst_controlled_property_add_interpolation_control_source),
7582 (gst_controlled_property_new), (gst_controlled_property_free),
7583 (gst_controller_find_controlled_property),
7584 (gst_controller_new_valist), (gst_controller_new_list),
7585 (gst_controller_new), (gst_controller_remove_properties_valist),
7586 (gst_controller_remove_properties_list),
7587 (gst_controller_remove_properties),
7588 (gst_controller_set_property_disabled),
7589 (gst_controller_set_disabled), (gst_controller_set_control_source),
7590 (gst_controller_get_control_source), (gst_controller_get),
7591 (gst_controller_sync_values), (gst_controller_get_value_array),
7592 (_gst_controller_dispose), (gst_controller_get_type),
7593 (gst_controlled_property_set_interpolation_mode),
7594 (gst_controller_set), (gst_controller_set_from_list),
7595 (gst_controller_unset), (gst_controller_unset_all),
7596 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7597 * libs/gst/controller/gstcontroller.h:
7598 * libs/gst/controller/gstcontrollerprivate.h:
7599 * libs/gst/controller/gstcontrolsource.c:
7600 (gst_control_source_class_init), (gst_control_source_init),
7601 (gst_control_source_get_value),
7602 (gst_control_source_get_value_array), (gst_control_source_bind):
7603 * libs/gst/controller/gstcontrolsource.h:
7604 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7605 (gst_object_get_control_source):
7606 * libs/gst/controller/gstinterpolation.c:
7607 (gst_interpolation_control_source_find_control_point_node),
7608 (gst_interpolation_control_source_get_first_value),
7609 (_interpolate_none_get), (interpolate_none_get),
7610 (interpolate_none_get_boolean_value_array),
7611 (interpolate_none_get_enum_value_array),
7612 (interpolate_none_get_string_value_array),
7613 (_interpolate_trigger_get), (interpolate_trigger_get),
7614 (interpolate_trigger_get_boolean_value_array),
7615 (interpolate_trigger_get_enum_value_array),
7616 (interpolate_trigger_get_string_value_array):
7617 * libs/gst/controller/gstinterpolationcontrolsource.c:
7618 (gst_control_point_free), (gst_interpolation_control_source_reset),
7619 (gst_interpolation_control_source_new),
7620 (gst_interpolation_control_source_set_interpolation_mode),
7621 (gst_interpolation_control_source_bind),
7622 (gst_control_point_compare), (gst_control_point_find),
7623 (gst_interpolation_control_source_set_internal),
7624 (gst_interpolation_control_source_set),
7625 (gst_interpolation_control_source_set_from_list),
7626 (gst_interpolation_control_source_unset),
7627 (gst_interpolation_control_source_unset_all),
7628 (gst_interpolation_control_source_get_all),
7629 (gst_interpolation_control_source_get_count),
7630 (gst_interpolation_control_source_init),
7631 (gst_interpolation_control_source_finalize),
7632 (gst_interpolation_control_source_dispose),
7633 (gst_interpolation_control_source_class_init):
7634 * libs/gst/controller/gstinterpolationcontrolsource.h:
7635 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7636 API: Refactor GstController into the core controller which can take
7637 a GstControlSource for providing actual values for timestamps.
7638 Implement a interpolation control source and use this for backward
7639 compatibility, deprecate a bunch of functions that are now handled
7640 by GstControlSource or GstInterpolationControlSource.
7641 Make it possible to disable the controller completely or only for
7642 specific properties. Fixes #450711.
7643 * docs/libs/gstreamer-libs-docs.sgml:
7644 * docs/libs/gstreamer-libs-sections.txt:
7645 * docs/libs/gstreamer-libs.types:
7646 Add new functions and classes to the docs.
7647 * tests/check/libs/controller.c: (GST_START_TEST),
7648 (gst_controller_suite):
7649 * tests/examples/controller/audio-example.c: (main):
7650 Port unit test and example to the new API and add some new
7653 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7655 Patch by: Mark Nauwelaerts <manauw at skynet be>
7657 * plugins/elements/gstmultiqueue.c:
7658 (gst_multi_queue_get_internal_links), (apply_buffer),
7659 (single_queue_overrun_cb), (gst_single_queue_new):
7660 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7661 the pipeline layout can be tracked correctly. Fixes #453732.
7663 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7665 * docs/gst/Makefile.am:
7666 * docs/libs/Makefile.am:
7667 * docs/plugins/Makefile.am:
7668 Simplify --extra-dir as gtkdoc scans recursively.
7670 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7672 * tools/gst-launch.c: (main):
7673 When we got an error, there is no point in waiting for preroll when
7676 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7678 * plugins/elements/gsttee.c: (gst_tee_base_init),
7679 (gst_tee_request_new_pad), (gst_tee_release_pad),
7680 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7681 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7683 Be a lot smarter when deciding what srcpad to use for proxying
7684 the buffer_alloc. Also handle pad added/removed when doing so.
7686 Keep track of what pads we already pushed on in case we have pads
7687 added/removed while pushing. Fixes #374639
7689 * tests/check/Makefile.am:
7690 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7692 Added unit test for pad resync.
7694 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7698 Updated translations.
7700 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7702 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7706 Added new Finnish translation.
7708 2007-06-28 Wim Taymans <wim@fluendo.com>
7710 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7711 (single_queue_overrun_cb):
7712 When figuring out when a queue is filled, use our internal time estimate
7713 based on segments, just like check_full does.
7715 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7717 * gst/gstminiobject.c: (gst_mini_object_get_type):
7718 Remove 3 do-nothing methods.
7720 2007-06-27 Wim Taymans <wim@fluendo.com>
7722 Patch by: Tim Angus <tim at ngus dot net>
7724 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7725 (gst_capsfilter_set_property):
7726 Take a reference instead of a copy when setting "caps".
7727 Fix documentation to clarify this behaviour. Fixes #449414.
7729 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7731 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7732 * gst/gstplugin.c: (gst_plugin_init):
7733 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7734 * gst/gstquery.c: (gst_query_get_type):
7735 * gst/gstregistry.c: (gst_registry_init):
7736 * gst/gsturi.c: (gst_uri_handler_base_init):
7737 Remove empty instance_init() functions to save relocs and lessen the
7738 noise. Remove some of the function prototypes that are doubled by
7741 2007-06-27 Wim Taymans <wim@fluendo.com>
7743 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7745 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7746 Add peer and direction in the XML serialisation of ghostpads.
7749 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7752 Preserve useful information, thanks Tim.
7754 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7756 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7757 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7758 (gst_single_queue_push_one), (gst_multi_queue_loop),
7759 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7760 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7761 (compute_high_id), (gst_single_queue_new):
7762 * plugins/elements/gstmultiqueue.h:
7763 Take the multiqueue lock when updating the fill level so we don't get
7766 After applying a buffer or event on the src pad segment, make sure to
7767 call gst_data_queue_limits_changed() to get the data queue to unblock
7768 and check the filled state again.
7770 Rework the not-linked pad handling so the logic is that not-linked
7771 pads can push as fast as they like, but only so they never get
7772 ahead of any linked pads.
7774 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7775 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7776 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7778 Add a test to check that not-linked pads always stay behind
7783 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7785 * docs/random/release:
7786 Some updates to the release procedure.
7788 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7790 * gst/gstelementfactory.c: (__gst_element_details_clear):
7791 Microoptimization that saves stunning 80 bytes.
7793 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7795 * docs/plugins/gstreamer-plugins.args:
7796 * docs/plugins/inspect/plugin-coreelements.xml:
7797 * docs/plugins/inspect/plugin-coreindexers.xml:
7798 Update docs with caps info.
7800 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7803 Updated Italian translation.
7805 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7809 Update Vietnamese translations.
7811 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7813 * libs/gst/base/gstbasesink.c:
7814 Remove unused signal enum.
7816 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7818 * docs/gst/gstreamer-sections.txt:
7820 * gst/gstutils.c: (gst_type_register_static_full):
7821 Beef up and include the docs for gst_type_register_static_full and
7822 gst_element_class_set_details_simple and add the API keyword
7825 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7827 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7828 (update_time_level), (gst_single_queue_push_one),
7829 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7830 (single_queue_overrun_cb), (single_queue_underrun_cb),
7831 (single_queue_check_full):
7832 Fix setting max-* properties after adding queues.
7833 Use IS_FILLED for checking visible items.
7834 Signal overrun if multiple queues overrun.
7835 Add extra debug output.
7836 Patch by: Wim Taymans <wim@fluendo.com>
7838 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7840 * gst/gstelement.c: (gst_element_class_set_details_simple):
7842 * gst/gstutils.c: (gst_type_register_static_full):
7844 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7845 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7846 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7847 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7848 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7849 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7850 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7851 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7852 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7853 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7854 (apply_buffer), (gst_queue_chain):
7855 * plugins/elements/gsttee.c: (gst_tee_base_init):
7856 * plugins/elements/gsttypefindelement.c:
7857 (gst_type_find_element_base_init),
7858 (gst_type_find_element_class_init):
7859 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7860 API: add gst_type_register_static_full
7861 API: add gst_element_class_set_details_simple
7863 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7865 * docs/pwg/advanced-types.xml:
7866 Fix typo in iana.org URI.
7868 2007-06-19 Andy Wingo <wingo@pobox.com>
7870 * tests/check/pipelines/simple-launch-lines.c
7871 (test_state_change_returns): Enable pull-mode tests now that
7872 basesink has been fixed.
7874 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7875 Changed from gst_base_sink_is_prerolled, reversing the sense of
7876 the return value. Returns FALSE also if the sink is in pull mode,
7877 in which case it needs no preroll.
7878 (gst_base_sink_query, gst_base_sink_change_state): Update for
7879 needs_preroll change.
7880 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7881 chaining up, in which we return SUCCESS directly if we activated
7882 in pull mode instead of ASYNC. Involves countering an async_start
7883 message sent before chaining up; not sure if this is correct, in
7884 an ideal world we only send async-start when activating in push
7887 * tests/check/pipelines/simple-launch-lines.c
7888 (test_state_change_returns): New test, partially disabled until
7891 2007-06-19 Wim Taymans <wim@fluendo.com>
7893 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7894 (gst_multi_queue_sink_event):
7897 2007-06-19 Wim Taymans <wim@fluendo.com>
7899 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7900 (gst_bin_change_state_func), (bin_push_state_continue),
7901 (bin_handle_async_start), (bin_handle_async_done),
7902 (gst_bin_handle_message_func):
7903 Move the common code for posting state-change messages into
7905 Broadcast the state signal after we posted the messages.
7906 Mark the bin as busy when it's doing a state-change.
7907 Make sure async-start/done messages don't interfere with the bin's
7908 state when it's busy.
7909 After the state change, let the bin check which elements completed the
7910 state change while it was busy so that it can update its state.
7912 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7914 * docs/random/release:
7915 Add a note about updating the doap file to the release checklist
7917 2007-06-18 Wim Taymans <wim@fluendo.com>
7919 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7920 (gst_single_queue_push_one), (gst_multi_queue_chain),
7921 (gst_multi_queue_sink_event):
7922 Make sure we don't reference the buffer/event after we have given away
7923 ownership in the queue.
7925 2007-06-18 Wim Taymans <wim@fluendo.com>
7927 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7928 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7929 Update queue state _after_ adding the item in the queue because else we
7930 could end up being full without the element added yet.
7932 2007-06-18 Wim Taymans <wim@fluendo.com>
7934 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7935 (gst_bin_remove_func), (gst_bin_get_state_func),
7936 (gst_bin_element_set_state), (gst_bin_continue_func),
7937 (bin_push_state_continue), (bin_handle_async_start),
7938 (bin_handle_async_done), (gst_bin_handle_message_func):
7940 Immediatly commit the toplevel bin state when receiving an async-done
7941 message. This enables us to avoid spawning a thread to commit the state
7942 in some common cases and it also avoids some races.
7943 Avoid spawning a state thread when adding/removing async elements to a
7944 toplevel bin. Instead we immediatly update the bin state.
7945 Get rid of iterating all the children when getting the state in the bin
7946 because it is now always up-to-date.
7947 Fix bug where locked elements would always return _SUCCESS even it they
7948 returned NO_PREROLL before being locked.
7949 Fix the order of the state_change, async-start/done messages that was
7950 sometimes incorrect.
7951 Mark the state_dirty field as deprecated, we don't need it anymore as we
7952 are always up-to-date.
7954 * gst/gstelement.c: (gst_element_get_state_func),
7955 (gst_element_continue_state):
7956 Small debug inprovements.
7957 Return the previous element state return when nothing is pending instead
7958 of blindly returning SUCCESS.
7960 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7962 Add a whole bunch of new testcases.
7964 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7968 Update translations.
7970 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7973 Fix typo in the docs.
7975 2007-06-15 Wim Taymans <wim@fluendo.com>
7977 * docs/libs/gstreamer-libs-sections.txt:
7978 Add docs for new methods.
7980 2007-06-15 Wim Taymans <wim@fluendo.com>
7982 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7983 (gst_multi_queue_item_new):
7984 Don't use GSlice because we don't depend on >= 2.10 yet.
7986 2007-06-15 Wim Taymans <wim@fluendo.com>
7988 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7989 (update_time_level), (apply_segment), (apply_buffer),
7990 (gst_single_queue_push_one), (gst_multi_queue_item_new),
7991 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7992 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7993 (single_queue_underrun_cb), (single_queue_check_full):
7994 Remove debug printf.
7996 2007-06-15 Wim Taymans <wim@fluendo.com>
7998 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7999 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8000 (gst_data_queue_set_flushing), (gst_data_queue_push),
8001 (gst_data_queue_pop), (gst_data_queue_drop_head),
8002 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8003 * libs/gst/base/gstdataqueue.h:
8005 Added methods to get the current levels and to inform the queue that the
8006 'full' limits changed.
8008 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8009 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8010 (gst_single_queue_flush), (update_time_level), (apply_segment),
8011 (apply_buffer), (gst_single_queue_push_one),
8012 (gst_multi_queue_item_steal_object),
8013 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8014 (gst_multi_queue_loop), (gst_multi_queue_chain),
8015 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8016 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8017 (gst_multi_queue_src_query), (single_queue_overrun_cb),
8018 (single_queue_underrun_cb), (single_queue_check_full),
8019 (gst_single_queue_new):
8020 Keep track of time in the queue by measuring the difference between
8021 running_time on input and output. This gives more accurate results and
8022 can compensate for segments correctly.
8023 Make a queue by default only 5 buffers deep. We will now increase the
8024 buffer size depending on the filledness of the other queues.
8025 Factor out commong flush code.
8026 Make sure we don't add additional refcounts to buffers when we can avoid
8028 Propagate GstFlowReturn differently.
8029 Use GSlice for intermediate GstMultiQueueItems.
8031 Resize queues on over and underruns based on filled level of other
8033 When checking if the queue is filled, prefer to measure in time if we
8034 can and fall back to bytes when no time is known.
8036 * plugins/elements/gstqueue.c:
8039 2007-06-15 Wim Taymans <wim@fluendo.com>
8041 * libs/gst/base/gstbasetransform.c:
8042 (gst_base_transform_sink_event):
8043 Work around the brokenness of the event vmethod in basetransform. Prefer
8044 to return TRUE when the subclass returned FALSE (meaning don't forward
8047 * libs/gst/base/gstbasetransform.h:
8050 2007-06-15 Wim Taymans <wim@fluendo.com>
8052 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8053 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8054 (gst_base_src_default_query), (gst_base_src_get_range),
8055 (gst_base_src_start):
8056 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8059 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8061 * docs/pwg/advanced-types.xml:
8062 Added more formats to caps table.
8064 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8066 * tools/gst-launch.c: (main):
8067 Remove crufy code. GOption does not need this workaround.
8069 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8071 * libs/gst/controller/gstcontroller.c:
8072 (gst_controlled_property_set_interpolation_mode):
8073 Fix wrong getter for enums in controller.
8075 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8077 * libs/gst/check/gstcheck.c: (gst_check_init):
8078 Intercept criticals and warnings in the Gst-Phonon log domain, so
8079 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8082 2007-06-14 Edward Hervey <edward@fluendo.com>
8084 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8085 Since this file doesn't include "gst.h" it will not go through the
8086 macros that disable GST_LOG if debugging was disabled.
8088 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8090 * libs/gst/check/Makefile.am:
8091 * libs/gst/check/gstcheck.h:
8092 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8093 * pkgconfig/gstreamer-check.pc.in:
8094 Ugly 'fix' for the controller unit test on the p5 bot: in
8095 fail_unless_equals_float() check whether the values are 'almost
8096 equal' by allowing a small absolute error, which should be good
8097 enough for our use cases (normal numbers and values close to 0).
8098 Proper fixage left to floating point arithmetic aficionados.
8100 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8102 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8103 (gst_base_sink_render_object), (gst_base_sink_get_position):
8104 Add two breaks thats where missing.
8106 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8108 * docs/libs/gstreamer-libs-sections.txt:
8109 * libs/gst/check/gstcheck.h:
8110 API: add fail_unless_equals_float() and assert_equals_float().
8111 Add documentation for some of the macros.
8113 * tests/check/libs/controller.c: (GST_START_TEST):
8114 Use newly-added asserts.
8116 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8118 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8119 Show the caps change in the log to help spotting the case of not
8120 exactly matching caps.
8122 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8124 * docs/pwg/building-boiler.xml:
8125 Fix typos, spotted by Thijs Vermeir (#447190).
8127 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8129 * docs/plugins/tmpl/.cvsignore:
8130 Ignore file to keep the buildbots happy
8132 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8134 * docs/plugins/Makefile.am:
8135 * docs/plugins/gstreamer-plugins-docs.sgml:
8136 * docs/plugins/gstreamer-plugins-sections.txt:
8137 Pull fdsink into the docs too.
8139 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8141 * libs/gst/controller/gstinterpolation.c:
8142 Actually use the new functions with min/max checks for the trigger and
8143 none interpolation modes for get() and get_value_array() instead of
8146 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8148 * libs/gst/controller/gstcontroller.c:
8149 (gst_controlled_property_free):
8150 Unset the minimum and maximum GValues when freeing the corresponding
8151 GstControllerProperty struct.
8153 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8155 * libs/gst/controller/gstcontroller.c:
8156 (gst_controlled_property_new):
8157 * libs/gst/controller/gstcontrollerprivate.h:
8158 * libs/gst/controller/gstinterpolation.c:
8159 (gst_controlled_property_find_control_point_node),
8160 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8161 (interpolate_none_get_string_value_array),
8162 (interpolate_trigger_get),
8163 (interpolate_trigger_get_enum_value_array),
8164 (interpolate_trigger_get_string_value_array):
8165 Protect against values larger or smaller than the minimum or maximum
8166 allowed value for the property when using values that can be compared.
8168 Optimize trigger interpolator a bit by taking the last requested value
8169 into account instead of always looping through the complete list.
8171 Fix coding style a bit, everywhere else we use "return foo" instead
8174 * tests/check/libs/controller.c: (GST_START_TEST),
8175 (gst_controller_suite):
8176 Add unit test for the protection against too large or too small
8179 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8181 * docs/random/slomo/controller.txt:
8182 Add some thoughts about the future of the controller.
8184 2007-06-08 Wim Taymans <wim@fluendo.com>
8186 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8187 Don't overflow in retimestamping code.
8189 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8191 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8192 Use gst_util_guint64_to_gdouble for conversions.
8193 * win32/common/libgstreamer.def:
8194 Add new exported functions.
8196 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8199 Small docs addition.
8201 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8204 Remove that test line again.
8206 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8209 Test commit mail sending.
8211 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8214 Fix typo and test commit mail sending.
8216 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8218 * tests/examples/controller/audio-example.c:
8219 Improve comment and test commit mail sending.
8221 2007-06-07 Wim Taymans <wim@fluendo.com>
8223 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8224 (gst_bin_remove_func), (gst_bin_element_set_state),
8225 (bin_handle_async_start), (bin_handle_async_done),
8226 (gst_bin_handle_message_func):
8227 Add helper function to find messages.
8228 Generate the async-done messages together with the state change
8230 Small cleanups in handling toplevel bins.
8232 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8234 * libs/gst/base/gstdataqueue.c:
8235 * libs/gst/base/gstdataqueue.h:
8236 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8237 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8238 (gst_multi_queue_sink_event):
8239 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8240 Fix multiqueue leaking buffers and events when downstream or the
8241 queue are flushing. Make refcounting assumptions explicit and
8242 document them (shouldn't break existing code that uses it other than
8243 maybe leak miniobjects, but that already happens anyway). Add unit
8244 test for the most common flushing case. Fixes #423700.
8246 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8248 * libs/gst/controller/gstcontroller.c:
8249 Clarify docs: The get_all, get_value_array(s) functions
8250 don't modify the GObject properties.
8252 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8254 * libs/gst/controller/gstcontroller.c:
8255 (gst_controlled_property_set_interpolation_mode),
8256 (gst_controlled_property_prepend_default),
8257 (gst_controlled_property_new), (gst_controller_set_unlocked),
8258 (gst_controller_set), (gst_controller_set_from_list),
8259 (gst_controller_unset), (gst_controller_unset_all):
8260 * libs/gst/controller/gstcontrollerprivate.h:
8261 * libs/gst/controller/gstinterpolation.c:
8262 Factor out the 'set' logic into gst_controller_set_unlocked for the
8263 gst_controller_set and gst_controller_set_from_list functions.
8265 To make life of the interpolators easier always add a control point
8266 at timestamp zero with the default value.
8268 In the linear interpolator make things more obvious by better variable
8271 Implement cubic interpolation mode (by using a natural cubic spline)
8272 and map the quadratic interpolation mode to this too (as quadratic
8273 doesn't make much sense, see discussion on the list).
8275 * tests/check/libs/controller.c: (GST_START_TEST),
8276 (gst_controller_suite):
8277 Add unit test for the cubic interpolation mode and check everywhere
8278 if the interpolation mode could be set as expected.
8280 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8282 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8283 Don't use GLib-2.10 functions, we still depend on
8284 GLib-how-old-is-it-again-2.8.
8286 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8288 * docs/gst/gstreamer-sections.txt:
8292 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8293 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8294 (_gst_param_fraction_values_cmp),
8295 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8296 * gst/gstparamspecs.h:
8298 * tests/check/Makefile.am:
8299 * tests/check/gst/.cvsignore:
8300 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8301 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8302 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8303 (GST_START_TEST), (gst_param_spec_suite):
8304 API: add GstParamSpecFraction, so elements can have fraction
8305 properties without lots of painful string parsing (#444648).
8307 2007-06-05 Wim Taymans <wim@fluendo.com>
8309 * gst/gstobject.c: (gst_object_class_init):
8310 Fix signal signature.
8313 Add small clarification in the api docs.
8315 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8316 States are protected with object lock.
8318 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8321 I should probably be listed as an author by now.
8323 * docs/random/release:
8324 Update the release doc
8326 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8329 Make docs for gst_value_compare() mention return enums that
8332 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8337 === release 0.10.13 ===
8339 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8342 releasing 0.10.13, "With or without you"
8344 2007-05-25 Wim Taymans <wim@fluendo.com>
8346 * gst/gstbin.c: (bin_handle_async_done):
8347 Make sure that the child bin stops after completing the async state
8348 change so that the parent can continue the state change to PLAYING.
8351 2007-05-25 Wim Taymans <wim@fluendo.com>
8353 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8354 (unref_data), (gst_collect_pads_remove_pad),
8355 (gst_collect_pads_check_pads):
8356 Use additional refcounting to avoid crashes when dynamically adding and
8357 removing pads. Fixes #420206.
8359 2007-05-24 Wim Taymans <wim@fluendo.com>
8361 * tools/gst-launch.c: (event_loop):
8362 When buffering goes from a two digit to a single digit number, make sure
8363 to remove the old second digit by writing a blank over it.
8365 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8367 * libs/gst/base/gstdataqueue.c:
8368 Eliminate tabs and trailing comma in enum list; fix some typos.
8370 2007-05-24 Wim Taymans <wim@fluendo.com>
8372 * tests/check/gst/gstbin.c: (GST_START_TEST):
8373 Allow refcount of 3 and 4 because some state thread might still be busy
8376 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8378 * plugins/elements/Makefile.am:
8379 * plugins/elements/gstmultiqueue.h:
8380 * plugins/elements/gstqueue.h:
8381 These are not installed headers, no need for padding.
8383 2007-05-24 Wim Taymans <wim@fluendo.com>
8385 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8386 (gst_bin_continue_func):
8387 Enable latency for next release.
8388 Restore STATE_LOCK around recalc_state that was left out during the
8389 rewrite and could result in racy behaviour when _get_state and
8390 recalc_state are run concurrently. See #440463.
8392 2007-05-23 Wim Taymans <wim@fluendo.com>
8394 * tests/check/gst/gstsystemclock.c: (store_callback),
8396 Improve test_async_order to also work when both timers are already
8397 expired when we get scheduled to check it.
8399 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8401 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8402 (gst_bin_set_property), (gst_bin_get_property),
8403 (gst_bin_remove_func), (gst_bin_handle_message_func):
8405 'private' is a c++ keyword, let's not use that in header files,
8406 otherwise c++ compilers will throw a tantrum.
8408 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8410 * plugins/elements/gstelements.c:
8411 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8412 (gst_file_sink_get_current_offset):
8413 * plugins/indexers/gstindexers.c: (plugin_init):
8414 Use #ifdef for HAVE_XYZ for consistency.
8416 * tests/check/Makefile.am:
8417 * tests/check/elements/.cvsignore:
8418 * tests/check/elements/filesink.c: (setup_filesink),
8419 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8420 Add some unit tests for filesink.
8422 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8424 Patch by: Mark Nauwelaerts <manauw at skynet be>
8426 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8427 (gst_file_sink_query), (gst_file_sink_do_seek),
8428 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8429 * plugins/elements/gstfilesink.h:
8430 Fix position reporting; rename data_written member to current_pos to
8431 reflect its real meaning (fixes #412648).
8433 2007-05-22 Edward Hervey <edward@fluendo.com>
8435 * docs/gst/gstreamer-sections.txt:
8436 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8437 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8438 (gst_bin_remove_func), (gst_bin_handle_message_func):
8440 Add a property for bins that handle the state change of their childs.
8443 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8445 * libs/gst/controller/gstinterpolation.c:
8446 Use an array of the correct type when using _get_value_array with
8447 linear interpolation.
8449 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8451 * gst/gstelement.c (gst_element_requires_clock,
8452 gst_element_provides_clock, gst_element_request_pad,
8453 gst_element_class_set_details, gst_element_class_set_details_simple,
8454 gst_element_default_send_event, gst_element_abort_state,
8455 gst_element_continue_state, gst_element_set_state,
8456 gst_element_set_state_func, iterator_activate_fold_with_resync):
8457 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8458 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8459 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8460 gst_pad_get_range, gst_pad_pull_range):
8461 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8462 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8463 GstPadActivateModeFunction, GstPadChainFunction,
8464 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8465 GstPadFixateCapsFunction, GstPadTemplate):
8466 * gst/gstpipeline.c (gst_pipeline_change_state,
8467 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8468 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8469 gst_pipeline_get_delay):
8470 Whitespace and docs fixes.
8472 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8474 * libs/gst/controller/gstinterpolation.c:
8475 (interpolate_trigger_get_enum_value_array),
8476 (interpolate_trigger_get_string_value_array):
8477 Add support for retrieving value arrays when using the trigger
8480 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8482 * libs/gst/controller/gstcontroller.c:
8483 (gst_controller_get_value_array):
8484 * libs/gst/controller/gstcontroller.h:
8485 Clarify the docs of gst_controller_get_value_array(): The array where
8486 the values should be written to must be allocated as there seems to be
8487 no way to get the size of a random GType. This doesn't change any
8488 behaviour. Also fix some typos all over the place and remove an unused,
8489 commented function that is not necessary as g_object_set() could be
8491 * tests/check/libs/controller.c: (GST_START_TEST),
8492 (gst_controller_suite):
8493 Add unit test for gst_controller_get_value_array().
8495 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8497 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8499 Disable part of the gst_buffer_try_new_and_alloc test, because
8500 it can happily succeed on 64-bit systems where there's more address
8503 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8505 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8506 Add unit test for the improved caps checking from bug #421543.
8508 2007-05-21 Wim Taymans <wim@fluendo.com>
8510 * docs/design/part-synchronisation.txt:
8513 * gst/gstbin.c: (gst_bin_query):
8514 * plugins/elements/gstqueue.c: (apply_segment):
8520 2007-05-21 Wim Taymans <wim@fluendo.com>
8522 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8523 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8524 (gst_pad_configure_src):
8525 Added simple version of improved caps checking. It was previously
8526 assumed that a setcaps function would check the validity of the caps but
8527 people prefer us to check caps against the template automatically.
8530 2007-05-21 Wim Taymans <wim@fluendo.com>
8532 * libs/gst/base/gstbasetransform.h:
8533 Fix macro for locking/unlocking the transform lock.
8535 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8537 * docs/plugins/tmpl/.cvsignore:
8540 2007-05-18 Edward Hervey <edward@fluendo.com>
8542 * plugins/elements/gstqueue.c: (gst_queue_loop):
8543 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8544 for the subtle art of warning a potentially blocking thread that it
8545 should check the source pad return value, and relay the information
8548 2007-05-18 Edward Hervey <edward@fluendo.com>
8550 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8551 Release the queue lock !
8553 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8555 * docs/libs/gstreamer-libs-sections.txt:
8556 Add the two new controller functions to the appropiate places.
8558 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8560 reviewed by: Stefan Kost <ensonic@users.sf.net>
8562 * libs/gst/controller/gstcontroller.c:
8563 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8564 (_gst_controller_get_property), (_gst_controller_set_property),
8565 (_gst_controller_init), (_gst_controller_class_init):
8566 * libs/gst/controller/gstcontroller.h:
8567 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8568 (gst_object_get_control_rate), (gst_object_set_control_rate):
8569 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8570 Add API that provides sync suggestion timestamps for elements that
8571 call gst_object_sync_values() from which those elements can subdivide
8572 their processing loop to get the best results for the controlled
8573 properties. For now it just suggests last_sync + control_rate as
8574 new timestamp but this will be improved in the future.
8576 While doing that change the control-rate property to a GstClockTime
8577 from guint and change it's meaning from samples to nanoseconds as
8578 the GstController doesn't know anything about sampling rate. Strictly
8579 speaking this breaks ABI but as the control-rate property didn't do
8580 anything in the past and as such couldn't be used this should be no
8583 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8585 reviewed by: Stefan Kost <ensonic@users.sf.net>
8587 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8588 (gst_controller_unset_all):
8589 * libs/gst/controller/gstcontrollerprivate.h:
8590 * libs/gst/controller/gstinterpolation.c:
8591 (gst_controlled_property_find_control_point_node):
8592 Save last synced value from the list to continue searching from there
8593 in future syncs. This speeds everything up a bit.
8595 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8597 reviewed by: Stefan Kost <ensonic@users.sf.net>
8599 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8600 (gst_control_point_find), (gst_controlled_property_new),
8601 (gst_control_point_free), (gst_controlled_property_free),
8602 (gst_controller_set), (gst_controller_set_from_list),
8603 (gst_controller_unset), (gst_controller_unset_all),
8604 (gst_controller_sync_values):
8605 * libs/gst/controller/gstcontroller.h:
8606 * libs/gst/controller/gstcontrollerprivate.h:
8607 * libs/gst/controller/gstinterpolation.c:
8608 (gst_controlled_property_find_control_point_node),
8609 (interpolate_none_get), (interpolate_trigger_get):
8610 Add a new private GstControlPoint struct which "inherits" from
8611 GstTimedValue to allow different interpolators to store internal
8612 values next to each control point. From the outside everything is
8613 still a GstControlPoint so we don't loose binary compatibility.
8614 Also fixup all the GValue handling to not leak GValues or list nodes.
8615 * tests/check/libs/controller.c: (GST_START_TEST):
8616 Free the list nodes and GValues in the controller_misc test.
8618 2007-05-17 Edward Hervey <edward@fluendo.com>
8623 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8625 * gst/gstplugin.c: (gst_plugin_load_file):
8626 If we fail to load a plugin because of unresolved symbols or missing
8627 libraries and spew a warning to stderr, we may just as well mention
8628 which plugin it was that failed to load.
8630 2007-05-13 David Schleef <ds@schleef.org>
8632 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8633 handles the case when ENABLE_GTK_DOC is false, and installs
8634 the prebuilt documentation. So gtk-doc subdirs are
8635 unconditionally enabled. Fixes: #349099.
8637 2007-05-13 David Schleef <ds@schleef.org>
8639 * gst/gstutils.h: Reword some documentation.
8641 2007-05-12 David Schleef <ds@schleef.org>
8643 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8644 do anything with the passed "module" parameter, so remove it.
8645 Allows removal of additional vestigal code.
8647 2007-05-12 David Schleef <ds@schleef.org>
8650 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8651 Switch to using g_stat() because it's more portable.
8653 2007-05-12 David Schleef <ds@schleef.org>
8656 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8657 parsing for embedded systems.
8658 * gst/gstelementfactory.c:
8659 Allow gst_element_register() to be called with plugin==NULL.
8660 Did nobody notice that static elements were broken?
8662 2007-05-12 Wim Taymans <wim@fluendo.com>
8664 * tools/gst-launch.c: (event_loop):
8665 Give more interesting info when buffering starts and stops.
8666 Fix case where buffering starts but we fail to update the buffering flag
8667 because the target state is not PLAYING.
8669 2007-05-12 Wim Taymans <wim@fluendo.com>
8671 * plugins/elements/gstqueue.c: (gst_queue_init),
8672 (gst_queue_finalize), (update_time_level), (apply_segment),
8673 (apply_buffer), (gst_queue_locked_flush),
8674 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8675 (gst_queue_handle_sink_event), (gst_queue_chain),
8676 (gst_queue_push_one), (gst_queue_loop):
8677 * plugins/elements/gstqueue.h:
8678 Refactor an cleanup queue a bit.
8679 Do better time level calculations that also work when the srcpad is not
8681 Remove some unneeded debug lines.
8683 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8684 Added testcase for time level measurement.
8685 Try to make some stuff more racefree.
8687 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8689 * gst/gsturi.c: (gst_element_make_from_uri):
8690 Don't leak plugin feature.
8692 * tests/check/Makefile.am:
8693 * tests/check/gst/.cvsignore:
8694 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8695 Add brain-dead unit test.
8697 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8699 Patch by: Jeroen Wouters <woutersj at gmail com>
8701 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8702 Treat protocol strings in a case-insensitive way (#437563).
8704 2007-05-11 Michael Smith <msmith@fluendo.com>
8706 * gst/gstplugin.c: (gst_plugin_load_file):
8707 * gst/gstregistry.c: (gst_registry_scan_path_level):
8708 Don't print a g_warning for any failure to load a shared object.
8709 Instead, push this down into gstplugin.c, and warn _only_ if we
8710 failed to open the module (i.e. failure to link).
8711 Avoids warnings on normal, working, non-plugin .so files.
8713 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8715 * gst/gstplugin.c (gst_plugin_load_file):
8716 * gst/gstregistry.c (GST_CAT_DEFAULT,
8717 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8718 Print a g_warning if there was an error when loading a plugins during
8719 registry scan. The shuld help beginners starting with gst-plugin
8722 2007-05-10 Wim Taymans <wim@fluendo.com>
8724 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8725 (update_time_level), (gst_queue_locked_flush),
8726 (gst_queue_handle_sink_event), (gst_queue_chain),
8727 (gst_queue_push_one), (gst_queue_loop):
8728 * plugins/elements/gstqueue.h:
8729 Be smarter when calculating the current amount of data in the queue by
8730 measuring the difference between start and end timestamps (in running
8731 time) inside the queue. Fixes #432876.
8732 API: GstQueue::pushing to notify elements that we are pushing data again
8733 since the running signal is rather broken for this purpose.
8735 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8737 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8738 gst_queue_base_init, gst_queue_init):
8741 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8743 * win32/common/libgstreamer.def:
8744 Add new exported functions.
8745 * win32/vs6/grammar.dsp:
8746 Use grammar pre-generated files.
8748 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8750 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8753 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8755 * gst/gstutils.c: (gst_parse_bin_from_description):
8757 Maintain API and ABI when --disable-parse is used. Now that
8758 we have an appropriate error code, we can just return NULL and the
8759 appropriate error when gst_parse_launch() is used despite it having
8760 been disabled (#342564).
8762 * tests/check/Makefile.am:
8763 * tests/check/pipelines/.cvsignore:
8764 * tests/check/pipelines/parse-disabled.c:
8765 Make sure these functions exist and return NULL plus a GError when
8766 --disable-parse is used.
8768 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8770 * tests/benchmarks/complexity.c: (main):
8771 * tests/benchmarks/mass-elements.c: (main):
8772 Set a good example and don't leak messages.
8774 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8776 * docs/gst/Makefile.am:
8777 * docs/libs/Makefile.am:
8778 Correct fixxrefs options.
8780 * docs/plugins/Makefile.am:
8781 * docs/plugins/gstreamer-plugins-docs.sgml:
8782 * docs/plugins/gstreamer-plugins-sections.txt:
8783 * plugins/elements/Makefile.am:
8784 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8785 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8786 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8787 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8788 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8789 _GstCapsFilterClass, trans_class):
8790 * plugins/elements/gstelements.c (name, rank, type, _elements):
8791 * plugins/elements/gstidentity.c
8792 (gst_identity_check_imperfect_timestamp,
8793 gst_identity_check_imperfect_offset):
8794 Document capsfilter and add doc-blurb to identity.
8796 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8798 * libs/gst/controller/gstcontroller.c:
8799 (gst_controlled_property_set_interpolation_mode):
8800 * libs/gst/controller/gstinterpolation.c:
8801 Don't crash if someone tries to set an interpolation mode that
8802 is invalid or that isn't supported yet. Fixes #422295.
8804 * tests/check/libs/controller.c: (GST_START_TEST),
8805 (gst_controller_suite):
8806 Add a test case for the above.
8808 2007-05-03 Edward Hervey <edward@fluendo.com>
8810 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8811 Properly set the last_stop position on GstSegment. This will only happen
8812 if there is a buffer to push out.
8814 2007-05-03 Wim Taymans <wim@fluendo.com>
8816 * libs/gst/base/gstbasetransform.c:
8817 (gst_base_transform_buffer_alloc):
8818 always_in_place does not mean that the sink and source caps are the
8819 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8821 2007-05-03 Wim Taymans <wim@fluendo.com>
8823 * docs/libs/gstreamer-libs-sections.txt:
8824 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8825 (gst_base_src_default_query), (gst_base_src_get_range):
8826 * libs/gst/base/gstbasesrc.h:
8827 API: gst_base_src_query_latency(). Added method so that subclasses can
8828 easily get the latency values of the base source class.
8830 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8832 * tools/gst-inspect.c (print_implementation_info):
8835 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8837 * tools/Makefile.am:
8838 * tools/gst-launch.1.in:
8839 Don't create a customised man page based on the host architecture,
8840 describe the default registry path generically. That way the man
8841 page is the same for all architectures and packagers have one
8842 multilib issue less to deal with. Fixes #434926.
8844 2007-05-02 Wim Taymans <wim@fluendo.com>
8847 Fix documentation as spotted by rg on IRC.
8849 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8852 Improve docs for gst_element_{link,unlink}.
8854 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8856 * docs/design/part-events.txt:
8857 * docs/design/part-overview.txt:
8861 * libs/gst/base/gstbasesink.c:
8862 Typo fixes; minor docs addition.
8864 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8866 * docs/gst/gstreamer-sections.txt:
8867 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8868 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8870 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8871 or src that supports a given URI protocol exists.
8873 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8875 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8876 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8877 Set the location to NULL if "file://" is set as URI. Otherwise
8878 some random previous URI would still be set if "file://" is
8879 set on an already used filesink/filesrc.
8881 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8883 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8884 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8885 Special case the "file://" URI as as this is used by some
8886 applications to test with gst_element_make_from_uri if there's
8887 an element that supports the URI protocol.
8888 Also move the g_path_is_absolute() check for the location part
8889 of the URI to also check this for "file://localhost/bla" URIs.
8891 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8893 * docs/gst/gstreamer-sections.txt:
8894 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8896 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8898 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8900 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8902 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8903 (gst_registry_binary_load_pad_template),
8904 (gst_registry_binary_load_plugin),
8905 (gst_registry_binary_read_cache):
8906 * gst/gstregistrybinary.h:
8907 Implement no-mmap alternative for registry reading. Do code cleanups.
8908 Add more comments about avoiding strdups for all text data. Comments
8911 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8913 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8914 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8915 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8916 Comment structs and reformat to fix the build (that stuff should go
8917 into a priv. header).
8919 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8921 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8922 (gst_registry_binary_load_feature):
8923 * gst/gstregistrybinary.h:
8924 Refactor so that we can implement multiple features. Add support for
8925 TypeFindFactory features.
8927 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8929 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8932 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8934 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8936 * gst/gstbin.c: (gst_bin_element_set_state),
8937 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8938 (bin_handle_async_done), (gst_bin_handle_message_func):
8939 Fix build with --gst-disable-gst-debug
8941 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8943 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8944 Make sure streaming has finished before calling the ::stop() vfunc,
8945 since that vfunc might clear state which is being used in the
8946 streaming thread. This fixes a race that caused crashes in
8947 audioresample when shutting down a pipeline (#420106).
8949 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8951 * docs/gst/gstreamer-sections.txt:
8952 That was one byte missing.
8954 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8957 * docs/gst/gstreamer-sections.txt:
8959 * gst/gstconfig.h.in:
8960 * gst/gstobject.c: (gst_object_class_init),
8961 (gst_signal_object_class_init):
8963 2nd attempt to have a xml-less build as a joined effort of #413123
8966 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8968 * docs/design/draft-tagreading.txt:
8969 Added open issues/thoughts to draft.
8971 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8973 * gst/parse/grammar.tab.pre.c:
8974 * gst/parse/grammar.tab.pre.h:
8975 * gst/parse/lex._gst_parse_yy.pre.c:
8976 Update the prebuild parser sources.
8978 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8980 * gst/parse/Makefile.am:
8981 And now fix the building of the flex sources. Now everything should
8984 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8986 * gst/parse/Makefile.am:
8987 Now hopefully fix the build failures by setting proper rule
8988 dependencies and moving instead of copying.
8990 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8992 * tests/benchmarks/complexity.gnuplot:
8993 * tests/benchmarks/complexity.scm:
8994 * tests/benchmarks/mass-elements.gnuplot:
8995 * tests/benchmarks/mass-elements.scm:
8996 Total licensification.
8998 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9000 * gst/parse/Makefile.am:
9001 Fix the build by correcting the rule that gave wrong files to flex.
9003 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9005 * tests/benchmarks/complexity.c:
9006 * tests/benchmarks/mass-elements.c:
9007 Change licence to LGPL as granted by Benjamin and Andy.
9009 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9011 * gst/parse/Makefile.am:
9012 Add correct grammar.tab.h dependency if compiling without new enough
9013 flex. Fixes #431150.
9015 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9017 * gst/parse/Makefile.am:
9018 Fix typo and use outdated sources if the flex/bison sources are newer
9019 than the pregenerated ones but flex is too old. Print a warning in
9020 that case. This should fix the build on the build bot.
9022 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9024 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9025 * gst/parse/Makefile.am:
9026 * gst/parse/grammar.y:
9027 * gst/parse/parse.l:
9028 Make the parser reentrant and recursively callable. This requires flex
9029 >= 2.5.31, for older versions pregenerated sources are used as we
9030 can't bump the build dependency. Finally fixes #349180.
9032 * gst/gstparse.c: (gst_parse_launch):
9033 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9036 * docs/gst/Makefile.am:
9037 * docs/gst/Makefile.am:
9038 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9039 (__gst_parse_strfree), (__gst_parse_link_new),
9040 (__gst_parse_link_free), (__gst_parse_chain_new),
9041 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9042 (gst_parse_element_set), (gst_parse_free_link),
9043 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9044 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9045 (_gst_parse_launch):
9046 * gst/parse/grammar.tab.pre.h:
9047 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9048 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9049 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9050 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9051 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9052 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9053 (_gst_parse_yypop_buffer_state),
9054 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9055 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9056 (yy_fatal_error), (_gst_parse_yyget_extra),
9057 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9058 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9059 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9060 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9061 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9062 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9063 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9064 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9065 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9066 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9067 (_gst_parse_yyfree):
9068 If the installed flex version is too old use pre-generated parser
9069 sources. These pre-generated parser sources are always updated when
9070 the actual flex/bison sources change but require everybody who wants
9071 to change something in the parser to have flex >= 2.5.31 installed.
9073 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9075 * common/m4/gst-gettext.m4:
9076 * gst/gst-i18n-lib.h:
9077 Make --disable-nls to work
9079 2007-04-17 Wim Taymans <wim@fluendo.com>
9081 * gst/gstconfig.h.in:
9082 Revert previous change that broke the build.
9084 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9088 * gst/gstconfig.h.in:
9089 Drop libxml2 dependency when building with
9090 --enable-binary-registry --disable-loadsave
9092 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9094 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9095 (gst_registry_binary_read_cache):
9096 * gst/gstregistrybinary.h:
9097 Remove unnecessary <sys/mman.h> include which broke the win32 build
9098 with MingW; move includes from header file to .c file, even if the
9099 header file isn't installed; use g_strerror() where UTF-8 strings
9100 are expected, such as in GST_DEBUG messages.
9102 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9104 * docs/libs/gstreamer-libs-sections.txt:
9105 Remove bogus addition for API I didn't end up keeping.
9107 * libs/gst/base/gstbasesrc.h:
9108 Mention Since: 0.10.13 in the documentation.
9110 Add the API keyword to the previous ChangeLog entry.
9112 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9114 * docs/libs/gstreamer-libs-sections.txt:
9115 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9116 (gst_base_src_default_prepare_seek_segment),
9117 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9118 * libs/gst/base/gstbasesrc.h:
9119 Allow basesrc derived classes to execute seeks in other formats
9120 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9121 to prepare the GstSegment in any format that their perform_seek method
9122 will be able to understand. The default implementation provides the
9123 old behaviour of attempting to convert the seek offsets to the
9124 configured native format.
9126 API: basesrc::prepare_seek_segment vmethod.
9128 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9130 * gst/gstelement.c: (gst_element_get_state_func):
9131 Don't output the same debug statement twice.
9133 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9134 (gst_adapter_peek), (gst_adapter_take_buffer):
9135 Optimise the case where we have buffers at the head of the queue that
9136 can be joined quickly (because they're contiguous sub-buffers) by
9137 merging them together rather than copying data out into new memory.
9139 * gst/parse/grammar.y:
9140 * tests/check/pipelines/parse-launch.c:
9141 Fix a leak in an error path for parse_launch, and add a check
9142 for it to the testsuite.
9144 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9146 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9147 Don't deadlock when releasing a pad - gst_pad_set_active may try
9148 and take the multiqueue lock too.
9150 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9152 * gst/gsterror.c: (_gst_core_errors_init):
9154 API: add GST_CORE_ERROR_DISABLED (#392804).
9156 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9158 * docs/faq/gst-uninstalled:
9159 don't get empty paths on the PATH variables
9160 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9161 Don't format for the uncommon terminal width of 84 characters.
9163 2007-04-06 Wim Taymans <wim@fluendo.com>
9165 * gst/gstpipeline.c: (reset_stream_time),
9166 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9167 Only try to select a different pipeline clock when we went back to
9168 PAUSED and not when we merely got flushed.
9170 2007-04-05 Michael Smith <msmith@fluendo.com>
9172 * tools/gst-launch.1.in:
9173 fractions are better supported in gstreamer than ractions, so
9174 suggest using those.
9176 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9178 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9182 Added Danish translation.
9184 2007-04-05 Wim Taymans <wim@fluendo.com>
9186 * libs/gst/base/gstbasesink.c:
9187 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9188 Fix leak caused when refusing newsegment after EOS.
9190 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9191 (gst_fake_sink_init), (gst_fake_sink_set_property),
9192 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9193 (gst_fake_sink_render), (gst_fake_sink_change_state):
9194 * plugins/elements/gstfakesink.h:
9195 Add num-buffers property to make the element generate EOS after a
9196 configurable amount of buffers.
9197 API: fakesink::num-buffers property.
9199 * tests/check/elements/fakesink.c: (GST_START_TEST),
9201 Fix GstBus leak in test.
9202 Test for fakesink num-buffers.
9204 2007-04-05 Wim Taymans <wim@fluendo.com>
9206 * libs/gst/base/gstbasesink.c:
9207 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9208 (gst_base_sink_change_state):
9209 Don't accept anything after an EOS, return UNEXPECTED instead.
9211 * tests/check/elements/fakesink.c: (GST_START_TEST),
9213 Unit test for new EOS behaviour.
9215 2007-04-05 Wim Taymans <wim@fluendo.com>
9217 * gst/gstelement.c: (gst_element_get_request_pad):
9218 Make padtemplates also work when they don't contain %s or %d.
9220 2007-04-05 Wim Taymans <wim@fluendo.com>
9222 * docs/gst/gstreamer-sections.txt:
9223 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9224 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9226 Improve _adjust_unlocked() so that it overflows less.
9227 Add gst_clock_unadjust_unlocked to convert from external time to
9228 internal time based on calibration.
9229 Add some more debug.
9230 API: GstClock::gst_clock_unadjust_unlocked()
9232 2007-04-03 Wim Taymans <wim@fluendo.com>
9234 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9236 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9237 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9238 when releasing sink pad. Fixes #425400.
9240 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9242 * docs/random/ensonic/dynlink.txt:
9243 More work on proposal for new core api.
9245 * docs/libs/gstreamer-libs-sections.txt:
9246 * libs/gst/base/gstbasetransform.h:
9247 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9249 * libs/gst/controller/gstcontroller.c:
9250 (on_object_controlled_property_changed),
9251 (gst_controller_sync_values),
9252 (gst_controller_set_interpolation_mode):
9253 * libs/gst/controller/gstcontroller.h:
9254 Less verbose logging add docs for unimplemented parts and correctly
9255 return when using unavailable parts.
9257 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9259 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9260 Move all the debug to the CLOCK category, and associate it with
9263 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9265 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9266 Make take_buffer a bit quicker by removing redundant checks
9267 caused by calling gst_adapter_take.
9269 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9271 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9274 * tests/check/Makefile.am:
9275 * tests/check/elements/.cvsignore:
9276 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9277 (GST_START_TEST), (multiqueue_suite):
9278 Add some dead simple unit tests for the 'multiqueue' element
9279 (some bits don't work yet and are disabled for now).
9281 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9283 * gst/gstelement.c: (gst_element_get_request_pad),
9284 (gst_element_class_get_request_pad_template):
9285 Make gst_element_get_request_pad() create request pads only for
9286 request pad templates and not for, say, sometimes pad templates.
9288 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9290 * docs/design/draft-klass.txt:
9291 Add example that needs more thinking.
9293 * docs/design/draft-missing-plugins.txt:
9294 More thoughts about wrapper plugins.
9296 * docs/random/ensonic/embedded.txt:
9297 * docs/random/ensonic/profiling.txt:
9300 2007-03-25 Wim Taymans <wim@fluendo.com>
9302 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9303 (gst_base_src_loop):
9304 Only push the segment events in the PLAYING state for live sources.
9306 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9308 * gst/gstpipeline.c: (gst_pipeline_change_state):
9309 Modify the clock distribution path in PAUSED->PLAYING so that we
9310 never attempt to choose a new clock unless we're actually leaving
9311 the PAUSED state for the first time. This prevents choosing a
9312 different clock when the state_change gets called for a 2nd time due
9313 to some element doing an async state change.
9315 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9317 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9318 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9319 (gst_pad_chain_unchecked), (gst_pad_push):
9320 Revert last commit. This needs some more thoughts.
9322 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9324 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9325 (gst_pad_chain_unchecked), (gst_pad_push):
9326 Check in set_caps if the caps are compatible with the pad and remove
9327 two functions that are redundant now. Fixes #421543.
9329 2007-03-22 Wim Taymans <wim@fluendo.com>
9331 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9332 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9333 Unref some more to make valgrind happy.
9335 2007-03-22 Wim Taymans <wim@fluendo.com>
9337 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9338 (gst_system_clock_id_wait_jitter),
9339 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9340 Fix anoying regression that survived a few releases. When adding an
9341 async entry while blocking on a sync entry, the sync entry will unblock
9342 but still be busy, so it should continue to wait instead of returning
9344 Add some comments here and there.
9346 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9347 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9348 Add testcase for this.
9350 2007-03-22 Wim Taymans <wim@fluendo.com>
9352 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9353 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9354 WRONG_STATE and can silently pause the task. All other cases should
9357 2007-03-22 Wim Taymans <wim@fluendo.com>
9359 Patch by: Ville Syrjala <syrjala at sci dot fi>
9361 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9362 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9365 2007-03-21 Michael Smith <msmith@fluendo.com>
9367 * docs/pwg/advanced-types.xml:
9368 Fix some errors in the typefinding docs pointed out on irc.
9370 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9372 * libs/gst/base/gstbasesrc.c:
9373 Clarify FIXME comment in the face of having added unlock_stop()
9375 2007-03-21 Wim Taymans <wim@fluendo.com>
9377 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9378 Prepare for release where we warn against possible app breakage in the
9379 case of live pipelines along with an env var to enable/disable live
9380 preroll mode (GST_COMPAT=[no-]live-preroll).
9382 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9384 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9385 So we should use correct constants for checking for None offset.
9387 2007-03-20 Wim Taymans <wim@fluendo.com>
9389 * docs/design/part-block.txt:
9390 Mention the fact that the newly switched element should be set to at
9393 2007-03-20 Wim Taymans <wim@fluendo.com>
9396 Fix compilation with registry disabled as spotted by Saur.
9398 2007-03-20 Wim Taymans <wim@fluendo.com>
9400 Patch by: Olivier Crete <tester at tester dot ca>
9402 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9403 Look at the pending state too when syncing the element state to the
9404 parent. Fixes #420133.
9406 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9408 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9409 (gst_base_sink_change_state):
9410 * libs/gst/base/gstbasesink.h:
9411 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9412 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9413 (gst_base_src_deactivate):
9414 * libs/gst/base/gstbasesrc.h:
9415 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9416 for sub-classes to correctly clear any state they set trying to
9417 unlock, such as clearing out unlock commands from a command fd.
9418 API: basesrc::unlock_stop
9419 API: basesink::unlock_stop
9421 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9422 (gst_fd_sink_render), (gst_fd_sink_unlock),
9423 (gst_fd_sink_unlock_stop):
9424 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9425 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9426 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9428 Implement unlock_stop in fdsrc and fdsink.
9429 Implement seeking in fdsrc when a seekable fd is passed, as in
9430 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9432 2007-03-19 Wim Taymans <wim@fluendo.com>
9434 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9436 * gst/gstelement.c: (gst_element_class_init):
9437 Fix pad-added and pad-removed signal signatures so that the pad type is
9438 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9440 2007-03-19 Wim Taymans <wim@fluendo.com>
9442 * docs/gst/gstreamer-sections.txt:
9443 Add new element field and method.
9445 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9446 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9447 (gst_bin_recalc_state), (gst_bin_get_state_func),
9448 (gst_bin_element_set_state), (gst_bin_change_state_func),
9449 (gst_bin_continue_func), (bin_bus_handler),
9450 (bin_push_state_continue), (bin_handle_async_start),
9451 (bin_handle_async_done), (gst_bin_handle_message_func):
9452 Make async state changes a bit smarter by using new ASYNC_START and
9453 ASYNC_DONE messages. This reduces the number of times we run the state
9454 recalculation thread.
9455 Don't change state of element with a pending ASYNC_START message.
9456 Deprecate STATE_DIRTY messages.
9458 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9459 (gst_element_get_state_func), (gst_element_continue_state),
9460 (gst_element_lost_state), (gst_element_set_state_func),
9461 (gst_element_change_state):
9463 Keep the state that was last set by the app in a new element field.
9464 Don't allow state changes when handling an element event.
9465 Post ASYNC_START and ASYNC_DONE messages.
9466 Change lost_state so that we go to PAUSED and wait for the parent to set
9467 us to PLAYING again (so latency calculation can be performed)
9468 Export gst_element_change_state() method so that subclasses can use it.
9469 API: gst_element_change_state()
9470 API: GST_STATE_TARGET
9472 * gst/gstpipeline.c: (gst_pipeline_class_init),
9473 (reset_stream_time), (gst_pipeline_change_state),
9474 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9475 Using the new ASYNC_START message we can reset the base_time when
9476 needed. This can then be used to implement base_time redistribution in
9477 flushing seeks so that we can remove the explicit seek handling.
9478 Perform latency query and configuration when going to PLAYING.
9480 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9481 (gst_base_sink_query), (gst_base_sink_change_state):
9482 Post new ASYNC_START/ASYNC_DONE messages.
9484 * tests/check/generic/sinks.c: (GST_START_TEST):
9485 Fix test because the bin will not set the async element to PLAYING right
9488 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9489 Make the message check a little stronger.
9490 Handle ASYNC messages.
9492 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9493 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9494 Expect ASYNC_DONE messages.
9496 2007-03-19 Wim Taymans <wim@fluendo.com>
9498 * docs/gst/gstreamer-sections.txt:
9499 * gst/gstmessage.c: (gst_message_new_async_start),
9500 (gst_message_new_async_done), (gst_message_parse_info),
9501 (gst_message_parse_async_start):
9503 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9506 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9508 * tools/gst-inspect.c:
9509 (print_plugin_automatic_install_info_codecs):
9510 Now that we don't check for the 'Codec' keyword any longer in the
9511 klass, we shouldn't spew a warning if the klass isn't a decoder or
9512 encoder (since it might be a Source/Network, for example).
9514 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9516 * tools/gst-inspect.c:
9517 (print_plugin_automatic_install_info_codecs):
9518 Don't require decoder/demuxer/depayloader elements or
9519 encoder/muxer/paylader elements to have 'Codec' as part of their
9520 factory class string when introspecting a plugin's capabilities.
9521 draft-klass.txt mentions that it might be removed in future, and
9522 flump3dec doesn't have it as part of its class string, so chances
9523 are others might also not have it.
9525 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9547 Update translations from translation project
9549 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9551 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9552 (gst_child_proxy_set_property):
9553 Invert precondition check to be alike the ones in the mimiced gobject
9556 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9558 * docs/design/draft-tagreading.txt:
9559 * docs/random/ensonic/audiobaseclasses.txt:
9560 Do some Architect work.
9562 * gst/gstobject.c: (gst_object_set_name):
9566 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9568 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9570 * gst/gstsystemclock.c: (gst_system_clock_init),
9571 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9572 Defer starting the async system clock thread until the first async
9573 wait is scheduled. Fixes #414986.
9575 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9577 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9578 (gst_single_queue_free):
9579 Fix small leak (free GstSingleQueue structure too, not only contents).
9581 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9583 * gst/gstbin.c:(gst_bin_add):
9584 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9585 * win32/common/libgstbase.def:
9586 * win32/common/libgstreamer.def:
9587 Add new exported functions.
9589 2007-03-09 Wim Taymans <wim@fluendo.com>
9591 * docs/plugins/gstreamer-plugins-sections.txt:
9594 2007-03-09 Wim Taymans <wim@fluendo.com>
9596 * docs/gst/gstreamer-sections.txt:
9597 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9599 Add metadata copy functions. Fixes #393099.
9600 API: gst_buffer_copy_metadata()
9602 * gst/gstutils.c: (gst_buffer_stamp):
9603 * libs/gst/base/gstbasetransform.c:
9604 (gst_base_transform_prepare_output_buffer):
9605 Use new metadata copy functions.
9607 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9609 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9610 (gst_identity_init), (gst_identity_check_perfect),
9611 (gst_identity_check_imperfect_timestamp),
9612 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9613 (gst_identity_set_property), (gst_identity_get_property):
9614 * plugins/elements/gstidentity.h:
9615 Separate out check-imperfect-timestamp and check-imperfect-offset.
9616 Put back check-perfect as it was to keep compatibility.
9618 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9620 * gst/gstelement.c: (gst_element_dispose):
9621 There's no need to warn if VOID_PENDING is not NONE here, as
9622 long as the state is NULL it's ok, and that's checked immediately
9625 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9627 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9628 Fix check for perfect stream to ignore buffers with -1
9629 offsets/offset ends when checking data contiguity.
9631 2007-03-08 Wim Taymans <wim@fluendo.com>
9633 * tools/gst-launch.c: (event_loop):
9634 Print INFO messages.
9636 2007-03-08 Wim Taymans <wim@fluendo.com>
9638 * libs/gst/base/gstbasetransform.c:
9639 (gst_base_transform_sink_eventfunc),
9640 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9641 (gst_base_transform_activate):
9642 * libs/gst/base/gstbasetransform.h:
9643 Add support for dropping buffers with custom GstFlowReturn.
9644 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9645 buffers or dropped buffers.
9647 * docs/libs/gstreamer-libs-sections.txt:
9648 docs for new custom return code.
9650 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9651 Use drop support in base class to implement drop-probability.
9653 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9655 * gst/gst.c: (load_plugin_func):
9656 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9657 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9658 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9659 Remove newlines at end of debug log strings.
9661 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9663 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9664 Only post bus message at max, once per buffer received.
9666 2007-03-07 Wim Taymans <wim@fluendo.com>
9668 * docs/design/Makefile.am:
9669 * docs/design/part-synchronisation.txt:
9670 Add doc about synchronisation
9672 * docs/design/draft-latency.txt:
9673 * docs/design/part-TODO.txt:
9674 * docs/design/part-clocks.txt:
9675 * docs/design/part-events.txt:
9676 * docs/design/part-gstbus.txt:
9677 * docs/design/part-gstpipeline.txt:
9678 * docs/design/part-live-source.txt:
9679 * docs/design/part-messages.txt:
9680 * docs/design/part-overview.txt:
9681 * docs/design/part-streams.txt:
9682 * docs/design/part-trickmodes.txt:
9683 Documentation updates.
9685 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9688 Update the doap file.
9690 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9692 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9693 Rename non-perfect to imperfect for Mike and for the sanctity of the
9695 Also make sure bus message gets emitted for data-incontiguities.
9697 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9699 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9700 (gst_identity_start):
9701 * plugins/elements/gstidentity.h:
9702 Emit bus message if check-perfect is true and we encounter a
9703 non-perfect stream between 2 consecutive buffers.
9706 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9711 === release 0.10.12 ===
9713 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9716 releasing 0.10.12, "Inevitable Demise"
9718 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9721 Version 0.10.11.2 (0.10.12 pre-release)
9722 Bump libtool versioning.
9724 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9726 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9727 Log flow-names and not numbers.
9729 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9732 Convert to new AG_GST style.
9734 2007-02-28 Wim Taymans <wim@fluendo.com>
9736 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9737 Don't unref query twice.
9739 2007-02-28 Wim Taymans <wim@fluendo.com>
9741 * gst/gstvalue.c: (gst_value_transform_object_string),
9742 (_gst_value_initialize):
9743 Implement GstObject -> string transform so we print object names
9744 when serializing GValues containing GstObjects.
9746 2007-02-28 Wim Taymans <wim@fluendo.com>
9748 * docs/gst/gstreamer-sections.txt:
9749 Add new stuff to docs.
9751 2007-02-28 Wim Taymans <wim@fluendo.com>
9753 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9754 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9755 (gst_base_sink_change_state):
9756 Improve latency query code.
9757 Don't leak latency events.
9759 * tests/check/gst/gstbin.c: (GST_START_TEST):
9762 2007-02-28 Wim Taymans <wim@fluendo.com>
9764 * gst/gstelement.c: (gst_element_message_full),
9765 (gst_element_get_state_func):
9767 Improve docs a little. Added Since: for new macro.
9769 * gst/gstobject.c: (gst_object_sink):
9770 * gst/gstpipeline.c: (gst_pipeline_change_state),
9771 (gst_pipeline_set_new_stream_time):
9772 * gst/gstpipeline.h:
9773 Improve debugging and docs.
9775 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9778 2007-02-28 Wim Taymans <wim@fluendo.com>
9780 * gst/gstelement.c: (gst_element_message_full),
9781 (gst_element_set_locked_state), (gst_element_get_state_func),
9782 (gst_element_change_state):
9783 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9784 Documentation updates.
9785 Small code cleanups.
9787 * gst/gstmessage.c: (gst_message_new_info),
9788 (gst_message_parse_info):
9790 API: gst_message_new_info()
9791 API: gst_message_parse_info()
9792 Add INFO message create and parse code.
9794 2007-02-28 Wim Taymans <wim@fluendo.com>
9796 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9797 (bin_query_latency_done):
9798 Also report the live parameter of a latency query.
9800 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9802 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9803 Copy the current generic/states example from -base and adapt so
9804 we can use the exact same code everywhere.
9805 Check a STATES_IGNORE_ELEMENTS env var which can be used
9806 to ignore certain element factories for this test, which is
9807 what is being done in -base
9808 * tests/check/Makefile.am:
9809 Mention this environment variable.
9811 2007-02-27 Wim Taymans <wim@fluendo.com>
9813 * docs/gst/gstreamer-sections.txt:
9814 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9815 (gst_bus_timed_pop), (gst_bus_pop):
9817 API: gst_bus_timed_pop()
9818 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9819 message to arrive on the bus.
9821 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9823 Two unit tests for new _timed_pop() function.
9825 2007-02-23 Wim Taymans <wim@fluendo.com>
9827 * gst/gstpipeline.c: (gst_pipeline_change_state),
9828 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9829 Don't ref a NULL clock in _provide_clock_func().
9830 Don't allow an INVALID delay.
9831 Don't try to calculate base_time with an invalid start_time.
9832 Also distribute and notify a NULL clock when it was selected.
9834 * tools/gst-launch.c: (event_loop):
9835 Don't crash when a NULL clock was selected in the pipeline.
9837 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9839 * docs/design/Makefile.am:
9840 * docs/design/draft-missing-plugins.txt:
9841 * docs/random/draft-missing-plugins.txt:
9842 Some small updates: update plugin system identifier prefix
9843 ('gstreamer.net' to 'gstreamer'), mention our new install
9844 API in libgstbaseutils rather than libgimme-codec, add
9845 reference to the online docs.
9847 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9849 * win32/common/config.h:
9850 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9851 use moap cl ci to only check in what is mentioned in the ChangeLog.
9853 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9855 * docs/gst/gstreamer-sections.txt:
9857 Fix up documentation to link to the correct GstGError section.
9858 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9860 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9862 * tools/gst-launch.c: (event_loop):
9863 Make sure that we actually show the important message part of a
9865 No need to check if the gerror is not NULL to free; first of all
9866 g_free accepts NULL; and second the default error handler would
9867 segfault if gerror was NULL.
9869 2007-02-21 Wim Taymans <wim@fluendo.com>
9871 * docs/gst/gstreamer-sections.txt:
9872 Removed docs as well.
9874 2007-02-21 Wim Taymans <wim@fluendo.com>
9876 * gst/gstmessage.c: (gst_message_parse_duration):
9878 Remove new messages for release.
9880 2007-02-20 Wim Taymans <wim@fluendo.com>
9882 * docs/design/part-gstghostpad.txt:
9883 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9884 (gst_ghost_pad_new_full):
9885 Make the ghostpad a parent of the internal pad again for better backward
9886 compatibility. Don't write code that relies on this however.
9888 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9889 (gst_pad_link_check_hierarchy):
9890 Require that parents should be GstElements in the hierarchy check.
9892 2007-02-20 Wim Taymans <wim@fluendo.com>
9894 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9895 (gst_bin_change_state_func), (bin_query_min_max_init),
9896 (bin_query_latency_fold), (bin_query_latency_done),
9899 Implement latency query.
9901 2007-02-20 Wim Taymans <wim@fluendo.com>
9903 * docs/design/part-gstghostpad.txt:
9904 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9905 (gst_ghost_pad_internal_do_activate_push),
9906 (gst_ghost_pad_internal_do_activate_pull),
9907 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9908 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9909 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9910 Do not set the internal pad as a parent anymore so we can avoid
9911 hierarchy linking errors when the ghostpad has no parent yet. This also
9912 fixes failed activation because of unlinked internal pads, which in
9913 turn fixes the impossible case where you have to activate a pad before
9914 you can add it to a running element.
9917 * gst/gstpad.c: (pre_activate), (post_activate),
9918 (gst_pad_set_active), (gst_pad_activate_pull),
9919 (gst_pad_activate_push), (gst_pad_check_pull_range):
9920 Add some more debug info.
9921 Mark activation mode in pre_activate so that we don't try to activate in
9922 endless loops. Fixes #385084.
9924 2007-02-19 Wim Taymans <wim@fluendo.com>
9926 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9927 (gst_base_transform_check_get_range):
9928 Implement a checkgetrange function instead of relying on the default
9929 core behaviour that assumes we can operate in pull mode if we have a
9930 getrange function. First step at fixing #385084.
9932 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9934 * gst/gstchildproxy.h:
9935 * libs/gst/base/gstbasesink.h:
9936 * libs/gst/base/gstbasesrc.h:
9937 * libs/gst/base/gstbasetransform.h:
9938 More docs coverage and some ChangeLog surgery (add missing names)
9940 2007-02-15 Wim Taymans <wim@fluendo.com>
9942 * docs/design/part-TODO.txt:
9943 * docs/design/part-activation.txt:
9944 * docs/design/part-block.txt:
9945 * docs/design/part-buffering.txt:
9946 * docs/design/part-clocks.txt:
9947 * docs/design/part-element-source.txt:
9948 * docs/design/part-events.txt:
9949 * docs/design/part-gstbin.txt:
9950 * docs/design/part-gstbus.txt:
9951 * docs/design/part-gstpipeline.txt:
9952 * docs/design/part-live-source.txt:
9953 * docs/design/part-messages.txt:
9954 * docs/design/part-overview.txt:
9955 * docs/design/part-qos.txt:
9956 * docs/design/part-query.txt:
9957 * docs/design/part-states.txt:
9958 * docs/design/part-trickmodes.txt:
9959 Some doc updates. Start renaming from stream_time to running_time where
9960 it was used wrongly.
9962 2007-02-15 Wim Taymans <wim@fluendo.com>
9964 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9965 Answer LATENCY query.
9967 2007-02-15 Wim Taymans <wim@fluendo.com>
9969 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9973 2007-02-15 Wim Taymans <wim@fluendo.com>
9975 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9976 (gst_pad_dispatcher):
9977 Improve debugging of default pad dispatcher and query functions.
9979 2007-02-15 Wim Taymans <wim@fluendo.com>
9981 * docs/gst/gstreamer-sections.txt:
9982 Remove old unused method.
9984 2007-02-13 Wim Taymans <wim@fluendo.com>
9986 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9989 2007-02-13 Wim Taymans <wim@fluendo.com>
9991 * docs/design/part-seeking.txt:
9994 * gst/gstsegment.c: (gst_segment_set_seek):
9995 Revert old bogus change that should make seeking work again.
9997 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9999 * docs/random/ensonic/dynlink.txt:
10000 * docs/random/ensonic/interfaces.txt:
10001 * docs/random/ensonic/receipies.txt:
10002 Possible dynamic reconnection api, plus some type fixes the other two
10005 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
10007 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10008 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10009 Also check for an absolute path following file:// in the filesrc
10010 element. Remove redundant check and call g_path_is_absolute() on the
10011 unescaped location.
10013 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10015 * docs/design/draft-klass.txt:
10016 Add existing category analysis.
10019 Fix doc example, framerate is a fraction.
10021 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10024 * docs/gst/Makefile.am:
10025 * docs/gst/gstreamer-sections.txt:
10026 * docs/libs/Makefile.am:
10027 Erm, forgot a bunch of --extra-dir.
10029 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10032 * docs/gst/Makefile.am:
10033 * docs/libs/Makefile.am:
10034 * docs/plugins/Makefile.am:
10035 Add crossreferences to glib/gobject docs.
10037 2007-02-12 Wim Taymans <wim@fluendo.com>
10039 * docs/design/draft-latency.txt:
10042 * docs/libs/gstreamer-libs-sections.txt:
10043 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10044 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10045 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10046 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10047 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10048 (gst_base_sink_get_position), (gst_base_sink_query),
10049 (gst_base_sink_change_state):
10050 * libs/gst/base/gstbasesink.h:
10051 API: gst_base_sink_query_latency() to let subclasses query the upstream
10053 API: gst_base_sink_get_latency() to let subclasses query the configured
10054 latency in the sink.
10055 Implement query and set latency.
10057 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10058 don't continue preroll when we are flushing. Fixes #405284.
10060 * tests/check/pipelines/stress.c: (change_state_timeout),
10061 (quit_timeout), (GST_START_TEST), (stress_suite):
10064 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10066 Patch by: René Stadler <mail at renestadler de>
10068 * docs/gst/gstreamer-sections.txt:
10069 * gst/gsttaglist.c: (_gst_tag_initialize):
10070 * gst/gsttaglist.h:
10071 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10073 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10075 * docs/libs/Makefile.am:
10076 Fix path to core docs.
10078 * gst/gstbin.c: (gst_bin_get_by_interface),
10079 (gst_bin_iterate_all_by_interface):
10080 Refix docs by also renaming 'interface' to 'iface' in implementation.
10082 * docs/gst/gstreamer-sections.txt:
10084 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10085 * gst/gstchildproxy.h:
10086 * gst/gstelementfactory.c:
10087 * gst/gstpadtemplate.h:
10088 * libs/gst/controller/gstcontroller.c:
10089 (gst_controlled_property_new):
10092 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10094 * gst/gstbin.h:(gst_bin_get_by_interface),
10095 (gst_bin_iterate_all_by_interface):
10096 Replace interface parameter name by iface as interface is
10097 a reserved keyword in Visual Studio for C++ projects so it removes
10098 a build error for application developpers using VS.
10099 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10100 Fix a bug on Windows in uri format check. Now the prefix checked
10101 is file:// and next we check if the path after file:// is absolute.
10102 * win32/common/libgstbase.def:
10103 * win32/common/libgstdataprotocol.def:
10104 * win32/common/libgstgstreamer.def:
10105 Add new exported functions.
10107 2007-02-09 Andy Wingo <wingo@pobox.com>
10109 * tests/check/pipelines/simple-launch-lines.c
10110 (simple_launch_lines_suite, test_tee): Disable tee test until I
10111 have time to fix it :-(
10113 * tests/check/Makefile.am (noinst_HEADERS):
10114 * tests/check/libs/libsabi.c:
10115 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10116 * tests/check/gst/gstabi.c:
10117 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10119 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10120 tests for push and pull tee behavior.
10122 * plugins/elements/gsttee.h:
10123 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10124 mark as deprecated as well as unimplemented. It was a crack idea.
10125 Add support for tee operating in pull mode, off by default.
10127 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10128 normal-case logs down to LOG, raise errors to WARNING.
10129 (gst_registry_xml_read_cache): Don't log before calling a function
10132 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10133 exit (registry finalize).
10134 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10135 DEBUG log when we emit signals that people don't even have the
10136 chance to connect to.
10137 (gst_registry_scan_path_level): Less logging in the normal case.
10139 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10141 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10143 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10144 Correctly generate EOS for non-seekable files. We don't have a total
10145 length for them and would get an unexpected end of file if we only
10146 special-cased for regular files. (Fixes: #404569)
10148 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10150 * tests/check/elements/filesrc.c: (GST_START_TEST),
10152 Add unit test for the GstURIHandler interface in filesrc. This also
10153 tests the newly added file://localhost/foo/bar support.
10155 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10157 * gst/gstelementfactory.h:
10158 The klass string is not a hierarchy. Add reference to the design doc
10159 for more information and common types.
10161 2007-02-02 Wim Taymans <wim@fluendo.com>
10163 * gst/gstquery.c: (gst_query_new_latency):
10164 Remove old structure field.
10166 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10168 * tools/gst-launch.1.in:
10169 Give example for network streaming (#351998)
10171 2007-02-02 Wim Taymans <wim@fluendo.com>
10173 * docs/gst/gstreamer-sections.txt:
10174 Add docs for new methods.
10176 * gst/gstevent.c: (gst_event_new_latency),
10177 (gst_event_parse_latency):
10179 Add new LATENCY event to configure latency in a pipeline.
10180 API: gst_event_new_latency
10181 API: gst_event_parse_latency
10183 * gst/gstmessage.c: (gst_message_new_buffering),
10184 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10185 (gst_message_new_latency), (gst_message_parse_buffering),
10186 (gst_message_parse_lost_preroll):
10187 * gst/gstmessage.h:
10188 Added messages used in draft-latency.
10189 API: gst_message_new_lost_preroll
10190 API: gst_message_parse_lost_preroll
10191 API: gst_message_new_prerolled
10192 API: gst_message_new_latency
10194 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10195 (gst_query_parse_latency):
10197 Implemented new latency query as in design doc.
10198 API: gst_query_new_latency
10199 API: gst_query_set_latency
10200 API: gst_query_parse_latency
10202 2007-02-02 Wim Taymans <wim@fluendo.com>
10204 * docs/design/draft-latency.txt:
10205 Slight redesign to allow for dynamic latency adjustments.
10207 * docs/design/part-negotiation.txt:
10210 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10212 reviewed by: Wim Taymans <wim@fluendo.com>
10214 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10215 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10216 Allow file://localhost/foo/bar URLs and correctly fail for every other
10217 hostname that one sets. This was gnomevfssrc is linked for those if
10218 installed as it can handle it (#403172)
10220 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10222 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10224 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10225 (unref_data), (gst_collect_pads_add_pad_full):
10226 * libs/gst/base/gstcollectpads.h:
10227 Don't put the previously added destroy notify in the GstCollectData
10228 struct as all it's padding is already used and we don't want to break
10229 ABI. Instead put in the pad's GObject data for now. This should be
10230 cleaned up for 0.11 (#402393).
10232 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10234 reviewed by: Wim Taymans <wim@fluendo.com>
10236 * docs/libs/gstreamer-libs-sections.txt:
10237 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10238 (unref_data), (gst_collect_pads_add_pad),
10239 (gst_collect_pads_add_pad_full):
10240 * libs/gst/base/gstcollectpads.h:
10241 API: Add function to specify a destroy notification for custom
10242 GstCollectData when adding new pads in GstCollectPads (#402393).
10244 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10247 Update Swedish translation (#378255).
10249 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10251 * docs/design/draft-klass.txt:
10252 Fix the previous change, this is a list of categories and not a hierarchy.
10254 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10256 * docs/design/draft-klass.txt:
10257 Add info about how to get a list of used classes.
10259 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10261 * plugins/elements/gsttypefindelement.c:
10262 (gst_type_find_element_chain_do_typefinding),
10263 (gst_type_find_element_change_state):
10264 Don't leak found caps in chain function (no idea why that never
10265 showed up as a leak anywhere).
10267 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10270 Fix and expand GstPluginDesc API docs.
10272 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10275 * gst/gstelementfactory.c:
10276 * gst/gstpadtemplate.h:
10279 * libs/gst/controller/gstcontroller.c:
10280 (gst_controlled_property_new):
10281 * tests/examples/controller/audio-example.c:
10284 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10287 comment about refining the xml deps
10289 * docs/manuals.mak:
10290 comments about moving away from jade for docs
10293 recommit the ifdefs to use the binary registry
10295 * gst/gstbin.c: (gst_bin_change_state_func):
10296 this break is obsolete
10298 * gst/gstelementfactory.h:
10299 better GST_ELEMENT_DETAILS docs, add comment about translation
10304 * gst/gstobject.c: (gst_signal_object_get_type):
10305 add G_UNLIKELY as usual
10307 * gst/gstpad.c: (gst_pad_event_default):
10308 add fall trhu comment
10310 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10311 (gst_registry_binary_initialize_magic),
10312 (gst_registry_binary_save_string),
10313 (gst_registry_binary_save_pad_template),
10314 (gst_registry_binary_save_feature),
10315 (gst_registry_binary_save_plugin),
10316 (gst_registry_binary_write_cache),
10317 (gst_registry_binary_check_magic),
10318 (gst_registry_binary_load_pad_template),
10319 (gst_registry_binary_load_feature),
10320 (gst_registry_binary_load_plugin),
10321 (gst_registry_binary_read_cache):
10322 comment typo and formatting
10324 * gst/gstutils.c: (gst_element_state_get_name),
10325 (gst_element_state_change_return_get_name):
10326 remove obsolete breaks
10328 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10329 add FIXME 0.11 and remove cpp comment
10331 2007-01-29 Edward Hervey <edward@fluendo.com>
10333 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10334 Fix print statement in an even more portable way.
10336 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10338 * docs/gst/gstreamer-sections.txt:
10340 API: add GST_ROUND_DOWN_* macros (#401781).
10342 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10344 * docs/gst/gstreamer.types.in:
10345 * gst/gstregistry.c: (gst_registry_class_init):
10346 Document registry signals and make gtk-doc pick them up (#401381).
10348 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10350 * docs/pwg/building-testapp.xml:
10351 Add some audioconverts and audioresample to the pipeline, and some
10352 more comments and error handling.
10354 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10356 * docs/manual/manual.xml:
10357 * docs/pwg/pwg.xml:
10358 Fix typo (#400987).
10360 2007-01-26 Wim Taymans <wim@fluendo.com>
10362 * gst/gstcaps.c: (gst_static_caps_get):
10363 Init caps flags too.
10365 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10367 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10369 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10370 If not using mmap'ed files try to seek to the end instead of the
10371 start to determine whether we can seek at all. This fixes the case
10372 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10373 seeks for everything afterwards fail. Fixes #400656
10375 2007-01-25 Wim Taymans <wim@fluendo.com>
10377 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10378 Add some refcount debugging.
10379 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10380 in multiple streaming threads.
10382 2007-01-25 Wim Taymans <wim@fluendo.com>
10384 Patch by: David Schleef <ds at schleef dot org>
10386 * docs/libs/gstreamer-libs-sections.txt:
10387 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10388 * libs/gst/base/gstadapter.h:
10389 API: gst_adapter_copy() that can reduce the amount of memcpy when
10390 getting data from the adapter. Fixes #388201.
10392 2007-01-25 Edward Hervey <edward@fluendo.com>
10394 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10395 In print statements, "%x" is for guint. Fixes build on macosx.
10397 2007-01-24 Edward Hervey <edward@fluendo.com>
10399 * plugins/elements/gstmultiqueue.c:
10400 (gst_multi_queue_loop):
10402 (single_queue_overrun_cb), (single_queue_underrun_cb),
10403 (single_queue_check_full), (gst_single_queue_new):
10404 Implement single queue growth system.
10405 This uses the extra-size properties, and will grow single queues by
10406 that much if one goes full whereas there are others empty. This is
10407 called extra-mode in the code.
10408 When a single queue's levels go back below the initial max-size
10409 limits, it is no longer in extra-mode. This is to ensure we don't
10410 consume too much memory.
10413 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10415 * gst/gst.c: (gst_init_get_option_group):
10416 Make warning about late g_thread_init() calls a bit more explicit,
10417 so that it's more obvious to application developers what they need
10418 to do if a user files a bug against their application.
10420 2007-01-22 Edward Hervey <edward@fluendo.com>
10422 * plugins/elements/gstmultiqueue.c:
10423 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10424 Remove previous hack of unsetting the flushing flag for the source pad
10425 instead of activating it. Instead, fix the source pad activate function
10426 so that it no longer depends on having a parent set or not.
10428 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10430 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10432 * docs/manual/basics-bus.xml:
10433 Fix example code, gst_element_unref() doesn't exist any longer.
10435 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10437 Patch by: Mark Nauwelaerts <manauw at skynet be>
10440 Fix two docs typoes (#399094).
10442 2007-01-19 Edward Hervey <edward@fluendo.com>
10444 * docs/faq/gst-uninstalled:
10445 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10446 depending on libgstbaseutils can work in uninstalled environment.
10448 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10450 * gst/gsttaglist.h:
10451 * gst/gsttagsetter.c:
10452 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10453 statement for new tag.
10455 2007-01-17 Edward Hervey <edward@fluendo.com>
10457 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10458 When dynamically creating single queues, activate sinkpad before adding
10460 We should be doing the same thing for the source pad, but we can't
10461 since it would call a method which needs the parent to be set in order
10462 to work propertly. Instead of activating the source pad, we just unset
10463 the flushing flag, which is the minimal requirement for adding a pad
10464 to an element in a state greater than READY.
10466 2007-01-17 Edward Hervey <edward@fluendo.com>
10468 * docs/faq/gst-uninstalled:
10469 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10472 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10474 * tests/check/gst/gstabi.c:
10475 * tests/check/gst/struct_hppa.h:
10476 * tests/check/libs/libsabi.c:
10477 * tests/check/libs/struct_hppa.h:
10478 Add ABI structs for HPPA (see #393796).
10480 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10482 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10483 Actually write ABI structs to the file specified in the GST_ABI
10484 environment variable, as the message we print claims we would.
10486 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10488 * tests/check/gst/gsttask.c:
10489 Fix header comment.
10491 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10493 * gst/gsttaglist.c: (_gst_tag_initialize):
10494 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10495 previous two entries.
10497 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10499 * docs/gst/gstreamer-sections.txt:
10500 * gst/gsttaglist.c: (_gst_tag_initialize):
10501 * gst/gsttaglist.h:
10502 Add tag support for beat-per-minute.
10504 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10506 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10507 (gst_registry_binary_initialize_magic),
10508 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10509 (gst_registry_binary_save_pad_template),
10510 (gst_registry_binary_save_feature),
10511 (gst_registry_binary_save_plugin),
10512 (gst_registry_binary_write_cache),
10513 (gst_registry_binary_check_magic),
10514 (gst_registry_binary_load_pad_template),
10515 (gst_registry_binary_load_feature),
10516 (gst_registry_binary_load_plugin),
10517 (gst_registry_binary_read_cache):
10518 * gst/gstregistrybinary.h:
10519 Use glib types, cleanup comments, impement interfaces and uri-types.
10521 2007-01-13 Andy Wingo <wingo@pobox.com>
10523 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10524 getrange() to return buffers with other caps, while we fix
10525 demuxers and typefind, or otherwise change part-negotiation.txt.
10527 2007-01-12 Andy Wingo <wingo@pobox.com>
10529 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10530 Factor start/stop into this private function instead of partially
10531 in activate functions and partially in the change_state function.
10532 Fixes setup before the element has changed from READY->PAUSED, as
10533 is the case in pull-mode pipelines.
10534 (gst_base_transform_sink_activate_push)
10535 (gst_base_transform_src_activate_pull): Refactor to use
10536 gst_base_transform_activate().
10537 (gst_base_transform_change_state): Removed, not needed any more.
10539 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10540 Truncate before fixating.
10542 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10543 Don't set_caps() if the result of fixating is ANY, as it's not
10544 supported, and not necessary in the case of a link with no
10545 template caps on either side. Fixes tests/check/libs/basesrc in
10546 some pull-mode tests.
10548 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10549 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10550 (gst_base_transform_src_activate_pull):
10551 Track the activation mode.
10552 (gst_base_transform_setcaps): In pull mode, when activating the
10553 src pad, after activating the sink pad, activate the sink pad's
10554 peer, as discussed in part-negotiation.txt.
10556 * libs/gst/base/gstbasesrc.h:
10557 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10558 vmethod, as in basesink.
10560 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10562 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10563 mode, first proxy the setcaps to the peer pad.
10564 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10565 new fixate vmethod.
10566 (gst_base_sink_default_activate_pull): Rename from
10567 gst_base_sink_activate_pull.
10568 (gst_base_sink_negotiate_pull): New function, performs negotiation
10569 in pull mode before calling ::activate_pull().
10570 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10571 vmethod instead of the default implementation. I have no idea how
10572 this worked before. Negotiate before calling activate_pull.
10574 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10575 sink pads in pull mode. In addition to being correct, fixes
10576 filesrc ! decodebin ! identity ! fakesink.
10577 (gst_pad_get_range, gst_pad_pull_range): Don't call
10578 gst_pad_set_caps() if the caps changes; instead error out with
10579 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10581 2007-01-12 Andy Wingo <wingo@pobox.com>
10583 * docs/design/part-negotiation.txt: Update with more policy.
10585 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10587 * libs/gst/check/gstbufferstraw.h:
10588 * libs/gst/check/gstcheck.h:
10589 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10592 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10594 * tests/check/Makefile.am:
10595 * tests/check/gst/.cvsignore:
10596 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10597 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10598 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10599 (GST_START_TEST), (gst_tag_setter_suite):
10600 Add minimal unit test for beforementioned GstTagSetter bug.
10602 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10604 Patch by: René Stadler <mail at renestadler dot de>
10606 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10607 gst_tag_list_merge() returns a new list, so it's not the best idea
10608 to ingore its return value. Effectively meant that tags could only
10609 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10610 Also add function guard to require a non-NULL taglist as input (has
10611 always been so due to gst_tag_list_copy(), just making it explicit).
10613 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10615 * docs/random/draft-missing-plugins.txt:
10616 Some additions: mention new API that is supposed to be used at the
10617 various stages; short blob about new gst-inspect introspection
10618 option; mention potential future problem with plugins that have
10619 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10621 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10623 * tools/gst-inspect.c:
10624 (print_plugin_automatic_install_info_codecs),
10625 (print_plugin_automatic_install_info_protocols),
10626 (print_plugin_automatic_install_info), (main):
10627 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10628 introspect plugin files and get machine-parsable output that corresponds
10629 to the last bit of the missing-plugin installer string (small gotcha:
10630 doesn't take into account ranks).
10632 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10635 * docs/gst/gstreamer-sections.txt:
10637 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10638 (gst_registry_lookup_locked):
10639 * gst/gstregistry.h:
10640 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10641 (gst_registry_binary_initialize_magic),
10642 (gst_registry_binary_save_string),
10643 (gst_registry_binary_save_pad_template),
10644 (gst_registry_binary_save_feature),
10645 (gst_registry_binary_save_plugin),
10646 (gst_registry_binary_write_cache),
10647 (gst_registry_binary_check_magic),
10648 (gst_registry_binary_load_pad_template),
10649 (gst_registry_binary_load_feature),
10650 (gst_registry_binary_load_plugin),
10651 (gst_registry_binary_read_cache):
10652 * gst/gstregistrybinary.h:
10653 * gst/gstregistryxml.c: (load_feature),
10654 (gst_registry_xml_read_cache):
10655 commit binary registry (disabled by default, see #359653)
10657 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10659 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10660 Fix 'make check' too.
10662 2007-01-10 Andy Wingo <wingo@pobox.com>
10664 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10667 * docs/design/part-negotiation.txt: Update with, um, one way that
10668 pull-mode negotiation might work?
10671 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10672 that the pad must be a src pad; makes sense to call it the other
10673 way in pull mode, and the logic is symmetric anyway.
10675 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10677 * plugins/elements/gstfilesink.c:
10678 Include <stdio.h> for fseeko().
10680 2007-01-10 Wim Taymans <wim@fluendo.com>
10684 Reserve LATENCY event.
10686 2007-01-09 Wim Taymans <wim@fluendo.com>
10688 * docs/design/draft-latency.txt:
10691 2007-01-09 Wim Taymans <wim@fluendo.com>
10693 * docs/design/draft-latency.txt:
10696 * gst/gstelement.h:
10697 * gst/gststructure.c:
10701 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10703 * tests/check/.cvsignore:
10704 Ignore test-registry.xml as well.
10706 2007-01-09 Wim Taymans <wim@fluendo.com>
10708 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10709 unref data at the end when we are done with the pad.
10711 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10713 * docs/gst/gstreamer-sections.txt:
10714 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10715 (init_post), (gst_deinit), (gst_update_registry):
10717 API: add gst_update_registry() (#391296).
10719 * tests/check/Makefile.am:
10720 * tests/check/gst/gstregistry.c:
10721 * tests/check/gst/.cvsignore:
10722 Simple unit test for the above.
10724 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10726 * gst/gstregistry.c: (gst_registry_scan_path_level):
10727 Plugin extension on HP-UX is .sl, add that to the list of approved
10728 plugin extensions (see #393796).
10730 * tests/check/gst/gstpad.c: (GST_START_TEST):
10731 ulong => gulong. Fixes compilation with HP-UX compiler.
10733 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10734 Fix compilation if valgrind headers are not available.
10736 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10738 * win32/common/libgstreamer.def:
10739 Add new exported function.
10740 * win32/vs6/libgstbase.dsp:
10741 Add gstdataqueue.c to the build.
10742 * win32/vs6/libgstcoreelements.dsp:
10743 Add gstmultiqueue.c to the build.
10745 2007-01-06 Andy Wingo <wingo@pobox.com>
10747 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10748 activate_pull(), providing for a way to specialize the process of
10749 spawning a thread to pull on the sink pad. There is a default
10752 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10753 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10754 (gst_base_sink_init): Renamed pad activation functions (inserting
10755 "_pad" in their names). Refactor to use the new activate_pull
10756 vmethod, as appropriate.
10757 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10758 default activate_pull function to start a task pulling from the
10759 sink pad, as before.
10761 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10762 on the pads if necessary, as in push()/chain(). Update docs.
10763 Shouldn't affect existing pull() usage as it is currently only
10764 being used on buffers without caps.
10766 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10768 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10770 Call g_thread_init() first thing in gst_init() / gst_check_init().
10771 When initialisation is done via gst_init_get_option_group() and
10772 GOption parsing, issue a warning if the GLib thread system has not
10773 been initialised yet by the time gst_init_get_option_group() is
10774 called, as it's quite likely other GLib functions such as
10775 g_option_context_new() have been called already then, and
10776 g_thread_init() must be called before any other GLib function. The
10777 application in question must be fixed in that case, since memory
10778 corruption might happen otherwise.
10779 We issue the warning because even if the GLib folks decide to work
10780 around the problem on their end in future, this is still an issue
10781 with all GLib versions >= 2.10.0, so we should warn until we depend
10782 on a GLib version we know to be safe.
10783 Update documentation as well.
10784 Closes bug #391278.
10786 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10788 * tools/gst-inspect.c: (main):
10789 * tools/gst-launch.c: (main):
10790 * tools/gst-typefind.c: (main):
10791 * tools/gst-xmlinspect.c: (main):
10792 Call g_thread_init() really really early, before any other GLib
10793 function (see #342564 and recent discussion on gtk-devel-list).
10795 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10797 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10799 * gst/gst_private.h:
10800 * gst/gstconfig.h.in:
10802 On win32, all the __declspec stuff for symbol exporting is
10803 apparently only needed with MSVC, but doesn't work with MingW.
10804 Fixes compilation with MingW and #391909.
10806 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10808 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10809 Change some GST_ERROR_OBJECT that aren't really errors to
10810 GST_WARNING_OBJECT in order to reduce terminal spam.
10812 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10814 * tests/check/Makefile.am:
10815 disable test again, as there seem to be still race problems
10817 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10819 * tests/check/Makefile.am:
10820 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10821 (GST_START_TEST), (queue_suite):
10822 enable queue test again, add tests for the leaky behaviour
10824 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10827 * tests/examples/Makefile.am:
10828 Compile adapter test/example only if the required headers are
10829 available (fixes #391915).
10831 2007-01-01 David Schleef <ds@schleef.org>
10834 Restore the previous signal handler for SIGSEGV instead of
10835 setting to default, since we may have stolen it away from
10836 someone. (i.e., Mono)
10838 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10840 * docs/random/draft-missing-plugins.txt:
10841 Some small additions and clarifications.
10843 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10845 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10846 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10847 since that can lead to random memory corruptions and crashes
10848 (may or may not be related to #383244, #386711, and #386711).
10850 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10852 * tests/check/.cvsignore:
10853 * tests/check/Makefile.am:
10854 sync .cvsignome and CLEANFILES
10856 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10858 * tests/check/Makefile.am:
10861 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10863 * docs/design/part-states.txt:
10864 two tiny additional comments
10866 * gst/gststructure.c:
10869 * tests/check/Makefile.am:
10870 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10872 disable test for now, unless it gets fixed
10874 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10876 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10878 fix race in underrun test
10880 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10882 * tests/check/elements/.cvsignore:
10885 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10887 try to narrow test failure
10889 2006-12-21 David Schleef <ds@schleef.org>
10891 * plugins/elements/gstfakesrc.c:
10892 Use g_random_int_range(), since it produces better random
10893 numbers in a range than almost-correct floating point code.
10895 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10897 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10898 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10899 (gst_check_teardown_sink_pad):
10900 do not automatically (de)activate pads
10902 * tests/check/Makefile.am:
10903 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10904 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10905 add new, yet simple tests for queue
10907 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10908 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10909 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10911 * tests/check/elements/identity.c: (cleanup_identity):
10912 consistent pad (de)activation
10914 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10916 Patch by: Sebastian Dröge <slomo ubuntu com>
10918 * libs/gst/base/gstcollectpads.c:
10919 Fix two doc typos (#387866).
10921 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10923 * docs/manual/advanced-dparams.xml:
10924 Fix typo (g_object_control_properties() doesn't exist).
10926 2006-12-19 Edward Hervey <edward@fluendo.com>
10928 * gst/gstsegment.c: (gst_segment_set_seek):
10929 Fine tune the cases where the segment start/stop values are really
10931 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10932 Add tests for the return values of gst_segment_set_seek().
10934 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10939 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10941 Fix incorrect documentation and flesh it out a bit more.
10942 Set default values for the max properties on the GParamSpec as well,
10943 so it shows up correctly in gst-inspect.
10945 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10947 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10948 Correct docs of queue, add more detail and crosslink it more.
10950 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10952 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10953 Print additional debug info when the stream isn't perfectly
10954 timestamped; don't try to use invalid durations.
10956 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10958 * docs/design/Makefile.am:
10959 Dist new design docs.
10961 2006-12-16 Wim Taymans <wim@fluendo.com>
10963 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10965 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10966 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10967 (gst_collect_pads_stop), (gst_collect_pads_event),
10968 (gst_collect_pads_chain):
10969 * libs/gst/base/gstcollectpads.h:
10970 Add refcounting to the collectpads data so we can track when it's safe
10971 to free the data. Fixes #383382.
10973 2006-12-15 Wim Taymans <wim@fluendo.com>
10975 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10976 (gst_collect_pads_remove_pad):
10977 Automatically activate/deactivate pads when they are added to a
10978 started/stoped collectpads.
10980 2006-12-15 Wim Taymans <wim@fluendo.com>
10982 * gst/gstelement.c: (gst_element_add_pad):
10983 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10984 * gst/gstpad.c: (gst_pad_init):
10985 Set pads to FLUSHING when they are created. Check, warn and fix when a
10986 demuxer adds an inactive pad to itself when running. Fixes #339326.
10988 2006-12-15 Wim Taymans <wim@fluendo.com>
10990 * gst/gstelement.c: (gst_element_class_init),
10991 (gst_element_default_send_event), (gst_element_send_event),
10992 (gst_element_default_query), (gst_element_query):
10993 Expose default element send_event and query handling as vmethods that
10994 subclasses can chain up to.
10996 2006-12-15 Wim Taymans <wim@fluendo.com>
10998 * gst/gstelement.c: (gst_element_set_state_func):
10999 Small documentation fixes.
11001 2006-12-15 Wim Taymans <wim@fluendo.com>
11003 * docs/design/draft-latency.txt:
11004 Checked in draft for handling latency in pipelines.
11006 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
11010 * gstreamer.spec.in:
11013 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
11015 * gst/gst.c: (init_pre), (init_post):
11016 init_pre() and init_post() might be called via our GOptionGroup or
11017 from gst_init(), and we should skip both of them if we've already
11018 been initialised, otherwise we will init some things twice or add
11019 two default log functions.
11021 2006-12-13 Edward Hervey <edward@fluendo.com>
11023 * docs/manual/basics-bus.xml:
11024 No, gst_main_loop does not exist. Its g_main_loop.
11025 Discovered by somebody who abused the copy-paste technique of coding :)
11027 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
11029 * gst/gstghostpad.c:
11030 Log ghostpad debug stuff to the GST_PADS category as well rather
11031 than just to the default category.
11033 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
11036 * gst/gst.c: (init_pre):
11037 Add some basic system details such as OS and architecture
11038 to the debug output if possible, courtesy of uname().
11040 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11042 * docs/gst/running.xml:
11043 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11044 environment variables.
11046 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11048 * tests/check/gst/gstbin.c: (GST_START_TEST):
11049 It is acceptable to have a refcount of 2 or 3 at this point in the
11050 test, because the pipeline might be just posting its state_change
11051 message. The next line then waits for that message to appear using
11052 bus_poll, so that should be fine too.
11054 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11056 * gst/gst.c: (ensure_current_registry_forking):
11057 Ignore EINTR when reading from the child registry pipe.
11058 Explicitly ignore the return value from close, since it makes no
11061 * gst/gstminiobject.c: (gst_mini_object_ref),
11062 (gst_mini_object_unref):
11063 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11065 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11066 When removing cached plugins, remove their features too, so they're
11067 not visible after they've disappeared.
11069 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11070 In the unlikely case that we are linking pads with no parents, don't
11071 crash trying to get the non-existent parent bin.
11073 * gst/parse/grammar.y:
11074 Output debug in the PIPELINE category
11076 2005-03-08 Wim Taymans <wim@fluendo.com>
11078 Patch by: René Stadler <mail at renestadler dot de>
11080 * gst/gstclock.c: (gst_clock_new_periodic_id):
11081 Reject invalid clock times for interval of periodic ids.
11084 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11086 * gst/gstelementfactory.c: (gst_element_factory_create):
11087 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11088 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11089 * tools/gst-inspect.c: (print_element_info):
11090 Fix refcounting of gst_plugin_feature_load to match the docs.
11093 2006-12-07 Wim Taymans <wim@fluendo.com>
11095 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11096 (gst_base_sink_get_position):
11097 Improve debugging of events.
11099 2006-12-07 Wim Taymans <wim@fluendo.com>
11101 Patch by: René Stadler <mail at renestadler dot de>
11103 * gst/gstclock.c: (gst_clock_id_wait):
11104 Make period ids add the interval to the origial requested time instead
11105 of the possibly updated time which can be wrong when there are multiple
11106 waiters for the same id. Fixes #382592.
11108 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11109 (gst_system_clock_id_wait_jitter_unlocked),
11110 (gst_system_clock_id_wait_jitter):
11111 Fix restart in the async notify thread when an async entry is added to
11112 the front of the list. Fixes #381492.
11114 * tests/check/gst/gstsystemclock.c: (store_callback),
11115 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11116 Added test for multiple async waits.
11117 Added test for async wait order.
11119 2006-12-07 Wim Taymans <wim@fluendo.com>
11121 * gst/gstbin.c: (gst_bin_query):
11122 Add some more docs about the POSITION query.
11124 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11127 Bump version nano - back to CVS.
11129 === release 0.10.11 ===
11131 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11134 releasing 0.10.11, "Love never runs on time"
11136 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11138 * win32/common/libgstbase.def:
11139 * win32/common/libgstreamer.def:
11140 * win32/vs8/libgstbase.vcproj:
11141 * win32/vs8/libgstcoreelements.vcproj:
11142 * win32/vs8/libgstreamer.vcproj:
11143 Fix compilation on win32 under VS8
11144 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11145 Partially fixes #381175
11147 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11149 * gst/gstvalue.c: (gst_value_compare_fraction):
11150 If someone is foolish enough to compare 2 fractions with denominator =
11151 0, return UNORDERED rather than aborting.
11153 2006-11-28 Edward Hervey <edward@fluendo.com>
11155 * libs/gst/base/Makefile.am:
11156 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11157 (gst_data_queue_base_init), (gst_data_queue_class_init),
11158 (gst_data_queue_init), (gst_data_queue_new),
11159 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11160 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11161 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11162 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11163 (gst_data_queue_set_flushing), (gst_data_queue_push),
11164 (gst_data_queue_pop), (gst_data_queue_drop_head),
11165 (gst_data_queue_set_property), (gst_data_queue_get_property):
11166 * libs/gst/base/gstdataqueue.h:
11167 New GstDataQueue object for threadsafe queueing. Most useful for
11168 elements that need some queueing functionnality.
11169 * docs/libs/gstreamer-libs-docs.sgml:
11170 * docs/libs/gstreamer-libs-sections.txt:
11171 Insert documentation for GstDataQueue
11172 * plugins/elements/Makefile.am:
11173 * plugins/elements/gstelements.c:
11174 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11175 (gst_multi_queue_class_init), (gst_multi_queue_init),
11176 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11177 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11178 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11179 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11180 (gst_multi_queue_loop), (gst_multi_queue_chain),
11181 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11182 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11183 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11184 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11185 (wake_up_next_non_linked), (compute_next_non_linked),
11186 (single_queue_overrun_cb), (single_queue_underrun_cb),
11187 (single_queue_check_full), (gst_single_queue_new):
11188 * plugins/elements/gstmultiqueue.h:
11189 New multiqueue element, using GstDataQueue. Used for queuing multiple
11191 Closes #344639 and #347785
11193 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11195 * docs/pwg/advanced-types.xml:
11196 add more missing type details
11198 * tools/gst-run.c: (main):
11199 remove unused variable
11201 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11203 * docs/libs/Makefile.am:
11204 * docs/libs/gstreamer-libs.types:
11205 add types of base classes to enable gobject specific stuff in the docs
11207 * docs/random/ensonic/embedded.txt:
11208 more ideas about isolating platform specific things
11210 2006-11-20 Wim Taymans <wim@fluendo.com>
11212 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11214 * libs/gst/check/gstcheck.h:
11215 Fix compilation and running against 0.9.4. Fixes #377332.
11217 2006-11-20 Wim Taymans <wim@fluendo.com>
11219 * gst/gstsegment.c: (gst_segment_set_seek),
11220 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11221 (gst_segment_to_running_time):
11222 Fix boundary checking in to_running_time() and to_stream_time().
11225 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11226 stream and running time can now be calculated for the complete
11229 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11231 * gst/gstpad.c: (gst_pad_push_event):
11232 Can't access event structure after giving away ownership of
11235 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11237 * docs/random/ensonic/embedded.txt:
11238 * docs/random/ensonic/profiling.txt:
11239 * docs/random/ensonic/receipies.txt:
11242 2006-11-13 Wim Taymans <wim@fluendo.com>
11244 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11247 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11249 2006-11-13 Wim Taymans <wim@fluendo.com>
11251 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11253 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11254 Store new length in segment duration so we don't keep on calling the
11255 potentially expensize get_size() call. Fixes #370865.
11257 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11259 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11261 * win32/common/libgstreamer.def:
11262 Add two missing symbols (#366492).
11264 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11266 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11267 (gst_adapter_take_buffer):
11268 Fix format string to use all its arguments.
11269 Remove useless >= check on a guint
11271 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11273 * tests/examples/adapter/.cvsignore:
11274 Ignore build file as commanded by the build-bot
11276 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11278 * tests/examples/adapter/Makefile.am:
11279 * tests/examples/adapter/adapter_test.c: (run_test_take),
11280 (run_test_take_buffer), (run_tests), (main):
11282 Add new files from the previous commit
11284 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11288 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11289 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11290 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11291 * libs/gst/base/gstadapter.h:
11292 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11293 (GST_START_TEST), (gst_adapter_suite):
11294 * tests/examples/Makefile.am:
11295 Do some optimisation work in GstAdapter to avoid copies in more cases.
11296 It could still do slightly better by merging buffers when
11297 gst_buffer_is_span_fast is true, but is already faster.
11299 Also, avoid traversing a single-linked list to append each incoming
11300 buffer inside the adapter.
11302 Add simple test app that times the adapter behaviour in different
11303 situations, and extend the unit test to check that bytes enter and
11304 exit the adapter in their original order.
11306 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11308 * docs/random/draft-missing-plugins.txt:
11309 Update: use element message instead of adding a new message
11310 type to the core; don't provide GStreamer API to initiate the
11311 plugin download, just provide API to compose the strings needed
11312 and let an external libgimmestuff handle the rest.
11314 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11316 * tools/gst-inspect.c: (print_element_properties_info):
11317 Print a string instead of 'unknown type' for GValueArray properties
11319 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11321 * docs/random/draft-missing-plugins.txt:
11324 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11326 * tests/examples/typefind/typefind.c: (type_found), (main):
11327 Make typefind element example work again (#371894); add a
11330 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11332 * docs/random/draft-missing-plugins.txt:
11333 Commit initial draft about how to deal with missing plugins,
11334 needs work (API too).
11336 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11338 * docs/pwg/advanced-types.xml:
11339 documents the new caps elements (see #363118)
11341 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11343 * gst/gstplugin.c: (gst_plugin_load_file):
11344 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11345 (gst_file_src_map_region), (gst_file_src_start):
11346 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11347 (gst_file_index_commit):
11348 Use g_strerror() instead of strerror() - we want UTF-8.
11350 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11352 Patch by: Peter Kjellerstedt <pkj at axis com>
11354 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11355 Another printf fix (#371493).
11357 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11359 * tests/check/gst/gsttag.c:
11360 relicence (okay with author=company)
11362 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11364 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11365 (gst_pad_push_event):
11366 Enhance debug and improve docs
11371 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11373 * docs/random/ensonic/distributed.txt:
11374 * docs/random/ensonic/profiling.txt:
11377 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11379 * docs/gst/gstreamer-sections.txt:
11380 add new API and fix the build
11382 * gst/gstbin.c: (gst_bin_recalc_state):
11383 * gst/gstelement.c: (gst_element_message_full),
11384 (gst_element_get_state_func), (gst_element_set_state_func):
11385 use new API and improve logging
11387 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11389 API: add function to get StateChangereturn names to improve logs
11391 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11393 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11394 I'm considering shooting the next person to put strerror stuff
11395 in the translateable part of the message.
11397 2006-11-03 Wim Taymans <wim@fluendo.com>
11399 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11400 Get the type and printf conversion specifiers right.
11402 2006-11-03 Wim Taymans <wim@fluendo.com>
11404 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11406 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11407 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11408 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11409 Some small cleanups. Improve debugging.
11411 Signal all waiting threads with a broadcast instead of just one.
11414 2006-11-03 Wim Taymans <wim@fluendo.com>
11416 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11417 (gst_fd_src_create):
11418 Add some debugging.
11419 Only update fd when it's different from the old.
11421 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11423 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11424 Printf fixes for PPC/OSX, take two (#369366).
11426 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11428 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11430 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11431 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11432 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11433 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11434 don't cast to long long for portability reasons, but use
11435 GLib's types instead.
11437 2006-10-30 Michael Smith <msmith@fluendo.com>
11439 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11440 Get the arguments to lseek() the right way around.
11443 2006-10-30 Wim Taymans <wim@fluendo.com>
11445 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11448 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11450 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11452 Patch by: Kjartan Maraas <kmaraas at gnome org>
11454 * docs/design/part-MT-refcounting.txt:
11455 * docs/random/wtay/capsnego2-docs:
11458 Typo fixes (#366212).
11460 2006-10-28 Wim Taymans <wim@fluendo.com>
11462 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11465 * win32/common/libgstbase.def:
11466 * win32/common/libgstreamer.def:
11467 * win32/vs8/libgstbase.vcproj:
11468 * win32/vs8/libgstcontroller.vcproj:
11469 Add needed entries in .def files.
11471 Rearrange def files in vs8 solutions. Fixes #366286.
11473 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11475 * win32/common/gstconfig.h:
11476 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11477 hand-made win32 gstconfig.h. Fixes #366321.
11479 2006-10-27 Wim Taymans <wim@fluendo.com>
11481 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11482 (gst_ghost_pad_new_full):
11483 Make acceptcaps return TRUE when we don't have a target, just like
11486 2006-10-27 Wim Taymans <wim@fluendo.com>
11488 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11489 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11491 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11493 * gst/gststructure.c: (gst_structure_id_set_value):
11494 If someone tries to set a non-UTF8 string field on a structure,
11495 don't just print a warning, but also ignore the request and do
11496 not change/add that field to the structure.
11498 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11499 Test for the above.
11501 2006-10-25 David Schleef <ds@schleef.org>
11504 g_hash_table_insert() needs a cast to a non-const pointer duh.
11506 2006-10-25 David Schleef <ds@schleef.org>
11510 Change name parameter of _gst_debug_register_funcptr to const
11511 to reflect the constness of its use in the function as well
11512 as to quiet a gcc warning.
11514 2006-10-25 Edward Hervey <edward@fluendo.com>
11516 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11517 Don't push the buffer if it's empty.
11520 2006-10-24 Wim Taymans <wim@fluendo.com>
11525 * libs/gst/base/gstbasetransform.c:
11526 (gst_base_transform_sink_eventfunc):
11527 Debug segment values *after* updating them as this is more
11530 2006-10-23 Wim Taymans <wim@fluendo.com>
11532 * docs/design/part-events.txt:
11535 * docs/design/part-block.txt:
11536 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11537 (gst_pad_push_event):
11538 Revert BLOCKING patch, it tries to be smart without really having a
11539 clear idea what or how. So, now we discard all FLUSHING events again on
11540 a blocking pad. Should fix gnonlin again.
11542 2006-10-23 Wim Taymans <wim@fluendo.com>
11544 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11546 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11547 (gst_base_src_start), (gst_base_src_activate_push):
11548 Make sure size is always initialized. Fixes #364388.
11550 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11552 * docs/random/ensonic/distributed.txt:
11553 add some ideas about doing distributed processing
11555 * docs/random/ensonic/profiling.txt:
11556 get_rusage look promising
11558 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11560 * docs/manual/basics-helloworld.xml:
11561 Add a cast in example to fix compile warning
11563 2006-10-18 Wim Taymans <wim@fluendo.com>
11565 * gst/gstsegment.c: (gst_segment_set_last_stop),
11566 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11567 Relax arg checking again, -1 is allowed.
11569 2006-10-18 Wim Taymans <wim@fluendo.com>
11571 * gst/gstsegment.c: (gst_segment_set_last_stop),
11572 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11573 _set_last_stop() must be with a value != -1
11574 A _TYPE_SET to -1 means seek to 0.
11575 Calc last_stop correctly for negative rates.
11576 Make sure we work with positive durations when updating a segment.
11578 2006-10-18 Wim Taymans <wim@fluendo.com>
11580 * docs/design/part-live-source.txt:
11584 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11587 Add an explicit cast to GstBuffer** to keep old code that added an
11588 explicit cast to GstMiniObject** for gst_mini_object_replace()
11589 compiling without warning.
11591 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11593 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11594 check for validity of dates
11596 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11598 * docs/gst/gstreamer-sections.txt:
11599 Forgot this one, makes gtk-doc shut up.
11601 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11603 Patch by: Peter Kjellerstedt <pkj at axis com>
11606 Don't define xmlNodePtr to gpointer if the core was built with
11607 --disable-loadsave and --disable-registry, this will break
11608 applications that want to use libxml2 but are buildling against a
11609 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11610 instead so we don't have to mess with the libxml2 namespace
11613 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11616 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11617 type-punned pointer warnings.
11619 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11621 * gst/gstelement.h:
11622 Add casts to the correct return type to state <=> state transition
11625 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11627 * docs/design/part-live-source.txt:
11628 describe howto handle latency
11630 * docs/random/ensonic/profiling.txt:
11633 * tools/gst-plot-timeline.py:
11634 fix log parsing for solaris, remove unused function
11636 2006-10-16 Wim Taymans <wim@fluendo.com>
11638 * docs/design/part-trickmodes.txt:
11640 Update some docs regarding reverse playback.
11642 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11644 Patch by: Marcus Granado <mrc dot gran at gmail com>
11646 * win32/vs8/grammar.vcproj:
11647 Error out with a warning if glib-genmarshal.exe is not in path,
11648 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11650 2006-10-13 Wim Taymans <wim@fluendo.com>
11652 * gst/gstsegment.c: (gst_segment_set_seek):
11653 When seeking to stop -1, set last_stop (current position) to the
11654 duration of the segment.
11656 2006-10-13 Wim Taymans <wim@fluendo.com>
11658 * gst/gstelement.h:
11659 Clarify _NO_PREROLL a bit more.
11664 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11665 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11666 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11667 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11668 due to wrong locking order. Fixes #361769.
11669 Remove some redundant/misplaced checks in pad_block.
11671 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11672 For negative rates, count backwards from the duration.
11674 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11676 * gst/gsterror.c: (_gst_library_errors_init):
11677 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11678 up with something better).
11680 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11682 * win32/vs6/libgstreamer.dsp:
11683 * win32/vs7/libgstreamer.vcproj:
11684 * win32/vs8/libgstreamer.vcproj:
11685 Don't reference glib-compat.c which is currently not used and not
11686 disted; add gstquark.c which was recently added. Fixes #361730.
11688 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11690 * win32/common/libgstbase.def:
11691 * win32/common/libgstcontroller.def:
11692 * win32/common/libgstreamer.def:
11693 Add gst_caps_merge() and a bunch of other recently-added functions.
11696 2006-10-11 Wim Taymans <wim@fluendo.com>
11698 * docs/plugins/gstreamer-plugins.args:
11699 * docs/plugins/inspect/plugin-coreelements.xml:
11700 * docs/plugins/inspect/plugin-coreindexers.xml:
11701 Update element args.
11703 * gst/gstsystemclock.c:
11704 Small comment update.
11706 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11707 (gst_tee_request_new_pad), (gst_tee_release_pad),
11708 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11709 (gst_tee_sink_activate_pull):
11710 * plugins/elements/gsttee.h:
11712 Add default property defines.
11713 Implement release pad function.
11714 Give properties better blubs etc.
11715 Activate pads before adding them to a running tee.
11716 Do simple buffer_alloc on the first requested pad.
11717 Post error when activation fails.
11719 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11721 * gst/gst.c: (ensure_current_registry_forking):
11722 Check return value of write() to make compiler happy.
11724 2006-10-11 Wim Taymans <wim@fluendo.com>
11726 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11728 * plugins/elements/gstqueue.c: (gst_queue_chain):
11729 Recheck queue filledness after signalling the overrun when we're about
11730 to leak downstream because we released the lock when emitting the signal
11731 and the queue could be empty again. Fixes #352345.
11733 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11735 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11736 Fix refcounting here too, just like we did for _new_valist() a few
11737 days ago (#357180) (thanks to René Stadler). Also remove all those
11738 'Since: 0.9' from the gtk-doc blobs.
11740 * tests/check/libs/controller.c: (controller_refcount_new_list),
11741 (gst_controller_suite):
11742 Unit test for the above.
11744 2006-10-10 Wim Taymans <wim@fluendo.com>
11746 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11748 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11749 (gst_pad_save_thyself):
11751 Write pad direction in XML output. Fixes #345496.
11753 2006-10-10 Wim Taymans <wim@fluendo.com>
11755 Patch by: René Stadler <mail at renestadler dot de>
11757 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11758 (gst_controller_new_list), (_gst_controller_dispose),
11759 (_gst_controller_finalize), (_gst_controller_class_init):
11760 Take ref to controlled object so that it cannot disappear.
11763 2006-10-10 Wim Taymans <wim@fluendo.com>
11765 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11766 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11767 (gst_check_teardown_sink_pad):
11768 Activate/deactivate pads in setup/teardown respectively.
11770 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11772 Patch by: Josep Torra Valles <josep@fluendo.com>
11775 Cast values when making gstenumtypes.h. This pacifies Forte
11776 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11777 in the enumeration.
11779 2006-10-09 Wim Taymans <wim@fluendo.com>
11781 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11782 Rename some more @cur to @start to fix docs.
11784 * gst/gstsegment.c: (gst_segment_set_seek):
11786 time and start must always stay in sync as defined in design doc.
11788 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11789 Rename param to fix docs.
11791 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11792 Check that start and time are in sync.
11794 * tests/check/pipelines/parse-launch.c:
11795 (gst_parse_test_element_change_state):
11796 Activate pad before adding to the element.
11798 2006-10-09 Wim Taymans <wim@fluendo.com>
11800 * docs/design/part-qos.txt:
11805 Update seek event docs regarding negative rates.
11806 Rename @cur to @start.
11808 * gst/gstsegment.c: (gst_segment_set_seek):
11809 * gst/gstsegment.h:
11810 Update set_seek docs regarding negative rates.
11811 Correctly update last_stop to @stop when dealing with negative
11813 Rename @cur to @start.
11815 * tests/check/gst/gstpad.c: (GST_START_TEST):
11816 Activate pads before trying to use them.
11818 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11819 (gst_segment_suite):
11820 Add simple check for segments and negative rates.
11822 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11824 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11825 * gst/gsttaglist.h:
11826 * docs/gst/gstreamer-sections.txt:
11827 API: add gst_tag_list_is_empty() (#360467).
11829 * tests/check/gst/gsttag.c: (GST_START_TEST):
11832 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11834 * gst/gstmessage.h:
11835 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11836 a value that doesn't fit on enumeration.
11838 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11840 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11841 Remove local debugging system and use Gstreamer's instead.
11843 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11845 Patch by: Josep Torra Valles <josep@fluendo.com>
11847 * common/m4/gst-error.m4:
11848 Disable warning of statement not reached on Forte.
11849 * gst/gstmessage.h:
11850 Fix warning on Forte (value doesn't fit on enumeration).
11851 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11852 Fix warning on Forte (value doesn't fit on enumeration).
11853 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11854 DEBUG macro says it takes minimum of 2 args and so Forte
11855 complains about the use with just 1 arg.
11856 * plugins/elements/gstfdsink.c:
11857 * plugins/elements/gstfdsrc.c:
11858 * plugins/elements/gstfilesink.c:
11859 * plugins/elements/gstfilesrc.c:
11860 Use correct return type for the uri handler implementations.
11862 All these fix warnings in Forte. Fixes bug #360860.
11864 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11866 * gst/gstelement.h:
11867 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11868 format string, so don't use G_GNUC_PRINTF for those versions.
11870 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11872 * gst/gsttaglist.c: (gst_is_tag_list):
11873 * gst/gsttaglist.h:
11874 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11876 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11877 Small test for the above.
11879 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11881 * gst/gsttaglist.h:
11882 Less tabs, more spaces.
11884 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11887 Those two function declarations do actually belong there, revert
11888 commit from yesterday that turned them intro macros.
11890 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11892 Patch by: Josep Torra Valles <josep@fluendo.com>
11894 * gst/gst.c: (gst_init_get_option_group):
11895 Fix empty declaration and type mismatch.
11896 * gst/gstbin.c: (gst_bin_change_state_func):
11898 * gst/gstelement.c: (gst_element_continue_state),
11899 (gst_element_set_state_func), (gst_element_change_state),
11900 (gst_element_change_state_func):
11901 Fix type mismatches.
11902 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11903 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11904 Cast as appropriate.
11905 * gst/gstobject.c: (gst_class_signal_connect):
11906 Cast as appropriate. The function pointer parameter really
11907 has the wrong type but would break API if we change it.
11909 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11910 order of including string.h.
11911 * gst/gstutils.c: (gst_element_state_get_name):
11912 Remove unreachable line.
11913 * gst/gstxml.c: (gst_xml_parse_doc):
11915 All these caught by Forte.
11917 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11919 Patch by: Josep Torra Valles <josep@fluendo.com>
11921 * common/m4/gst-error.m4:
11923 We need to disable warnings on Forte for empty declarations
11924 due to gst-indent adding ;s to lines that just use macros
11925 where the macro actually doesn't need a ; at end to end
11928 2006-10-06 Wim Taymans <wim@fluendo.com>
11930 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11931 (gst_file_sink_close_file), (gst_file_sink_event),
11932 (gst_file_sink_render):
11933 Add some FIXME for the NEWSEGMENT handling.
11935 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11937 * gst/parse/grammar.y:
11938 Remove static function gst_parse_element_lock as all it does
11939 is return. Looks like cruft from 0.8.
11941 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11943 Patch by: Josep Torra Valles <josep@fluendo.com>
11945 * common/m4/gst-error.m4:
11947 * libs/gst/net/Makefile.am:
11948 Fix a compilation issue with Forte on Solaris. inet_aton is in
11951 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11953 * gst/gstpad.c: (pre_activate):
11954 * gst/gstregistry.c: (gst_registry_scan_path_level):
11955 * gst/gstregistryxml.c: (load_plugin):
11956 * libs/gst/controller/gstcontroller.c:
11957 (gst_controlled_property_set_interpolation_mode):
11958 * libs/gst/dataprotocol/dataprotocol.c:
11959 (gst_dp_packet_from_event_1_0):
11960 * libs/gst/net/gstnetclientclock.c:
11961 (gst_net_client_clock_observe_times):
11962 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11965 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11968 * docs/gst/gstreamer-sections.txt:
11969 * gst/gstconfig.h.in:
11970 * gst/gstelement.h:
11972 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11973 whether we can use G_GNUC_PRINTF in other header files and at
11974 least check the printf format/arguments of debug messages and
11975 GST_ELEMENT_ERROR messages when the printf extension is not
11977 Replace more tabs with spaces in gstinfo.h and remove two spurious
11978 function declarations in GST_DISABLE_DEBUG part with macros.
11980 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
11982 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11983 More docs for the sync-message signal (mention that it is not
11984 emitted by default); log message structures of messages posted on
11987 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
11989 * gst/gst.c: (ensure_current_registry_forking):
11990 Use a pipe pair to receive status results from the forked child, and
11991 ignore the result from waitpid. Fixes #355499
11993 2006-10-02 Wim Taymans <wim@fluendo.com>
11995 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11996 (gst_ghost_pad_suite):
11999 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12002 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12004 2006-10-02 Edward Hervey <edward@fluendo.com>
12006 * docs/design/part-block.txt:
12007 Further explain the use of flushing on blocked pads.
12008 * docs/gst/gstreamer-sections.txt:
12009 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12010 (gst_pad_push_event):
12012 Added new GstPadFlag : GST_PAD_BLOCKING.
12013 Adds the notion of pads really blocking, which enables to properly
12014 handle FLUSH_START/FLUSH_STOP events on blocked pads.
12016 API: gst_pad_is_blocking()
12017 API: GST_PAD_IS_BLOCKING() macro
12018 API: GST_PAD_BLOCKING GstPadFlag
12020 2006-10-02 Wim Taymans <wim@fluendo.com>
12022 Patch by: mrcgran <mrc.gran at gmail dot com>
12024 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12025 Filter the proxied caps against the padtemplate if we have one.
12027 * gst/gstquery.c: (gst_query_new_segment):
12028 Add include for gstinfo.h so that compilation with
12029 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12031 2006-10-02 Wim Taymans <wim@fluendo.com>
12033 Patch by: Alessandro Decina <alessandro at nnva org>
12035 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12036 (gst_file_sink_set_location), (gst_file_sink_open_file),
12037 (gst_file_sink_close_file), (gst_file_sink_event),
12038 (gst_file_sink_render):
12039 Set file to NULL when closing filesink so that we can set a new filename
12040 in READY. Fixes #358613.
12042 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12044 Patch by: Alessandro Decina <alessandro at nnva org>
12046 * gst/gstevent.c: (_gst_event_copy):
12047 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12048 with event structures by setting the parent refcount address of the
12049 copied structure to the address of the refcount member of the newly
12050 copied event rather than the address of the refcount member of the
12051 original event. Fixes #358737.
12053 * tests/check/gst/gstevent.c: (GST_START_TEST):
12054 Unit test for the above.
12056 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12058 * docs/design/Makefile.am:
12059 Dist some more files.
12061 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12063 * tests/check/libs/controller.c: (GST_START_TEST),
12064 (gst_controller_suite):
12065 Add test for the previous fix; add some more tests
12066 for correct refcounting behaviour; fix a few leaks
12067 in test cases; call gst_controller_init() at start
12070 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12072 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12073 (gst_controller_set_from_list):
12074 Don't g_return_val_if_fail() on timed values with invalid timestamps
12075 inside a critical section without unlocking the mutex. Spotted by
12076 René Stadler. (#357617)
12077 Also, fix up refcounting properly: when returning an existing
12078 controller, we should increase the reference only once and not
12079 once per property and when trying to control a property again
12080 we should also increase the refcount.
12082 2006-09-29 Wim Taymans <wim@fluendo.com>
12084 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12085 * libs/gst/net/gstnettimeprovider.c:
12086 (gst_net_time_provider_thread):
12087 Stop reading commands when EOF as well.
12089 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12090 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12091 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12092 Unify description of the dump property.
12094 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12096 * tests/examples/manual/.cvsignore:
12097 OK, so it's actually cvsignore that needs changing. Stop laughing.
12099 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12101 * tests/examples/manual/Makefile.am:
12102 Gah, declare vars *before* using them
12104 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12106 * gst/gst.c: (init_pre), (scan_and_update_registry),
12107 (ensure_current_registry_nonforking),
12108 (ensure_current_registry_forking), (ensure_current_registry),
12109 (init_post), (gst_debug_help), (gst_deinit):
12110 * gst/gst_private.h:
12111 * gst/gstregistry.c: (gst_registry_finalize),
12112 (gst_registry_remove_features_for_plugin_unlocked),
12113 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12114 (gst_registry_scan_path),
12115 (_priv_gst_registry_remove_cache_plugins),
12116 (_priv_gst_registry_cleanup):
12117 * gst/gstregistry.h:
12118 Re-commit the registry changes, along with an extra fix:
12119 When a cached plugin is encountered at a different file path,
12120 update the stored path in the registry cache so that the parent
12121 process knows where it actually is now when it re-reads the registry
12122 cache. Fixes the thing that broke distcheck with the previous commit.
12124 * tests/check/Makefile.am:
12125 Clean up files named 'core' too when running make clean.
12127 * tests/examples/manual/Makefile.am:
12128 Set up a registry path for running these tests, and clean it properly
12131 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12134 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12135 want gmodule-no-export-2.0.pc instead so that we don't drag in
12136 --export-dynamic on every project that links to GStreamer.
12138 Also, make our export regex only match the start of symbols, rather
12139 than any symbol that contains '_gst' somewhere.
12141 * libs/gst/check/Makefile.am:
12142 The libgstcheck we build does however need export-dynamic, as it
12143 produces some symbols that don't match our _gst... style regex.
12146 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12148 * gst/gst.c: (init_pre), (scan_and_update_registry),
12149 (ensure_current_registry_nonforking),
12150 (ensure_current_registry_forking), (ensure_current_registry),
12151 (init_post), (gst_debug_help), (gst_deinit):
12152 * gst/gst_private.h:
12153 * gst/gstregistry.c: (gst_registry_finalize),
12154 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12155 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12156 (_gst_registry_cleanup):
12157 * gst/gstregistry.h:
12158 Revert previous change until I figure out why it breaks distcheck.
12160 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12162 * gst/gst.c: (init_pre), (scan_and_update_registry),
12163 (ensure_current_registry_nonforking),
12164 (ensure_current_registry_forking), (ensure_current_registry),
12165 (init_post), (gst_debug_help), (gst_deinit):
12167 Make init_pre and init_post take the full complement of GOptionFunc
12168 args so they can return useful GErrors. Make the registry updating
12171 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12172 ensure that the registry we're about to write out doesn't contain
12173 stale information about old-deleted plugin files.
12175 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12176 that deletion of plugin files is considered a registry change.
12178 * gst/gst_private.h:
12179 * gst/gstregistry.c: (gst_registry_finalize),
12180 (gst_registry_remove_features_for_plugin_unlocked),
12181 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12182 (gst_registry_scan_path),
12183 (_priv_gst_registry_remove_cache_plugins),
12184 (_priv_gst_registry_cleanup):
12185 * gst/gstregistry.h:
12186 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12187 by adding _priv prefix, so that they won't appear in the global
12188 symbol table. They still do atm though because of #318031. Move the
12189 prototypes to gst_private.h
12191 When removing a plugin, remove all features for that plugin too.
12194 2006-09-27 Wim Taymans <wim@fluendo.com>
12196 * docs/random/moving-plugins:
12197 Make it clear that the "compiled-in descriptions" really mean
12198 the element details.
12200 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12201 (gst_base_sink_wait_preroll):
12204 * docs/libs/gstreamer-libs-sections.txt:
12205 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12206 (gst_base_src_get_range), (gst_base_src_activate_push):
12207 * libs/gst/base/gstbasesrc.h:
12208 Added function to block while waiting for PLAYING, this function
12209 is used by live sources that block on the clock.
12210 API: gst_base_src_wait_playing()
12212 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12214 Patch by: Peter Kjellerstedt <pkj at axis com>
12217 gst-element-check.m4 is generated and should therefore be
12218 copied from the build dir rather than the source dir (#357593).
12219 'make distcheck' hasn't noticed this because we were disting
12220 the file as well, so stop doing that.
12222 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12224 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12225 Add some tests for gst_caps_intersect().
12227 * tools/gst-launch.c: (event_loop):
12228 Print all buffering percentages we get, even the 100% one.
12230 2006-09-26 Wim Taymans <wim@fluendo.com>
12232 * tools/gst-inspect.c: (print_element_properties_info),
12233 (print_signal_info):
12234 Fix printing of flags to match the look of enums.
12236 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12238 * gst/gstelementfactory.c:
12239 Fix typo in docs blurb.
12241 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12243 * gst/gsturi.c: (search_by_entry):
12244 Don't assert/crash here if a uri handler doesn't return any
12245 supported protocols. The list of protocols could be generated
12246 dynamically at runtime or at plugin registration, and an error
12247 in the underlying library shouldn't be fatal (#353301).
12249 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12252 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12253 (spotted by Peter Kjellerstedt).
12255 2006-09-23 Wim Taymans <wim@fluendo.com>
12257 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12259 * libs/gst/base/gstbasesrc.c:
12260 (gst_base_src_default_check_get_range), (gst_base_src_start),
12261 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12262 (gst_base_src_change_state):
12263 Match _start/_stop calls in the activate functions. Remove redundant
12264 _stop call from the state change function. Fixes #356910.
12265 Turn failure DEBUG into ERROR.
12267 2006-09-22 Wim Taymans <wim@fluendo.com>
12269 * docs/design/part-buffering.txt:
12270 * gst/gstmessage.c: (gst_message_new_buffering),
12271 (gst_message_parse_buffering):
12272 Update docs about buffering.
12274 * docs/design/part-trickmodes.txt:
12277 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12279 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12280 (gst_controller_new_list):
12281 Ref instances when returning them again (fixes #357180)
12283 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12285 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12286 Don't forget to release proxy lock when there's an error.
12288 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12291 Add extra initialisers for Caps things, to fix some plugin warnings
12294 2006-09-18 Wim Taymans <wim@fluendo.com>
12296 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12297 Also set template on the internal pad so that a getcaps from the
12298 target pad returns the template caps.
12300 2006-09-18 Wim Taymans <wim@fluendo.com>
12302 * gst/gstelement.c: (gst_element_post_message),
12303 (gst_element_dispose):
12304 Use _DEBUG_OBJECT some more.
12306 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12309 * tools/gst-launch.c: (main):
12310 If the toplevel element is not a GstPipeline, it must be put in a
12311 pipeline so that a bus and clock is selected.
12313 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12315 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12316 JITTER, RATE, and LATENCY query should be handled by the
12317 default case and not by the CONVERT query code.
12319 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12321 * gst/gstformat.c: (gst_format_register):
12322 Fix locking order (must take lock before using n_values).
12324 * gst/gstvalue.c: (gst_value_serialize_enum),
12325 (gst_value_deserialize_enum_iter_cmp),
12326 (gst_value_deserialize_enum):
12327 Fix serialisation/deserialisation of custom registered GstFormats.
12329 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12330 Unit test for custom format serialisation/deserialisation.
12332 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12334 * docs/pwg/building-boiler.xml:
12335 * plugins/elements/gstcapsfilter.c:
12336 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12339 2006-09-16 Edward Hervey <edward@fluendo.com>
12341 * libs/gst/base/gstbasetransform.c:
12342 (gst_base_transform_buffer_alloc):
12343 Check if requested caps are the same as the sinks caps IF
12344 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12346 This fixes the renegotiation issues stated in #352827.
12348 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12351 * docs/manual/advanced-autoplugging.xml:
12352 * tests/examples/Makefile.am:
12353 * tests/examples/manual/.cvsignore:
12354 * tests/examples/manual/Makefile.am:
12355 * tests/examples/manual/extract.pl:
12356 Extract the manual examples again like we used to do.
12359 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12361 * win32/common/config.h:
12364 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12367 Documents how to receive errors.
12369 2006-09-15 Wim Taymans <wim@fluendo.com>
12371 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12372 (event_loop), (main):
12373 Added some comments here and there.
12374 Post an application message when an interrupt is caught instead of doing
12375 an uncontrolled state change.
12376 Clean up the event loop.
12377 Handle buffering messages, pause/resume the pipeline.
12378 Make shutdown because of an interrupt more reliable.
12380 2006-09-15 Wim Taymans <wim@fluendo.com>
12382 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12383 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12384 (gst_base_sink_preroll_object):
12385 Make sure that our internal state is correct when we commit our state
12386 asynchronously. This solves a race where a state change to PLAYING
12387 could cause the sink to remain blocked in preroll in some situations.
12389 2006-09-15 Wim Taymans <wim@fluendo.com>
12391 * tools/gst-inspect.c: (print_element_properties_info),
12392 (print_signal_info):
12393 List flags as hex so it's easier to deal with.
12395 2006-09-15 Wim Taymans <wim@fluendo.com>
12397 * docs/libs/gstreamer-libs-sections.txt:
12398 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12399 (gst_base_sink_do_sync):
12400 * libs/gst/base/gstbasesink.h:
12401 Expose logic to wait for preroll so that subclasses such as audiosink
12402 can also use this method.
12403 API: gst_base_sink_wait_preroll()
12405 2006-09-15 Wim Taymans <wim@fluendo.com>
12407 * gst/gstobject.c: (gst_object_set_parent):
12408 * gst/gstpipeline.c: (do_pipeline_seek):
12409 Small cleanups in docs and code.
12411 * gst/gstsegment.c: (gst_segment_clip):
12412 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12413 if stop == start and start is in the segment, no clipping should be
12414 done. Also add a test for this.
12416 2006-09-15 Wim Taymans <wim@fluendo.com>
12418 * docs/design/part-buffering.txt:
12419 * docs/gst/gstreamer-sections.txt:
12420 * gst/gstmessage.c: (gst_message_new_buffering),
12421 (gst_message_parse_buffering):
12422 * gst/gstmessage.h:
12423 Added methods to create and parse BUFFERING messages.
12424 Added preliminary docs about buffering.
12425 API: gst_message_new_buffering
12426 API: gst_message_parse_buffering
12428 2006-09-06 Wim Taymans <wim@fluendo.com>
12431 Update documentation.
12433 * gst/gstelement.c: (gst_element_class_init),
12434 (gst_element_release_request_pad), (gst_element_set_clock),
12435 (gst_element_get_index), (gst_element_add_pad),
12436 (gst_element_remove_pad), (gst_element_get_random_pad),
12437 (gst_element_send_event), (gst_element_get_query_types),
12438 (gst_element_query), (gst_element_post_message),
12439 (gst_element_message_full), (gst_element_continue_state),
12440 (gst_element_lost_state), (gst_element_save_thyself),
12441 (gst_element_restore_thyself):
12442 Documentation updates.
12443 Rename last bit of the new-pad -> pad-added signal rename.
12444 Fix the case where an element query would only work if the source
12446 Avoid some useless type checking in message handling.
12451 Documentation updates.
12453 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12455 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12456 add an INFO line for when we actually update the fd
12458 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12463 === release 0.10.10 ===
12465 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12468 releasing 0.10.10, "Pais"
12470 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12472 * docs/manual/advanced-position.xml:
12473 Fix typo in sample code.
12475 2006-09-05 Wim Taymans <wim@fluendo.com>
12477 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12478 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12479 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12480 * libs/gst/net/gstnetclientclock.h:
12481 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12482 * libs/gst/net/gstnettimepacket.h:
12483 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12484 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12485 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12486 * libs/gst/net/gstnettimeprovider.h:
12487 Make stuff compile on windows. Fixes #345295.
12489 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12491 * gst/gst.c: (ensure_current_registry_forking):
12492 Print better details when child was terminated by signal.
12494 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12496 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12497 Print a warning rather than g_assert() if a plugin feature
12498 is a URI handler but returns no protocols (#353976).
12500 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12502 * docs/random/moving-plugins:
12505 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12507 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12508 Fix locking order, handle NULL function values properly.
12513 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12514 Initialise variable before using it and fix debug statement to
12515 print the address of the function rather than the address of the
12516 variable on the stack holding the address of the function.
12518 2006-09-01 Wim Taymans <wim@fluendo.com>
12520 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12521 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12522 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12523 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12524 (gst_ghost_pad_parent_unset),
12525 (gst_ghost_pad_internal_do_activate_push),
12526 (gst_ghost_pad_internal_do_activate_pull),
12527 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12528 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12529 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12530 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12531 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12532 (gst_ghost_pad_new_no_target_from_template),
12533 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12535 Avoid needless typechecking in macros.
12536 Since the internal pad is always present and never changes, there is
12537 no need to locking or ref when retrieving it.
12538 Improve debugging a bit.
12539 Handle link errors when setting the target. Fixes #341029.
12541 2006-09-01 Wim Taymans <wim@fluendo.com>
12543 * docs/libs/gstreamer-libs-sections.txt:
12544 * docs/plugins/gstreamer-plugins-sections.txt:
12545 Fix docs some more.
12547 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12548 (gst_collect_pads_event):
12549 * libs/gst/base/gstcollectpads.h:
12550 Documentation updates.
12551 Free queued buffer when removing a pad.
12553 2006-08-31 Michael Smith <msmith@fluendo.com>
12555 * gst/gstutils.c: (gst_element_link_pads),
12556 (gst_element_link_pads_filtered):
12557 Ensure that we set a capsfilter to NULL if we failed to link it
12558 when doing filtered linking, to avoid criticals.
12560 No need to check for unreffing srcpad, which is explicly NULLed
12561 above (a trivial code cleanup).
12563 2006-08-31 Wim Taymans <wim@fluendo.com>
12565 * docs/design/part-gstghostpad.txt:
12566 Update ascii art in documentation.
12568 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12569 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12570 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12571 (gst_ghost_pad_internal_do_activate_push),
12572 (gst_ghost_pad_internal_do_activate_pull),
12573 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12574 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12575 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12576 (gst_ghost_pad_set_target):
12577 Small cleanups and leak fixes.
12578 Remove some checks now that the internal pad is never NULL.
12579 Fix the case where linking pads without a target would create nasty
12580 criticals. Fixes #341029.
12581 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12582 value of _set_target().
12584 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12585 (gst_ghost_pad_suite):
12586 Some more tests for creating and linking untargeted ghostpads.
12588 2006-08-31 Edward Hervey <edward@fluendo.com>
12590 * docs/gst/gstreamer-sections.txt:
12591 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12592 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12593 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12594 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12595 (gst_ghost_pad_new_from_template),
12596 (gst_ghost_pad_new_no_target_from_template):
12597 * gst/gstghostpad.h:
12598 Refactored *_new() functions.
12599 Templates are now used as a g_object_new() parameter.
12600 Use template in _do_getcaps() if we don't have a target.
12601 Small documentation cleanups.
12602 Added two new constructors:
12603 gst_ghost_pad_new_from_template()
12604 gst_ghost_pad_new_no_target_from_template()
12605 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12606 (gst_ghost_pad_suite):
12607 Added tests for new ghostpad instanciation functions.
12609 API additions: gst_ghost_pad_new_from_template,
12610 gst_ghost_pad_new_no_target_from_template
12612 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12614 * docs/random/ensonic/profiling.txt:
12615 Ideas about qos profiling.
12617 2006-08-29 Wim Taymans <wim@fluendo.com>
12619 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12623 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12626 Improve and detypofy docs.
12628 * tests/check/Makefile.am:
12629 * tests/check/gst/.cvsignore:
12630 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12631 Add a basic test suite for GstXML.
12633 2006-08-29 Wim Taymans <wim@fluendo.com>
12635 * gst/gstelement.c: (activate_pads), (clear_caps),
12636 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12637 Clear the pad caps when the element shut down all of the pads and
12638 is not streaming data that could modify the caps.
12641 2006-08-28 Michael Smith <msmith@fluendo.com>
12643 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12644 Revert previous change; I misunderstood single-segment mode.
12646 2006-08-28 Michael Smith <msmith@fluendo.com>
12648 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12649 Unset DISCONT on buffers when using single-segment mode.
12651 2006-08-28 Wim Taymans <wim@fluendo.com>
12653 * gst/gstcaps.c: (gst_caps_merge_structure):
12655 Fix docs and indentation again.
12657 * tests/check/gst/gstquery.c: (GST_START_TEST):
12658 Fix leak in tests and add some more tests.
12660 2006-08-28 Edward Hervey <edward@fluendo.com>
12662 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12663 Inform GstSegment of the last stop position in order for the current
12664 segment to have a proper duration if it doesn't have a specific stop
12665 position from which a duration could be calculated.
12666 This bug was noticeable when a non-flushing, non-update new segment was
12667 followed by another segment (all buffers from the new segment were being
12670 2006-08-28 Wim Taymans <wim@fluendo.com>
12672 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12673 Small comment update.
12675 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12676 (gst_identity_transform_ip):
12677 Drop-probability is broken, mention this in the code with a
12678 FIXME and also in the property description.
12679 Make silent also be silent about the drop messages.
12681 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12683 * docs/manual/appendix-win32.xml:
12684 Remove mention of popt, we don't depend on that any
12685 longer (#353136). Add some comments pointing out that
12686 this section is slightly outdated.
12688 2006-08-28 Wim Taymans <wim@fluendo.com>
12690 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12692 * gst/gstquery.c: (gst_query_new_segment):
12693 * tests/check/gst/gstquery.c: (GST_START_TEST):
12694 Initialize variables when creating a new segment query.
12697 2006-08-28 Wim Taymans <wim@fluendo.com>
12699 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12701 * gst/gstelement.c: (gst_element_get_bus):
12702 * tests/check/gst/gstelement.c: (GST_START_TEST):
12703 Check for NULL before _reffing the bus. Fixes #353122.
12705 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12707 * docs/manual/basics-bus.xml:
12708 Docs update: fix wrong callback return value explanation; add
12709 some lines about the implicit relationship between main loop
12710 and main context; remove duplicate main loop variable declaration.
12712 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12714 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12715 Don't leak caps in unit test; add a few more simple
12718 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12720 * docs/gst/gstreamer-sections.txt:
12721 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12722 (gst_caps_structure_is_subset), (gst_caps_merge),
12723 (gst_caps_merge_structure):
12725 * libs/gst/base/gstbasetransform.c:
12726 (gst_base_transform_transform_caps):
12727 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12728 implement caps merging (fixes #352580)
12730 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12732 * tools/Makefile.am:
12733 * tools/gst-plot-timeline.py:
12734 add debug-log plotting developer tool (#340674)
12736 2006-08-23 Wim Taymans <wim@fluendo.com>
12738 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12739 (gst_pad_stop_task):
12740 Improve debugging for task functions.
12742 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12743 (gst_task_start), (gst_task_pause), (gst_task_join):
12744 Make sure that the task function started and finished after a
12746 Don't try to push the task function on the threadpool multiple
12748 Improve the g_warning message with some useful suggestions
12749 about how to fix the problem.
12751 2006-08-23 Wim Taymans <wim@fluendo.com>
12753 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12754 Handle RESYNC correctly in _proxy_getcaps.
12756 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12758 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12759 (gst_xml_parse_memory), (gst_xml_get_element):
12760 Chain up to parent class in dispose function and also
12761 unref the elements in the toplevel_elements GList.
12762 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12763 Always return a reference in gst_xml_get_element() rather
12764 than only sometimes.
12766 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12767 Don't leak GstXml object.
12769 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12771 * docs/gst/gstreamer-sections.txt:
12772 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12775 * libs/gst/base/gstbasetransform.c:
12776 (gst_base_transform_transform_caps):
12777 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12780 2006-08-21 Edward Hervey <edward@fluendo.com>
12782 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12783 Implement GObject::dispose virtual method in GstXML so we can free the
12784 top_elements GList.
12786 2006-08-21 Wim Taymans <wim@fluendo.com>
12788 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12789 (gst_buffer_create_sub):
12790 Copy duration/offset_end/caps when creating a subbuffer of the
12792 Make the subbuffer read-only when we make the metadata writable for
12793 now. Fixes #351768.
12795 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12796 Added check for metadata copy when creating subbuffers.
12798 2006-08-21 Edward Hervey <edward@fluendo.com>
12800 * libs/gst/base/gstbasetransform.c:
12801 (gst_base_transform_buffer_alloc):
12802 Only call downstream buffer_alloc if transform element is passthrough
12803 or always_in_place. Closes #350449.
12805 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12808 ChangeLog surgery to add comments to previous changes
12810 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12815 * gst/gstpad.c: (gst_pad_set_active):
12816 Be more verbose in the log
12818 * libs/gst/base/gstbasetransform.c:
12819 (gst_base_transform_transform_caps):
12820 Simplify caps to get rid of duplicates, fixes #345444
12822 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12826 Use these optimizations only internally.
12828 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12830 * gst/gstvalue.c: (gst_value_compare_list),
12831 (gst_value_compare_fraction_range),
12832 (gst_value_intersect_fraction_fraction_range),
12833 (gst_value_intersect_fraction_range_fraction_range),
12834 (gst_value_subtract_fraction_fraction_range),
12835 (gst_value_subtract_fraction_range_fraction_range),
12836 (gst_value_get_compare_func), (gst_value_compare),
12837 (gst_value_compare_with_func):
12839 Saves the expensive lookup of the compare function in many cases
12842 2006-08-18 Edward Hervey <edward@fluendo.com>
12844 * tests/check/gst/gstinfo.c: (gst_info_suite):
12845 Disable test that require gstdebug if it wasn't built in core.
12847 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12849 * docs/random/ensonic/logging.txt:
12852 * gst/gstinfo.c: (gst_debug_log_default):
12853 reorder fields, save some columns, add optional color codes for log
12856 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12858 * docs/random/ensonic/logging.txt:
12859 add ideas about making the logs a bit more useful
12861 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12863 * docs/pwg/advanced-events.xml:
12864 * docs/pwg/titlepage.xml:
12865 Update for 0.10 API (#340627). Add myself
12868 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12870 * docs/libs/gstreamer-libs-docs.sgml:
12871 * docs/libs/gstreamer-libs-sections.txt:
12872 * libs/gst/check/gstbufferstraw.c:
12873 Make gstcheck stuff show up in docs (still needs to
12874 be documented properly though).
12876 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12878 * docs/gst/gstreamer-sections.txt:
12880 * gst/gst.c: (init_post):
12881 * gst/gst_private.h:
12882 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12884 * gst/gstquery.c: (gst_query_new_position),
12885 (gst_query_set_position), (gst_query_parse_position),
12886 (gst_query_new_duration), (gst_query_set_duration),
12887 (gst_query_parse_duration), (gst_query_new_convert),
12888 (gst_query_set_convert), (gst_query_parse_convert),
12889 (gst_query_new_segment), (gst_query_set_segment),
12890 (gst_query_parse_segment), (gst_query_new_seeking),
12891 (gst_query_set_seeking), (gst_query_parse_seeking):
12892 Add internal helpers for pre-registering quarks from static strings
12893 and using the quark values directly instead of looking them up when
12894 creating and parsing queries. Can be used for event construction too.
12897 2006-08-16 Wim Taymans <wim@fluendo.com>
12902 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12904 * gst/gstutils.c: (gst_util_set_value_from_string):
12905 Fix memleak (#351502).
12907 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12908 Add unit test for most of gst_util_set_value_from_string()
12909 (not that one would want to encourage use of this function).
12911 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12913 * libs/gst/check/gstcheck.h:
12914 Use const gchar * variables in fail_unless_equals_string
12915 macro to avoid compiler warnings (and don't use tabs for
12918 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12920 * tools/gst-launch.c: (print_tag):
12921 More space on the left for the tag names, to cater
12922 for the 'extended comment' tag (not touching the
12923 string for the first line since it's translated).
12925 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12927 * libs/gst/check/gstcheck.h:
12928 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12929 print something when they fail.
12931 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12933 * docs/gst/gstreamer-sections.txt:
12934 * gst/gsttaglist.c: (_gst_tag_initialize):
12935 * gst/gsttaglist.h:
12936 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12937 Also change merge function for GST_TAG_COMMENT to
12940 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12942 * gst/gstinfo.c: (gst_debug_print_object):
12943 Make GST_PTR_FORMAT print messages as well.
12945 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12946 (GST_START_TEST), (gst_info_suite):
12949 2006-08-14 Edward Hervey <edward@fluendo.com>
12951 * gst/gstelementfactory.c: (gst_element_register):
12952 If the GstElementClass doesn't have a GstElementDetails with all fields
12953 filled up correctly (longname, description AND author), then error out
12954 nicely instead of crashing.
12956 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12958 * gst/gststructure.c:
12959 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12962 Expand on the difference between arrays and lists as we use them.
12964 2006-08-14 Wim Taymans <wim@fluendo.com>
12966 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12967 If the parent state change function failed, don't assume we can safely
12968 stop the source, this will be done when the pads are deactivated.
12970 2006-08-14 Wim Taymans <wim@fluendo.com>
12973 * gst/gsttask.c: (gst_task_join):
12976 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12977 (gst_pad_stop_task):
12978 When pad (de)activation failed for some reason, restore the old
12979 activation mode and set the pad to flushing instead of assuming the
12980 pad is deactivated.
12981 If the _task_join() failed, reinstall the task on the pad so that it can
12982 be stopped later and return an error.
12984 2006-08-11 Andy Wingo <wingo@pobox.com>
12987 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12988 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12989 is only for users of API that don't want to see deprecated
12990 functions in the headers; people that want to compile out
12991 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12992 CFLAGS. Fixes the build of multifdsink, or will soon..
12994 2006-08-11 Wim Taymans <wim@fluendo.com>
12996 * docs/gst/gstreamer-sections.txt:
12997 Add GstClockClass vmethod docs.
13000 Mark #endif with comment for associated #if
13002 * gst/gstclock.c: (gst_clock_id_wait):
13004 Add vmethod wait_jitter to avoid an unneeded _get_time() for
13005 most clock implementations.
13007 Flesh out docs about resolution methods.
13008 API: GstClockClass::wait_jitter
13010 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13011 (gst_system_clock_async_thread),
13012 (gst_system_clock_id_wait_jitter_unlocked),
13013 (gst_system_clock_id_wait_jitter):
13014 Use base class wait_jitter variant for improved performance
13015 due to less clock polling.
13017 2006-08-11 Edward Hervey <edward@fluendo.com>
13019 * gst/gst.c: (gst_init_check), (init_post):
13020 Set gst as being initialized before scanning/updating the registry,
13021 since there might be my python plugin loader that calls gst_init() and
13022 we don't want to loop back in.
13025 2006-08-11 Wim Taymans <wim@fluendo.com>
13027 * docs/design/part-qos.txt:
13028 Bring docs in line with the code. Mostly the sign of the jitter was
13029 wrong in the docs. Fixes #349943.
13032 Fix the docs for the jitter.
13034 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13035 (gst_event_parse_tag), (gst_event_new_buffer_size),
13036 (gst_event_parse_buffer_size), (gst_event_parse_qos),
13037 (gst_event_new_seek), (gst_event_parse_seek),
13038 (gst_event_new_navigation):
13039 Make sure the GstStructure has no parent when creating custom
13041 Add some more argument checking so that we avoid 0.0 rates.
13042 Flesh out the docs for the QoS event some more.
13044 2006-08-11 Wim Taymans <wim@fluendo.com>
13046 * docs/gst/gstreamer-sections.txt:
13047 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13048 (ensure_current_registry_forking), (ensure_current_registry),
13049 (parse_one_option), (parse_goption_arg), (gst_deinit),
13050 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13053 Added API and command line option to disable registry forking in
13054 addition to the environment variable.
13055 Constify some static arrays.
13056 Added some more debug.
13057 Don't deinit twice.
13058 API: gst_registry_fork_is_enabled()
13059 API: gst_registry_fork_set_enabled()
13060 API: --gst-disable-registry-fork command line option
13063 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13065 * gst/gst.c: (gst_init):
13066 Fix typo in error message.
13068 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13070 * libs/gst/controller/gstcontroller.h:
13071 fix ABI size-correction
13073 * tests/check/libs/gdp.c: (gst_dp_suite):
13074 make tests that use deprecated API conditional
13076 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13078 * docs/libs/gstreamer-libs-sections.txt:
13079 * libs/gst/controller/gstcontroller.c:
13080 (_gst_controller_get_property), (_gst_controller_set_property),
13081 (_gst_controller_init), (_gst_controller_class_init):
13082 * libs/gst/controller/gstcontroller.h:
13083 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13084 (gst_object_set_control_rate):
13085 API: add gst_object_{s,g}et_control_rate(), add private data section,
13088 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13089 * libs/gst/dataprotocol/dataprotocol.h:
13090 add deprecation guards to make gtk-doc happy and allow disabling cruft
13092 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13094 * tests/check/Makefile.am:
13095 * tests/check/gst/.cvsignore:
13096 Let's enable the new unit test as well.
13098 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13101 * docs/gst/gstreamer-sections.txt:
13102 * gst/gstconfig.h.in:
13103 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13104 (_gst_info_printf_extension_ptr),
13105 (_gst_info_printf_extension_segment):
13106 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13107 register that lets us easily dump GstSegments into debug
13110 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13111 (info_segment_format_printf_extension), (gst_info_suite):
13112 Add simple unit test that logs a bunch of different segments (not
13113 valgrinded at the moment because of leaks in
13114 gst_debug_add_log_function).
13116 2006-08-09 Edward Hervey <edward@fluendo.com>
13118 * libs/gst/base/gstbasetransform.c:
13119 (gst_base_transform_buffer_alloc):
13120 Even if we can't figure out the proper format to request downstream,
13121 call buffer_alloc() downstream with the input parameters without setting
13122 the caps on the srcpad. This will force negotiation in the chain
13126 2006-08-08 Edward Hervey <edward@fluendo.com>
13128 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13129 Unlinking from a pad without a target is now a perfectly valid case
13130 which should NOT raise an assertion.
13131 This case would happen if a linked ghostpad its target set to NULL after
13132 it was previously linked.
13134 2006-08-08 Edward Hervey <edward@fluendo.com>
13136 * tests/check/libs/gdp.c:
13137 Also comment out the test (see below).
13139 2006-08-08 Edward Hervey <edward@fluendo.com>
13141 * tests/check/libs/gdp.c: (gst_dp_suite):
13142 Use the architecture information from config.h and not gcc macros
13143 in order to properly disable a test that fails on PPC64.
13145 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13147 * gst/gstelement.c: (gst_element_remove_pad):
13148 Don't crash printing the warning if the pad has no parent.
13150 2006-08-02 Wim Taymans <wim@fluendo.com>
13152 * libs/gst/dataprotocol/dataprotocol.c:
13153 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13154 (gst_dp_crc), (gst_dp_header_payload_length),
13155 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13156 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13157 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13158 (gst_dp_event_from_packet), (gst_dp_validate_header),
13159 (gst_dp_validate_payload):
13160 Make debug category static
13161 Constify the crc table.
13162 Do some more arg checking in public functions.
13163 Fix some docs and do some small cleanups.
13165 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13166 Add some more checks to see if GDP deals with bogus input.
13168 2006-07-31 Wim Taymans <wim@fluendo.com>
13170 * gst/gstvalue.c: (gst_value_compare_list):
13171 Fix GstValueList comparison code. Fixes #347293.
13173 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13174 Check to test GstValueList comparison.
13176 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13178 * gst/gstelementfactory.c: (gst_element_factory_create):
13179 Remove unnecessary ref/unref pair
13181 * gst/parse/grammar.y:
13182 Make sure to free the parse buffer on all code paths.
13183 Move a g_free up to the error handler where it's easier to see.
13185 * tests/check/gst/gstevent.c: (test_event):
13186 Extending timeout for downstream travelling events to 10 seconds to
13187 hopefully avoid intermittent failure on the buildbots.
13189 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13190 Don't manually set the state of the src element - it will happen as a
13191 natural consequence of the pipeline changing state, and that way it
13192 will do it in the right order too.
13194 2006-07-31 Wim Taymans <wim@fluendo.com>
13196 * libs/gst/base/gstbasetransform.c:
13197 (gst_base_transform_buffer_alloc):
13198 Use OBJECT_LOCK and refcounting to get the pad caps in the
13199 buffer_alloc function because the caps could change while we are
13200 busy with them. Fixes #349105
13202 2006-07-31 Wim Taymans <wim@fluendo.com>
13204 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13205 Protect _PAD_CAPS with OBJECT_LOCK.
13207 2006-07-31 Wim Taymans <wim@fluendo.com>
13209 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13210 (gst_pad_get_property), (gst_pad_activate_pull),
13211 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13212 (gst_pad_set_activate_function),
13213 (gst_pad_set_activatepull_function),
13214 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13215 (gst_pad_set_getrange_function),
13216 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13217 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13218 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13219 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13220 (gst_pad_set_acceptcaps_function),
13221 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13222 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13223 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13224 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13225 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13226 (gst_pad_configure_sink), (gst_pad_configure_src),
13227 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13228 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13229 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13230 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13231 (gst_pad_send_event):
13232 Use _DEBUG_OBJECT when it makes sense.
13233 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13234 Small cleanups and code reflows.
13235 Avoid caps refcounting in _accept_caps.
13236 Refactor alloc_buffer so that the code performed on the peer is in a
13237 separate function. Also if the pad does not implement a buffer alloc
13238 function, we should still check if the pad is flushing before falling
13239 back to the default allocator.
13241 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13243 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13244 Make all uses of identity and fakesink have silent=true to avoid
13245 serialising every passing data structure, which is breaking tests
13246 on FC4 for some unknown reason.
13248 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13250 * gst/parse/Makefile.am:
13251 * gst/parse/grammar.y:
13252 * gst/parse/parse.l:
13253 Reverted previous patch as it required to bump the flex dependency to
13254 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13256 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13258 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13260 * gst/parse/Makefile.am:
13261 * gst/parse/grammar.y:
13262 * gst/parse/parse.l:
13263 push & pop the state of the lexer for reentrant use case
13266 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13268 * libs/gst/base/gstbasesrc.h:
13269 Note in the docs that the ::newsegment vfunc is not actually used by
13272 2006-07-28 Wim Taymans <wim@fluendo.com>
13274 * libs/gst/base/gstcollectpads.c:
13275 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13276 (gst_collect_pads_clear), (gst_collect_pads_flush),
13277 (gst_collect_pads_event), (gst_collect_pads_chain):
13278 When flushing a pad, also clear the queued buffer so that we don't
13279 accidentally use it when we shouldn't.
13280 Fix leaks by inreffing incomming buffer.
13281 Flush out queued buffers in case of errors.
13284 2006-07-28 Wim Taymans <wim@fluendo.com>
13286 * docs/random/phonon-gst:
13287 Random notes about a Phonon backend.
13289 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13291 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13293 * tests/check/libs/gdp.c: (gst_dp_suite):
13294 Take a whack at fixing the ppc compile using a different define to
13295 disable the broken test.
13297 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13298 Remove excess g_print()
13300 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13302 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13303 Oops, meant to uncomment this line too to dampen the noise a bit.
13305 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13307 * gst/parse/grammar.y:
13308 * gst/parse/parse.l:
13309 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13310 (GST_START_TEST), (parse_suite):
13311 Fix some of the leaks exposed by extending the parse-launch testsuite,
13312 and move the 3 I can't figure out into a separate test that won't run
13313 the pipelines unless the appropriate line is uncommented.
13315 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13317 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13318 Requesting 0 bytes before the end of the file should result in
13319 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13322 2006-07-27 Wim Taymans <wim@fluendo.com>
13324 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13325 Fix useless assert, a uint is always positive.
13327 * gst/gststructure.c: (gst_structure_nth_field_name),
13328 (gst_structure_foreach), (gst_structure_map_in_place):
13329 Check input arguments for public functions to avoid obvious crashes.
13331 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13332 * plugins/elements/gstfakesink.h:
13333 Do less useless typechecking.
13335 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13337 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13338 Do not use mmap() by default since there are a number of error
13339 conditions that we would like to handle in a non-fatal way that
13340 will result in a SIGBUS if we use mmap(). Examples: external
13341 devices (USB harddrive, portable music player) being unplugged
13342 while in use; file on mounted CD/DVD that can't be read because
13343 the medium is partly damaged. Fixes #348455 and #348475.
13345 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13348 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13349 rates are a gdouble
13351 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13353 * gst/gstregistry.c:
13354 Move big documentation comment into class section header, so that it
13355 appears in the API docs.
13357 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13359 * docs/gst/gstreamer-sections.txt:
13360 Oops. Commit the docs additions too for new API.
13361 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13363 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13365 * gst/gststructure.c: (gst_structure_id_set),
13366 (gst_structure_id_set_valist):
13367 * gst/gststructure.h:
13368 Add API for setting values into structures without performing
13369 a quark lookup, if the appropriate quark is already known.
13371 API: gst_structure_id_set
13372 API: gst_structure_id_set_valist
13374 * gst/parse/grammar.y:
13375 * gst/parse/parse.l:
13376 Remove some dead code shown by the coverage information.
13377 Don't throw a critical g_warning when encountering a syntax error,
13378 just warn and let the normal error path handle it.
13380 * plugins/elements/gstelements.c:
13381 Bump the rank of filesink up to PRIMARY so that it is preferred over
13382 gnomevfssink for file:// sink uri's
13384 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13385 (GST_START_TEST), (run_delayed_test),
13386 (gst_parse_test_element_base_init),
13387 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13388 (gst_parse_test_element_change_state),
13389 (gst_register_parse_element), (parse_suite):
13390 Beef up the tests for parse syntax to check that more error cases
13391 fail as they are supposed to. Increases the test coverage a bit.
13393 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13395 * docs/manual/basics-elements.xml:
13396 Fix gst_element_link() example.
13399 Mention in API docs that one should usually gst_bin_add()
13400 elements to a bin or pipeline before doing the linking.
13402 2006-07-26 Wim Taymans <wim@fluendo.com>
13404 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13405 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13406 Avoid function call for known types by keeping the buffer and
13407 subbuffer GType global.
13409 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13410 Random silly optimisations in read() path.
13412 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13414 * tools/gst-launch.c: (main):
13415 If the top-level of the parse is a normal bin, it doesn't do the
13416 right logic to run as a top-level element, so place it inside a
13419 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13421 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13422 Remove superfluous g_object_notify() calls, GObject does
13423 that for us automatically.
13425 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13428 on Win32, use dllspec to export the debug category symbols
13430 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13432 * gst/gsttaglist.c: (_gst_tag_initialize):
13433 Allow more than one GST_TAG_IMAGE per taglist.
13435 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13437 * gst/gstminiobject.c:
13439 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13440 (gst_fd_src_create):
13441 log recurring events at LOG level
13442 add more debug for when the fd gets set
13444 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13446 * gst/gstparse.c: (gst_parse_launch):
13447 Also remove reentrance checks if flex is MT safe (#348179)
13448 Fix my empty ChangeLog entry below
13450 2006-07-21 Andy Wingo <wingo@pobox.com>
13452 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13454 * libs/gst/check/Makefile.am
13455 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13456 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13457 * libs/gst/check/gstbufferstraw.h:
13458 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13459 functions, thus proving I am still a GStreamer haxor. OK I wrote
13460 them a long time ago, but anyways.
13462 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13465 * gst/gstparse.c: (gst_parse_launch):
13466 Check for flex version and omit mutex if we have a MT save flex
13469 2006-07-21 Wim Taymans <wim@fluendo.com>
13471 * gst/gstparse.c: (gst_parse_launch):
13472 Protect recursive calls to _parse with a recursive mutex
13475 2006-07-21 Wim Taymans <wim@fluendo.com>
13477 * tests/check/gst/gstpad.c: (GST_START_TEST):
13480 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13482 * gst/gstparse.c: (gst_parse_launch):
13483 Do not hang on recursive usage of gst_parse_launch()
13485 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13487 * gst/gsttaglist.c:
13488 Add some more docs, comments and FIXME 0.11s here and there
13489 and also fix some typos.
13491 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13493 * gst/gstsegment.h:
13494 Convert tabs to spaces for better readability.
13496 2006-07-20 Edward Hervey <edward@fluendo.com>
13498 * tests/check/libs/gdp.c: (gst_dp_suite):
13499 the test_buffer test fails at line 140 on ppc64 at the following
13501 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13502 GST_BUFFER_FLAG_IN_CAPS),
13503 "GST_BUFFER_IN_CAPS flag should have been copied !");
13504 See bug #348114 for more details.
13506 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13508 * docs/pwg/advanced-scheduling.xml:
13510 Fix typos (#348000).
13512 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13514 * docs/pwg/intro-basics.xml:
13515 Fix wrong links (#347927).
13517 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13519 * gst/gstregistry.h:
13520 * gst/gstregistryxml.c: (load_feature),
13521 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13522 * win32/common/config.h:
13523 make --disable-index work (#342564)
13525 2006-07-18 Wim Taymans <wim@fluendo.com>
13527 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13531 The attached patch adds two missing defines to gsttrace.h when tracing
13532 is disabled. It also corrects one existing define.
13535 2006-07-17 Wim Taymans <wim@fluendo.com>
13537 * docs/gst/gstreamer-sections.txt:
13538 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13540 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13541 Add two functions to check and change the SIGSEGV behaviour
13542 when loading plugins.
13543 Don't mess with the SIGSEGV handler when we were told not to.
13545 API: gst_segtrap_is_enabled
13546 API: gst_segtrap_set_enabled
13548 2006-07-14 Wim Taymans <wim@fluendo.com>
13550 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13551 * tests/check/elements/filesrc.c: (GST_START_TEST):
13552 Revert fix for regression in #347408 after release.
13554 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13556 Patch by: Antoine Tremblay <hexa00 at gmail com>
13558 * gst/gstutils.c: (gst_element_unlink):
13559 Free iterator when done (#347311).
13561 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13562 And add a test case for this.
13564 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13567 Bump nano back to CVS
13569 === release 0.10.9 ===
13571 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13574 releasing 0.10.9, "On the road again"
13576 2006-07-13 Wim Taymans <wim@fluendo.com>
13578 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13579 * tests/check/elements/filesrc.c: (GST_START_TEST):
13580 Revert pull-0 fix for release. Disable check. Fixes #347408.
13582 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13584 * libs/gst/dataprotocol/dataprotocol.c:
13585 (gst_dp_event_from_packet_1_0):
13586 Fixes #347337: failure to deserialize event packets with
13587 empty payload (only event type)
13589 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13592 do not install a .c file in the header directory
13594 2006-07-13 Edward Hervey <edward@fluendo.com>
13596 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13597 GhostPad no longer implicitely use the padtemplates of the targets.
13600 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13602 * gst/gstvalue.c: (gst_value_compare_list),
13603 (gst_value_compare_array), (_gst_value_initialize):
13604 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13605 Make GstValueArray comparison be order dependent as designed.
13606 Add checks for value lists and value array comparisons.
13609 2006-07-11 Edward Hervey <edward@fluendo.com>
13611 * gst/gstbin.c: (activate_pads),
13612 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13613 (gst_bin_change_state_func):
13614 (de)activate src pads before calling state_change on the childs.
13615 This is to avoid the case where a src ghostpad is blocked (holding the
13616 stream lock), which would block the deactivation of the ghostpad's
13618 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13619 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13620 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13621 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13622 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13623 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13624 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13625 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13626 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13627 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13628 (gst_ghost_pad_class_init),
13629 (gst_ghost_pad_internal_do_activate_push),
13630 (gst_ghost_pad_internal_do_activate_pull),
13631 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13632 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13633 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13634 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13635 GhostPads now create their internal GstProxyPad at creation (and not
13636 when they're linked, as it was being done previously).
13637 The internal and target pads are linked straight away.
13638 The data will also travel through the other pad in order to make
13639 pad blocking and probes non-hackish (the probe/block now really happens
13640 on the GhostPad and not on the target).
13641 * gst/gstpad.c: (gst_pad_set_blocked_async),
13642 (gst_pad_link_prepare), (gst_pad_push_event):
13643 Remove previous ghostpad cruft.
13644 * gst/gstutils.c: (gst_pad_add_data_probe),
13645 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13646 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13647 (gst_pad_remove_buffer_probe):
13648 Remove previous ghost pad cruft.
13649 Added more detailed debug statements.
13650 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13651 Fix the testsuite for refcounting changes.
13652 The comments about who has references were correct, but the refcount
13653 being checked wasn't the same (!?!).
13657 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13659 * docs/gst/gstreamer-sections.txt:
13660 * gst/gstconfig.h.in:
13661 More docs for configuration options, add docs to gtk-doc.
13663 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13666 * gst/gstconfig.h.in:
13667 * win32/common/config.h:
13668 Fix build when disabling tracing (fixes #344016). Also start to document
13669 the defines that disable the sub-systems.
13671 2006-07-10 Edward Hervey <edward@fluendo.com>
13673 * gst/gst.c: (ensure_current_registry_forking):
13674 let's make valgrind happy...
13676 2006-07-09 Wim Taymans <wim@fluendo.com>
13678 * gst/gstelement.c: (activate_pads),
13679 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13680 Better pad activation code: Reset the collect value too on resync.
13683 2006-07-09 Wim Taymans <wim@fluendo.com>
13685 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13686 (gst_pad_activate_push):
13687 Use some more macros where it makes sense.
13688 Allow pad mode switching instead of asserting. When a pad
13689 is activated in one mode and we activate it in another,
13690 deactivate it first before activating it in a different mode.
13693 2006-07-08 Andy Wingo <wingo@pobox.com>
13695 * tools/gst-launch.c (main): Handle err == NULL.
13697 * gst/gst.c (init_post, ensure_current_registry)
13698 (ensure_current_registry_forking)
13699 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13700 factoring out the registry scanning into separate functions. Don't
13701 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13702 Better environment var name/interface suggestions accepted.
13704 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13706 * gst/gstobject.c: (gst_object_set_name_default),
13707 (gst_object_set_name):
13708 Random micro-optimisation: don't use a hash table
13709 with strings as keys and the usual strdup/strcmp
13710 involved, but rather just use the GQuark of the
13711 type name as key, since it needs to be looked up
13712 anyway to get the type name string.
13714 * tests/check/gst/gstobject.c: (GST_START_TEST):
13717 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13719 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13720 (gst_bin_iterate_all_by_interface):
13721 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13722 GTypes are gulongs and thus the top 4 bytes might be cut
13723 off on some platforms when doing GPOINTER_TO_INT, leading
13724 to invalid GTypes and bad things happening (see RH bug #179654).
13725 Also add a check to make sure the type passed in is really
13728 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13733 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13737 * gst-element-check.m4:
13738 * gst-element-check.m4.in:
13739 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13740 instead of the unversioned gst-inspect (#324176, #168659).
13742 2006-07-06 Wim Taymans <wim@fluendo.com>
13744 * gst/gstmessage.h:
13745 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13748 2006-07-06 Wim Taymans <wim@fluendo.com>
13750 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13751 (gst_base_src_wait), (gst_base_src_update_length),
13752 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13753 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13754 (gst_base_src_loop), (gst_base_src_start),
13755 (gst_base_src_activate_pull):
13757 blocksize == 0 now means the default blocksize when working in push
13759 Remove some pointless asserts in _wait function.
13760 Fix offset/length calculations and EOS handling. We can now pull 0
13761 bytes as well, which is allowed.
13762 use _check_get_range() to decide if we can operate in _pull based
13764 Fix refcounting leak when check_get_range function was not
13766 API GstBaseSrc::blocksize range can be 0 too now (default)
13768 * tests/check/elements/filesrc.c: (GST_START_TEST),
13770 Added check to test _get_range() behaviour.
13772 2006-07-06 Wim Taymans <wim@fluendo.com>
13774 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13775 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13776 (gst_pad_pull_range):
13778 Lots of comments and docs added to the pad functions.
13779 Flesh out the expected behaviour of the get_range() functions.
13781 2006-07-06 Wim Taymans <wim@fluendo.com>
13786 * gst/gstiterator.h:
13790 Remove comma at end of enumerator list.
13792 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13794 * win32/common/libgstbase.def:
13795 * win32/common/libgstdataprotocol.def:
13796 * win32/common/libsgtreamer.def:
13797 Add new exported functions.
13799 2006-07-05 Wim Taymans <wim@fluendo.com>
13801 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13802 Add some more docs here and there.
13804 2006-07-05 Wim Taymans <wim@fluendo.com>
13806 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13807 (gst_base_sink_loop), (gst_base_sink_get_position):
13808 When operating in pull mode update the offset so that we
13811 2006-07-05 Wim Taymans <wim@fluendo.com>
13813 * gst/gstregistryxml.c: (read_string):
13814 Avoid strdup. (will happen in libxml, but hey!)
13817 Add some more docs.
13819 2006-07-05 Wim Taymans <wim@fluendo.com>
13821 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13822 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13823 (gst_buffer_suite):
13824 No point in checking if the size of the subbuffer > 0, the
13825 code handles it correclty as demonstrated by unit test.
13826 Also add a unit test for the zero sized _new_and_alloc and
13827 _copy. Fixes #346663.
13829 2006-07-05 Wim Taymans <wim@fluendo.com>
13831 * libs/gst/base/gstbasetransform.c:
13832 (gst_base_transform_prepare_output_buffer),
13833 (gst_base_transform_buffer_alloc),
13834 (gst_base_transform_handle_buffer):
13835 Make sure the buffer we pass to transform_ip has a refcount of
13836 1 and thus is writable. Fixes #343196
13838 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13840 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13841 (gst_file_src_init), (gst_file_src_set_property),
13842 (gst_file_src_get_property), (gst_file_src_map_region):
13843 * plugins/elements/gstfilesrc.h:
13844 Add "sequential" property, off by default, to use madvise and hint
13845 to the kernel that sequential access is desired.
13846 Touch all retrieved pages by default to ensure they are pulled
13847 into memory. (Closes #345720)
13849 2006-07-03 Wim Taymans <wim@fluendo.com>
13851 * docs/design/part-block.txt:
13852 * docs/design/part-dynamic.txt:
13853 Small docs updates.
13855 2006-07-03 Wim Taymans <wim@fluendo.com>
13857 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13858 (gst_caps_unref), (gst_static_caps_get),
13859 (gst_caps_append_structure):
13860 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13861 Use GSlice when the glib we build against is >= 2.10
13863 2006-07-03 Wim Taymans <wim@fluendo.com>
13865 * gst/gstelement.c: (gst_element_pads_activate):
13866 Small cleanup in pad activation code.
13868 2006-07-03 Wim Taymans <wim@fluendo.com>
13870 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13872 * gst/gst-i18n-app.h:
13873 * gst/gst-i18n-lib.h:
13874 * tools/gst-inspect.c: (print_signal_info):
13875 The attached patch will make the inclusion of gettext.h unconditional in
13876 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13877 libintl.h in tools/gst-inspect.c.
13878 This allows use of --disable-nls again and fixes #344642.
13880 2006-07-03 Edward Hervey <edward@fluendo.com>
13882 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13883 Implement pad blocking on events according to part-block.txt.
13884 More comments on behaviour.
13885 * tests/check/gst/gstevent.c: (test_event):
13886 Send event to peer pad of blocked pad (else it will block).
13888 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13890 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13891 (gst_check_run_suite):
13892 if we get the wrong message, give us the types as string
13893 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13895 * tests/check/elements/filesrc.c: (GST_START_TEST):
13896 add a test for trying to open a non-existing file
13898 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13900 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13901 add a test for adding self
13903 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13905 * libs/gst/check/gstcheck.h:
13906 add some assert_ as alias for fail_unless_*
13907 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13908 increase test coverage
13910 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13913 include lcov.mak for lcov coverage generation
13914 * tools/Makefile.am:
13917 2006-07-02 Edward Hervey <edward@fluendo.com>
13919 * tests/check/elements/.cvsignore:
13922 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13925 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13926 * tests/check/Makefile.am:
13927 clean up gcov files
13929 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13931 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13932 remove gst_caps_simplify; it was not declared and not used
13933 and deprecated in 0.8
13935 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13937 * docs/faq/gst-uninstalled:
13938 don't put empty paths on PYTHONPATH
13939 * docs/gst/gstreamer-sections.txt:
13940 remove some symbols that are not there
13942 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13944 * gst/gstcaps.c: (gst_caps_compare_structures):
13946 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13947 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13950 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13952 * libs/gst/dataprotocol/Makefile.am:
13953 build dataprotocol test by linking to the lib, instead of
13954 compiling the source, so we get coverage
13955 * tests/check/Makefile.am:
13956 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13957 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13958 add a test for filesrc
13960 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13962 * tests/check/gst/gststructure.c: (GST_START_TEST),
13963 (gst_structure_suite):
13964 Push coverage from 59.04% to 70.00%
13966 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13968 * tests/check/Makefile.am:
13969 gst-inspect every element; this makes sure that we also get
13970 coverage on element's get/set functions
13972 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13975 set CFLAGS and friends to -O0 if gcov is being used
13978 * libs/gst/base/Makefile.am:
13979 * libs/gst/check/Makefile.am:
13980 * libs/gst/controller/Makefile.am:
13981 * libs/gst/dataprotocol/Makefile.am:
13982 * libs/gst/net/Makefile.am:
13983 * plugins/elements/Makefile.am:
13984 * plugins/indexers/Makefile.am:
13985 add makefile rules to generate gcov data and clean up
13986 * tests/check/Makefile.am:
13987 add a coverage target that generates an html overview
13990 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13992 * tests/check/elements/fakesink.c:
13993 * tests/check/elements/fakesrc.c:
13994 * tests/check/elements/fdsrc.c:
13995 * tests/check/elements/identity.c:
13996 * tests/check/generic/sinks.c: (gst_sinks_suite):
13997 * tests/check/generic/states.c:
13998 * tests/check/gst/gst.c:
13999 * tests/check/gst/gstabi.c:
14000 * tests/check/gst/gstbin.c:
14001 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14002 * tests/check/gst/gstbus.c: (gst_bus_suite):
14003 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14004 * tests/check/gst/gstelement.c:
14005 * tests/check/gst/gstevent.c: (gst_event_suite):
14006 * tests/check/gst/gstghostpad.c:
14007 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14008 * tests/check/gst/gstmessage.c: (gst_message_suite):
14009 * tests/check/gst/gstminiobject.c:
14010 * tests/check/gst/gstobject.c:
14011 * tests/check/gst/gstpad.c:
14012 * tests/check/gst/gstpipeline.c:
14013 * tests/check/gst/gstplugin.c:
14014 * tests/check/gst/gstquery.c: (gst_query_suite):
14015 * tests/check/gst/gstsegment.c: (gst_segment_suite):
14016 * tests/check/gst/gststructure.c:
14017 * tests/check/gst/gstsystemclock.c:
14018 * tests/check/gst/gsttag.c:
14019 * tests/check/gst/gsttask.c: (gst_task_suite):
14020 * tests/check/gst/gstutils.c:
14021 * tests/check/gst/gstvalue.c:
14022 * tests/check/libs/adapter.c:
14023 * tests/check/libs/basesrc.c:
14024 * tests/check/libs/collectpads.c:
14025 * tests/check/libs/controller.c:
14026 * tests/check/libs/gdp.c: (gst_dp_suite):
14027 * tests/check/libs/gstnetclientclock.c:
14028 * tests/check/libs/gstnettimeprovider.c:
14029 * tests/check/libs/libsabi.c: (libsabi_suite):
14030 * tests/check/libs/typefindhelper.c:
14031 * tests/check/pipelines/cleanup.c:
14032 * tests/check/pipelines/parse-launch.c:
14033 * tests/check/pipelines/simple-launch-lines.c:
14034 * tests/check/pipelines/stress.c: (stress_suite):
14037 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14039 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14040 * libs/gst/check/gstcheck.h:
14041 create a macro and function so that the simple unit test
14042 case can be just one macro to create main()
14044 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14046 * gst/gstbin.c: (gst_bin_restore_thyself):
14047 * gst/gstxml.c: (gst_xml_make_element):
14048 Fix deserialisation from XML. Set parent manually
14049 instead of using gst_bin_add(), since gst_bin_add()
14050 will unlink all pads of the element being added.
14053 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14055 Patch by: Peter Kjellerstedt <pkj at axis com>
14057 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14058 Fix missing g_strdup() and double free when using the
14059 --gst-plugin-load command line option (#346097).
14061 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14064 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14066 * libs/gst/net/gstnetclientclock.c:
14067 * libs/gst/net/gstnettimeprovider.c:
14068 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14070 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14072 * docs/manual/advanced-dataaccess.xml:
14073 Fix buffer probe example compilation in
14076 2006-06-22 Edward Hervey <edward@fluendo.com>
14078 * gst/gstelement.c: (gst_element_pads_activate):
14079 We need to deactivate src pads first and then sink pads.
14080 The reason is the src pads might be blocking while holding the streaming
14081 lock, so we need to deactivate them first so that deactivating the sink
14082 pads doesn't block (since it will require the streaming lock).
14084 2006-06-22 Wim Taymans <wim@fluendo.com>
14086 * libs/gst/base/gstbasetransform.c:
14087 (gst_base_transform_buffer_alloc):
14088 Forgot to remove two unneeded unrefs.
14089 Simplify a check _is_equal allready checks the obvious case.
14091 2006-06-22 Wim Taymans <wim@fluendo.com>
14093 * docs/design/part-block.txt:
14094 Some docs about what pad_block should do.
14096 2006-06-22 Wim Taymans <wim@fluendo.com>
14098 * gst/gstcaps.c: (gst_caps_replace):
14099 Fix crasher when passed NULL. Doc clarification.
14100 Optimize for the trivial case.
14102 * gst/gstpipeline.c: (gst_pipeline_change_state):
14105 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14106 Small documentation cleanup.
14108 * libs/gst/base/gstbasetransform.c:
14109 (gst_base_transform_buffer_alloc):
14110 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14111 is what we need and it avoids a whole lot of redundant
14112 refcount operations.
14114 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14116 Patch by: Philip Jägenstedt <philip at lysator liu se>
14118 * docs/manual/advanced-dataaccess.xml:
14119 Fix 'Embedding static elements' section to use
14120 GST_PLUGIN_DEFINE_STATIC (#345607).
14122 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14124 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14125 Attempt to 'fix' spuriously failing test case: it seems like the
14126 timeout of half a second is simply too small when the system is under
14127 load otherwise, and the timeout doesn't really seem to serve any
14128 particular purpose here. Give the pipeline a few seconds to preroll
14129 first, and then give it another half a second to go from PAUSED to
14130 PLAYING and marshal the message into the main thread.
14132 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14134 * tools/gst-feedback-m.m:
14135 Don't only use unversioned tools, try versioned tools as well
14138 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14140 * gst/gstbus.c: (gst_bus_class_init):
14141 Fix some typos, make docs more explicit.
14143 2006-06-20 Wim Taymans <wim@fluendo.com>
14145 * tests/check/gst/gstghostpad.c: (block_callback),
14146 (GST_START_TEST), (gst_ghost_pad_suite):
14147 Added some more ghostpad tests, mainly blocking
14150 2006-06-16 Wim Taymans <wim@fluendo.com>
14152 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14153 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14154 (gst_file_sink_event), (gst_file_sink_render):
14155 * plugins/elements/gstfilesink.h:
14156 Check if we can seek in the file instead of assuming
14157 we always can. Post an error when we are asked to seek in a
14158 non-seekable file (like a fifo). Fixes #343312.
14161 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14163 * tools/gst-launch.1.in:
14164 Un-garble (fourcc) bit in filtered caps section.
14166 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14168 * docs/manual/advanced-autoplugging.xml:
14169 * docs/manual/basics-helloworld.xml:
14170 * docs/manual/highlevel-components.xml:
14171 Don't leak bus reference in sample code.
14173 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14176 Add default for new --enable-plugin-docs switch.
14179 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14182 * docs/Makefile.am:
14183 Use new ENABLE_PLUGIN_DOCS conditional.
14185 2006-06-14 Wim Taymans <wim@fluendo.com>
14187 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14188 Make it clear with a FIXME and a real define what the #if 0
14189 previously disabled.
14191 2006-06-14 Wim Taymans <wim@fluendo.com>
14193 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14194 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14195 * libs/gst/base/gstbasetransform.c:
14196 (gst_base_transform_sink_eventfunc):
14197 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14198 Don't randomly and silently reset a segment when the format
14199 changes as this is a bug somewhere upstream. Fixes #330379.
14201 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14203 Patch by: Wouter Paesen <wouter at kangaroot net>
14205 * libs/gst/controller/gstcontroller.c:
14206 (gst_controlled_property_new):
14207 Fix controlling of float properties (#344849).
14209 * tests/check/libs/controller.c:
14210 (gst_test_mono_source_get_property),
14211 (gst_test_mono_source_set_property),
14212 (gst_test_mono_source_class_init), (GST_START_TEST):
14213 While we're at it, add some float stuff to unit test.
14215 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14218 * docs/images/gdp-header.svg:
14220 * docs/libs/Makefile.am:
14221 * docs/libs/gdp-header.png:
14222 * libs/gst/dataprotocol/dataprotocol.c:
14223 add it to the API docs
14224 * docs/manual/intro-motivation.xml:
14227 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14229 * gst/gst.c: (scan_and_update_registry), (init_post):
14230 If the fork()'ed child process can't write the updated registry cache
14231 file to disk for some reason, make it exit with a failure exit code,
14232 so that the parent can then re-scan the plugins itself and update the
14233 registry structures in memory and work with that (rather than failing
14234 when creating elements because seemingly no plugins are available).
14235 Refactor registry scanning code into separate function for this and
14236 also separate fork() and non-fork() code paths. Fixes #344748.
14238 2006-06-13 Wim Taymans <wim@fluendo.com>
14240 * docs/manual/advanced-dataaccess.xml:
14241 Fix wrong PluginDesc. Fixes #344755.
14243 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14245 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14246 Fix silly bug that prevented us from creating
14247 ~/.gstreamer-0.10 and writing the registry in one
14248 go (the first call to g_mkstemp() would overwrite the
14249 placeholder in the template string, so the second call
14250 to g_mkstemp() after creating the missing directory
14251 would then error out with 'invalid argument').
14253 2006-06-13 Edward Hervey <edward@fluendo.com>
14255 * gst/gst.c: (init_post):
14258 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14260 * gst/glib-compat-private.h:
14261 * gst/glib-compat.c:
14262 * gst/glib-compat.h:
14263 * gst/gstvalue.c: (gst_value_serialize_flags):
14264 remove GLib 2.6 compatibility code
14266 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14268 * gst/parse/Makefile.am:
14269 Fix build with 'make -j N' even more (#340016).
14271 2006-06-12 Wim Taymans <wim@fluendo.com>
14273 * docs/gst/gstreamer-sections.txt:
14276 2006-06-12 Wim Taymans <wim@fluendo.com>
14278 * gst/gstsegment.c: (gst_segment_set_duration),
14279 (gst_segment_set_last_stop), (gst_segment_set_seek),
14280 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14281 (gst_segment_to_running_time), (gst_segment_clip):
14282 Use G_UNLIKELY to help the compiler a bit.
14284 2006-06-12 Wim Taymans <wim@fluendo.com>
14286 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14288 * gst/gstevent.c: (gst_event_get_type):
14289 * gst/gstmessage.c:
14290 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14292 constify quark registration strings. Fixes #344115
14293 Avoid unneeded type checking is _pad_push() by internally
14294 calling gst_pad_chain_unchecked().
14296 2006-06-12 Wim Taymans <wim@fluendo.com>
14298 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14299 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14300 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14301 (gst_buffer_is_span_fast), (gst_buffer_span):
14302 Init _type for consistency.
14303 Use _FLAGS macro to avoid type check.
14304 Avoid unneeded type checks in subbufer code.
14306 2006-06-12 Wim Taymans <wim@fluendo.com>
14308 * gst/gst.c: (gst_debug_help):
14309 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14310 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14311 (gst_plugin_feature_list_free):
14312 * gst/gstregistry.c: (gst_registry_add_plugin),
14313 (gst_registry_add_feature), (gst_registry_plugin_filter),
14314 (gst_registry_feature_filter), (gst_registry_find_plugin),
14315 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14316 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14317 * gst/gstregistryxml.c: (load_feature),
14318 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14319 * gst/gstminiobject.c: (gst_mini_object_unref),
14320 (gst_mini_object_replace), (gst_value_mini_object_free),
14321 (gst_value_mini_object_copy):
14322 Use _CAST macros to avoid unneeded type checking.
14323 Added some more G_UNLIKELY.
14325 2006-06-12 Wim Taymans <wim@fluendo.com>
14328 Avoid unneeded type checking.
14329 API: GST_BUFFER_IS_DISCONT
14331 * gst/gstminiobject.h:
14332 Avoid type check in flag accessor.
14334 * gst/gstelementfactory.h:
14336 * gst/gstpluginfeature.h:
14338 API: GST_ELEMENT_FACTORY_CAST
14339 API: GST_PLUGIN_CAST
14340 API: GST_PLUGIN_FEATURE_CAST
14342 2006-06-12 Wim Taymans <wim@fluendo.com>
14344 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14345 (gst_object_unref):
14346 Add G_UNLIKELY in type registration.
14347 Avoid type check in _ref/_unref since that is also
14350 2006-06-12 Wim Taymans <wim@fluendo.com>
14352 * gst/gsterror.c: (gst_g_error_get_type):
14353 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14354 (gst_static_pad_template_get_type):
14355 * gst/gsttaglist.c: (gst_tag_list_get_type):
14356 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14357 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14358 * gst/gsturi.c: (gst_uri_handler_get_type):
14359 * gst/gstvalue.c: (gst_date_get_type):
14360 * gst/gstxml.c: (gst_xml_get_type):
14361 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14362 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14363 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14364 Add G_UNLIKELY in type registration.
14366 2006-06-12 Wim Taymans <wim@fluendo.com>
14368 * tools/gst-inspect.c: (print_signal_info):
14369 Properly print enum values.
14371 2006-06-12 Wim Taymans <wim@fluendo.com>
14373 * gst/gstinfo.c: (gst_debug_set_active),
14374 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14376 Add some G_[UN]LIKELY.
14377 Maintain __gst_debug_min to avoid formatting the arguments of
14378 debug messages that will be dropped anyway to avoid a lot of
14379 overhead from the debugging system.
14381 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14384 * po/POTFILES.skip:
14385 add missing files containing translatable strings, tell intltool about
14388 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14390 * tests/check/libs/.cvsignore:
14391 add test-binary to ignore list
14393 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14395 * docs/libs/gstreamer-libs-docs.sgml:
14396 reorder (put dp into a chapter) and indent
14398 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14403 === release 0.10.8 ===
14405 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14408 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14410 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14412 * gst/gst.c: (init_post):
14413 move pid declaration to declaration block
14415 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14417 * gst/gst.c: (init_post):
14418 use _exit() instead of exit() in our forked child; this ensures
14419 that none of the registered exit handlers from whatever is using
14420 GStreamer get executed. This fixes gnome-mixer-applet failing
14421 to load, because ORBit would shut down.
14422 Spotted by: Edward Hervey <edward@fluendo.com>
14423 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14426 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14431 === release 0.10.7 ===
14433 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14436 releasing 0.10.7, "Soepeke, ik zie ou"
14438 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14461 * win32/common/config.h:
14462 0.10.6.2 prerelease
14464 2006-06-07 Wim Taymans <wim@fluendo.com>
14466 * gst/gstindex.c: (gst_index_gtype_resolver):
14467 * tools/gst-xmlinspect.c: (print_plugin_info):
14468 Fix leak spotted by coverity checker. Fixes #343827
14469 Fix another other leak found by paolo borelli.
14471 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14473 * libs/gst/dataprotocol/dataprotocol.c:
14474 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14475 (gst_dp_version_get_type), (gst_dp_init),
14476 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14477 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14478 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14479 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14480 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14481 (gst_dp_packetizer_free):
14482 * libs/gst/dataprotocol/dataprotocol.h:
14483 API: add a GstDPPacketizer object, and create/free functions
14484 API: add GstDPVersion enum
14485 Add 1.0 event function that uses the string serialization
14486 Serialize more useful buffer flags
14489 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14491 * tests/check/Makefile.am:
14492 * tests/check/gst/gstabi.c:
14493 * tests/check/gst/struct_ppc64.h:
14494 * tests/check/libs/libsabi.c:
14495 * tests/check/libs/struct_ppc64.h:
14496 add ppc64 structure sizes
14498 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14500 * tests/check/Makefile.am:
14501 * tests/check/gst/gstabi.c:
14502 * tests/check/gst/struct_x86_64.h:
14503 * tests/check/libs/libsabi.c:
14504 * tests/check/libs/struct_x86_64.h:
14505 generate and add structure size lists for x86_64
14507 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14509 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14510 * libs/gst/check/gstcheck.h:
14511 factor out the method from tests that checks size of structures,
14512 and add code to generate the header containing these sizes
14513 * tests/check/gst/gstabi.c: (GST_START_TEST):
14514 * tests/check/gst/struct_i386.h:
14515 * tests/check/libs/libsabi.c: (GST_START_TEST):
14516 * tests/check/libs/struct_i386.h:
14519 2006-06-06 Michael Smith <msmith@fluendo.com>
14521 * gst/gstsegment.h:
14522 Don't use c++-style comments, fixes #343929
14524 2006-06-05 Edward Hervey <edward@fluendo.com>
14527 plugin_paths is not used if we build without registry support.
14529 * gst/gstsegment.c: (gst_segment_copy):
14530 _copy() was always returning NULL...
14532 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14534 * libs/gst/dataprotocol/dataprotocol.c:
14535 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14536 (gst_dp_packet_from_event):
14537 factor out CRC code
14539 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14541 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14542 make sure we unset caps
14544 2006-06-02 Michael Smith <msmith@fluendo.com>
14546 * libs/gst/check/gstcheck.c: (gst_check_init),
14547 (gst_check_chain_func):
14548 * libs/gst/check/gstcheck.h:
14549 Add a cond/mutex to the check support lib, signal this whenever we
14550 add to the buffers list. This will allow tests to not busy-wait on
14553 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14555 * libs/gst/dataprotocol/dataprotocol.c:
14556 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14557 (gst_dp_packet_from_event):
14558 factor out some common header init code
14560 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14562 * docs/libs/gstreamer-libs-sections.txt:
14563 * docs/libs/tmpl/gstdataprotocol.sgml:
14564 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14565 * libs/gst/dataprotocol/dataprotocol.h:
14566 API: make gst_dp_crc() public
14568 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14570 * plugins/indexers/gstindexers.c: (plugin_init):
14571 conditionally register fileindexer (fixes #343598)
14573 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14575 * gst/gsttagsetter.h:
14576 Can't cast ifaces to a class
14578 * libs/gst/net/gstnetclientclock.h:
14579 * libs/gst/net/gstnettimeprovider.h:
14580 * plugins/elements/gstfakesink.h:
14581 * plugins/elements/gstfakesrc.h:
14582 * plugins/elements/gstfdsink.h:
14583 * plugins/elements/gstfdsrc.h:
14584 * plugins/elements/gstfilesink.h:
14585 * plugins/elements/gstfilesrc.h:
14586 * plugins/elements/gstidentity.h:
14587 * plugins/elements/gstqueue.h:
14588 * plugins/elements/gsttee.h:
14589 * plugins/indexers/gstfileindex.c:
14590 * plugins/indexers/gstmemindex.c:
14591 * tests/old/examples/plugins/example.h:
14592 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14594 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14596 * libs/gst/dataprotocol/dataprotocol.c:
14597 (gst_dp_header_from_buffer):
14598 make sure we zero the whole ABI-compatible area
14600 2006-06-01 Wim Taymans <wim@fluendo.com>
14602 Patch by: Alessandro Decina <alessandro at nnva dot org>
14604 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14605 Make sure the EOS flag is cleared from pads after a flush
14606 or stop. Fixes #343538.
14608 * tests/check/libs/collectpads.c: (GST_START_TEST),
14609 (gst_collect_pads_suite):
14610 Added test for collectpads reusage after EOS.
14612 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14615 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14616 * win32/common/libgstbase.def:
14617 export gst_collect_pads_set_flushing
14618 * win32/common/libgstreamer.def:
14619 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14620 gst_value_fraction_multiply
14621 * win32/vs6/gst_inspect.dsp:
14622 add a link to intl.lib
14624 2006-05-30 Wim Taymans <wim@fluendo.com>
14626 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14627 (gst_collect_pads_chain):
14628 Handle the case where a pad is removed from the collection
14629 that could cause the other pads to become collectable.
14631 2006-05-30 Wim Taymans <wim@fluendo.com>
14633 * gst/gstelement.c:
14634 Clarify the use of _release_request_pad() and
14635 _get_request_pad() a bit better.
14637 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14638 (gst_adapter_take_buffer):
14639 Fix some doc and comment typos.
14641 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14643 * docs/gst/gstreamer-sections.txt:
14644 * docs/libs/gstreamer-libs-sections.txt:
14645 add declared symbols
14647 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14649 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14650 Add debug that can be enabled using a #define at the top of the file,
14651 for dumping stats about how late/early we were when waking up from
14652 waiting on the clock.
14654 2006-05-30 Wim Taymans <wim@fluendo.com>
14656 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14657 When rebuilding the pad list, don't leak the previous list.
14659 2006-05-30 Wim Taymans <wim@fluendo.com>
14661 Patch by: Lutz Mueller <lutz at topfrose dot de>
14663 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14664 (gst_base_src_get_query_types), (gst_base_src_update_length):
14665 Publish supported query types.
14666 Update last_stop field in get_range mode so the position
14667 query works. Fixes #342321.
14669 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14671 * docs/gst/gstreamer-sections.txt:
14672 * gst/gsttaglist.c: (_gst_tag_initialize):
14673 * gst/gsttaglist.h:
14674 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14676 2006-05-30 Wim Taymans <wim@fluendo.com>
14678 Patch by: Alessandro Decina <alessandro at nnva dot org>
14680 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14681 Unlock mutex when removing an unknown pad.
14684 * tests/check/Makefile.am:
14685 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14686 (push_event), (setup), (teardown), (GST_START_TEST),
14687 (gst_collect_pads_suite), (main):
14688 Added collecpads check, disabled for now as check crashes for
14691 2006-05-29 Wim Taymans <wim@fluendo.com>
14693 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14694 Don't leak pads lists.
14696 2006-05-29 Wim Taymans <wim@fluendo.com>
14698 * docs/libs/gstreamer-libs-sections.txt:
14699 * libs/gst/base/gstcollectpads.c:
14700 (gst_collect_pads_set_flushing_unlocked),
14701 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14702 (gst_collect_pads_stop):
14703 * libs/gst/base/gstcollectpads.h:
14704 API: gst_collect_pads_set_flushing()
14705 Added api to set the pads to flushing, useful for seeking
14706 code in elements using collectpads.
14707 Clear segment when receiving a flush.
14709 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14711 * gst/gst.c: (add_path_func), (init_post):
14712 Don't scan registry paths passed via --gst-plugin-path immediately
14713 (will crash, because absolutely nothing is set up and no types are
14714 registered etc.); do this later in init_post(). Fixes #343057.
14716 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14718 * gst/gst.c: (init_post):
14719 if we have fork, fork while reading/rebuilding the registry
14720 so the parent doesn't take the hit of having all plugins loaded
14721 in memory. Fixes #342777.
14723 Check if we have fork()
14724 * win32/common/config.h.in:
14727 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14729 * plugins/elements/gstelements.c:
14730 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14731 (gst_file_src_init), (gst_file_src_set_property),
14732 (gst_file_src_get_property), (gst_file_src_start):
14733 * plugins/elements/gstfilesrc.h:
14734 API: GstFileSrc::use-mmap
14736 Add a use-mmap property to enable easier testing of all code paths.
14737 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14738 in the absence of gnomevfssrc. (Closes #340501)
14740 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14742 * tools/gst-inspect.c:
14743 Add missing include, removes warning of ngettext not being defined on
14746 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14748 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14749 Handle NULL input and output pointers silently as a failed conversion,
14750 rather than g_warnings.
14752 2006-05-25 Wim Taymans <wim@fluendo.com>
14754 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14755 Initialize variable before using. Fixes #342820.
14757 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14759 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14760 Fix off-by-one bug that would only allow peeks of N-1 bytes
14761 from the start even if the buffer to typefind on contains
14762 in fact N bytes of data (makes vorbis typefinding from a
14763 vorbis identification header buffer work).
14765 * tests/check/Makefile.am:
14766 * tests/check/libs/.cvsignore:
14767 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14768 (gst_typefindhelper_suite), (main), (foobar_typefind),
14770 Add very basic unit test for gst_type_find_helper_for_buffer()
14771 that checks for the problem fixed above.
14773 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14775 * tools/gst-inspect.c: (print_interfaces),
14776 (print_element_properties_info), (print_element_list), (main):
14777 add more translatable strings
14779 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14781 Patch by: Julien Moutte <julien at moutte net>
14783 * docs/gst/gstreamer-sections.txt:
14784 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14786 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14787 (gst_fake_sink_preroll):
14788 * plugins/elements/gstfakesink.h:
14789 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14791 2006-05-23 Wim Taymans <wim@fluendo.com>
14793 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14795 Added _CUSTOM error and success GstFlowReturn that can be
14796 used be elements internally.
14797 Added macro to check for SUCCESS flowreturns.
14798 API: GST_FLOW_CUSTOM_SUCCESS
14799 API: GST_FLOW_CUSTOM_ERROR
14800 API: GST_FLOW_IS_SUCCESS
14802 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14803 Added check for GstFlowReturn sanity.
14805 2006-05-23 Wim Taymans <wim@fluendo.com>
14807 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14809 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14810 (gst_collect_pads_event):
14811 clear/reset segment info in FLUSH_STOP.
14814 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14816 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14817 (gst_collect_pads_check_collected):
14818 Flush queued buffer on _stop(), fixes playing again (#342454)
14820 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14822 * tests/check/gst/gststructure.c: (GST_START_TEST),
14823 (gst_structure_suite):
14824 add a test for a complete structure
14826 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14828 * docs/faq/developing.xml:
14829 * docs/faq/faq.xml:
14830 * docs/faq/troubleshooting.xml:
14831 * docs/faq/using.xml:
14832 Some minor FAQ updates that won't change the fact that
14833 our FAQ is badly structured, full of information hardly
14834 anyone new to GStreamer needs to know and lacking lots
14835 of information people constantly ask for.
14837 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14839 * gst/gstpad.c: (gst_pad_set_caps):
14840 Short-circuit gst_pad_set_caps if setting the existing
14841 caps pointer again, and avoid printing debug and
14842 reffing/unreffing the caps.
14844 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14845 There's actually no need to set the caps before pushing -
14846 the acceptcaps method will handle it anyway.
14848 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14850 * docs/gst/gstreamer-sections.txt:
14851 * win32/common/libgstreamer.def:
14852 * gst/gstutils.c: (gst_element_seek_simple):
14854 API: add gst_element_seek_simple() (#342238).
14856 2006-05-18 Edward Hervey <edward@fluendo.com>
14858 * gst/gsttypefind.c: (gst_type_find_get_type):
14859 * gst/gsttypefind.h:
14860 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14861 registered for GstTypeFind pointers. This allows wrapping the structure
14862 in bindings (i.e. gst-python).
14864 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14866 * gst/gsttagsetter.c:
14867 Docs additions and fixes (see #339918).
14869 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14871 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14872 The caps intersection algorithm can produce multiple copies of the
14873 caps. Until that is fixed, we need to simplify the result to be
14874 sure whether the allowed caps are fixed or not.
14876 * plugins/elements/gstqueue.c: (gst_queue_init),
14877 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14878 (gst_queue_push_one):
14879 Proxied buffer alloc should not set the caps on the source pad.
14880 When pushing buffers, we always accept the caps change that triggers.
14881 This prevents negotiation errors caused by caps changing mid-stream
14882 and then being refused on our source pad (because upstream is now
14883 refusing those caps).
14885 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14887 * tests/examples/helloworld/helloworld.c: (main):
14888 Must plug audioconvert and audioresample between decoder
14891 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14893 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14894 (load_feature), (load_plugin):
14895 Allow empty strings for some of the plugin fields so we don't
14896 drop valid plugin entries that were written out correctly
14899 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14901 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14902 Use g_remove and g_rename instead of remove and rename that don't
14903 handle utf8 characters. rename was failing for users who had specific
14904 characters in their name then the registry was built at each
14906 * win32/vs6/gst_inspect.dsp:
14907 * win32/vs6/gst_launch.dsp:
14908 * win32/vs6/libgstbase.dsp:
14909 * win32/vs6/libgstcoreelements.dsp:
14910 * win32/vs6/libgstreamer.dsp:
14911 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14912 build of libgstreamer and clean unused libraries in projects link
14915 2006-05-17 Edward Hervey <edward@fluendo.com>
14917 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14918 The queue is not responsible for pushing an EOS when receiving a fatal
14919 flow error. It's up to the real element driving the pipeline to do that.
14921 2006-05-16 Edward Hervey <edward@fluendo.com>
14923 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14924 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14925 buffer returned a fatal error. It should just send an EOS and stop
14927 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14928 when pushing buffers on the queue and will be able to handle the event.
14930 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14932 * docs/manual/basics-bins.xml:
14933 * docs/manual/basics-init.xml:
14934 Fix typos and minor errors in sample code (#341856).
14936 2006-05-16 Wim Taymans <wim@fluendo.com>
14938 * docs/design/part-qos.txt:
14939 Fix indexes in formulas to make more sense.
14941 2006-05-15 Wim Taymans <wim@fluendo.com>
14943 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14944 Don't report POSITION based on clock time if sync is
14945 disabled in a sink.
14947 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14950 Add cast to make compiler happy - refcount variable was a gint
14951 in GstObject but is a guint in GObject and g_atomic_int_get()
14954 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14956 * gst/parse/Makefile.am:
14957 chain commands using &&, which also makes parallel make work
14959 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14961 * docs/gst/gstreamer-sections.txt:
14964 * gst/gstmessage.h:
14967 === release 0.10.6 ===
14969 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14972 releasing 0.10.6, "Take the cannoli"
14974 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14976 * tools/gst-launch.c: (print_tag):
14977 Fix use of uninitialized variable in the hypothetical
14978 case that some broken plugin creates a GST_TAG_IMAGE
14979 tag containing a NULL buffer (#341667).
14981 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
14983 * tools/gst-launch.c: (print_tag):
14984 Print something more intelligible for image tags when
14985 using the -t switch (#341556).
14987 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
14992 define GST_MAJORMINOR so we have it available in win32/common/config.h
14993 Possibly remove it from our Makefile.am files later
14994 * win32/common/config.h:
14995 * win32/common/config.h.in:
14996 added GST_MAJORMINOR
14997 * win32/common/gstenumtypes.c: (register_gst_resource_error):
14998 * win32/common/gstversion.h:
15001 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
15004 Update win32 files listing.
15005 * win32/common/gstversion.h:
15006 Add GST_MAJORMINOR definition.
15007 * win32/common/libgstreamer.def:
15008 Add new exported functions.
15010 2006-05-12 Michael Smith <msmith@fluendo.com>
15012 * gst/gstplugin.c: (gst_plugin_load_file):
15013 If an so file has no plugin entry point, unload the module.
15015 2006-05-11 Wim Taymans <wim@fluendo.com>
15017 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15018 (gst_queue_set_property):
15019 Don't forget to signal the _chain or _loop function
15020 when the queue size or thresholds change since that might
15021 cause them to make progres again.
15023 2006-05-11 Stefan Kost <ensonic@users.sf.net>
15025 * gst/gstclock.c: (gst_clock_class_init):
15026 * gst/gstindex.c: (gst_index_class_init):
15027 * gst/gstobject.c: (gst_object_class_init):
15028 * gst/gstpad.c: (gst_pad_class_init):
15029 * gst/gstpipeline.c: (gst_pipeline_class_init):
15030 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15031 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15032 * libs/gst/base/gstbasetransform.c:
15033 (gst_base_transform_class_init):
15034 * libs/gst/net/gstnetclientclock.c:
15035 (gst_net_client_clock_class_init):
15036 * libs/gst/net/gstnettimeprovider.c:
15037 (gst_net_time_provider_class_init):
15038 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15039 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15040 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15041 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15042 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15043 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15044 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15045 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15046 * plugins/elements/gsttee.c: (gst_tee_class_init):
15047 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15048 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15049 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15051 2006-05-11 Wim Taymans <wim@fluendo.com>
15053 * gst/gstbuffer.c: (_gst_buffer_initialize):
15054 Register subbufer along with the buffer type so that
15055 it does not accidentally gets registered from N
15056 different streaming threads in a non threadsafe way.
15058 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15062 * gst/gstmessage.h:
15063 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15064 gst_event_ref() and gst_message_ref() functions again
15065 (ugly hack, please do fix if there's a better way besides
15066 overrides.txt, which doesn't seem to work).
15068 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15070 * libs/gst/check/gstcheck.h:
15071 add an assert for setting state to avoid lots of repetitive code
15074 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15076 * gst/gstvalue.c: (gst_value_serialize_flags):
15077 fix a leak if no flags are set
15078 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15081 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15083 * docs/manual/basics-pads.xml:
15084 Expand a bit on caps and filtered links and update
15085 examples that were still using the no longer existing
15086 gst_pad_link_filtered() (#338206).
15088 2006-05-10 Wim Taymans <wim@fluendo.com>
15090 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15091 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15092 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15093 (gst_collect_pads_stop):
15094 * libs/gst/base/gstcollectpads.h:
15095 No need to call _stop in _finalize.
15096 Iterate the main pad list in _finalize.
15097 Added some more debug.
15098 Free lists and data in the right order.
15099 Also free data whem doing _remove_pad when stopped for
15100 backward compatibility protect ::started with PAD_LOCK as
15103 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15105 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15106 (gst_structure_parse_value):
15108 rename a method so that it actually says what it does better
15110 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15112 * gst/gstevent.c: (_gst_event_initialize):
15113 * gst/gstformat.c: (_gst_format_initialize):
15114 make sure some essential types used by events are registered
15115 as part of gst_init()
15116 * gst/gstvalue.c: (gst_value_serialize_flags):
15117 if no flags are set, serialize them to a value that represents NONE
15118 so that deserializing them works
15119 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15120 add tests for serialization and deserialization of flags
15122 2006-05-10 Wim Taymans <wim@fluendo.com>
15124 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15125 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15126 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15127 (gst_collect_pads_event), (gst_collect_pads_chain):
15130 Catch and return errors from the collect function
15131 Refuse data on eos pads.
15133 2006-05-10 Edward Hervey <edward@fluendo.com>
15135 * gst/gstinterface.h:
15136 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15137 GInterface type checking.
15138 They were previously using non-defined macros.
15140 2006-05-09 Wim Taymans <wim@fluendo.com>
15142 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15143 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15144 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15145 (gst_collect_pads_start), (gst_collect_pads_stop),
15146 (gst_collect_pads_peek), (gst_collect_pads_pop),
15147 (gst_collect_pads_available), (gst_collect_pads_read),
15148 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15149 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15150 (gst_collect_pads_chain):
15151 * libs/gst/base/gstcollectpads.h:
15152 Clean up the mess that is collectpads, add comments and
15153 FIXMEs where needed.
15154 Maintain a separate pad list so we can add pads while
15155 collecting the other ones. For this we need a new separate
15157 Fix memory leak in finalize.
15158 Refactor some weird code to set/unset pad flushing flags, mark
15160 Don't crash in _available, _read, _flush when we're EOS.
15162 * tests/check/libs/.cvsignore:
15163 Ignore adapter check binary.
15165 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15167 * gst/gstindex.c: (gst_index_resolver_get_type):
15168 * plugins/elements/gstfakesink.c:
15169 (gst_fake_sink_state_error_get_type):
15170 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15171 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15172 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15173 Const-ify GEnumValue arrays.
15175 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15177 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15178 Add test case for flags + gst_buffer_make_metadata_writable().
15180 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15182 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15183 gst_buffer_make_metadata_writable() should maintain the
15184 buffer flags (those that make sense at least) (see #340859).
15186 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15188 * tools/gst-inspect.c:
15189 * tools/gst-launch.c:
15190 * tools/gst-typefind.c:
15191 * tools/gst-xmlinspect.c:
15193 Fix up includes: need to include stdlib.h in tools.h for exit().
15195 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15197 * gst/gsttaglist.c: (_gst_tag_initialize):
15198 * gst/gsttaglist.h:
15199 API: add GST_TAG_IMAGE tag (#340721).
15201 2006-05-08 Wim Taymans <wim@fluendo.com>
15204 Added some docs for the segment query.
15206 2006-05-08 Wim Taymans <wim@fluendo.com>
15208 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15209 (gst_base_src_loop), (gst_base_src_change_state):
15210 Always push non-flushing serialized events in the streaming
15213 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15215 * gst/gsterror.c: (_gst_stream_errors_init):
15216 Add a missing error string.
15218 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15220 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15221 Add applied_rate to the debug
15223 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15224 Copy applied_rate into the outgoing NEWSEGMENT event
15226 2006-05-08 Wim Taymans <wim@fluendo.com>
15228 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15230 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15231 (gst_base_sink_change_state):
15232 call ::unlock before taking the PREROLL_LOCK so we can safely
15233 handle elements that lock in ::render.
15236 2006-05-08 Edward Hervey <edward@fluendo.com>
15238 * autogen.sh: (CONFIGURE_DEF_OPT):
15239 Darwin's libtoolize is in fact called glibtoolize.
15240 Adding glibtoolize to the list of accepted names for libtoolize.
15242 2006-05-08 Wim Taymans <wim@fluendo.com>
15244 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15245 Unify error handling, don't post an error message
15246 when a push() returns EOS but perform our normal EOS
15247 handling code. Fixes #340772.
15249 2006-05-08 Wim Taymans <wim@fluendo.com>
15251 * docs/design/part-overview.txt:
15252 Make upsteam/downstream concepts more clear.
15253 Give an example of serialized/non-serialized events.
15255 * docs/design/part-events.txt:
15256 * docs/design/part-streams.txt:
15257 Mention applied_rate.
15259 * docs/design/part-trickmodes.txt:
15260 Mention applied rate, flesh out some more use cases.
15262 * gst/gstevent.c: (gst_event_new_new_segment),
15263 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15264 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15265 (gst_event_parse_tag), (gst_event_new_buffer_size),
15266 (gst_event_parse_buffer_size), (gst_event_new_qos),
15267 (gst_event_parse_qos), (gst_event_parse_seek),
15268 (gst_event_new_navigation):
15270 Add applied_rate field to NEWSEGMENT event.
15271 API: gst_event_new_new_segment_full()
15272 API: gst_event_parse_new_segment_full()
15274 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15275 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15276 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15277 * gst/gstsegment.h:
15278 Add applied_rate to GstSegment structure.
15279 Make calculation of stream_time and running_time more correct
15280 wrt rate/applied_rate.
15281 Add some more docs.
15282 API: GstSegment::applied_rate field
15283 API: gst_segment_set_newsegment_full();
15285 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15286 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15287 * libs/gst/base/gstbasetransform.c:
15288 (gst_base_transform_sink_eventfunc),
15289 (gst_base_transform_handle_buffer):
15290 Parse and use applied_rate in the GstSegment field.
15292 * tests/check/gst/gstevent.c: (GST_START_TEST):
15293 Add check for applied_rate field.
15295 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15296 (gstsegments_suite):
15297 Add more checks for various GstSegment operations.
15299 2006-05-08 Wim Taymans <wim@fluendo.com>
15301 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15302 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15303 (gst_base_sink_get_position), (gst_base_sink_change_state):
15304 Store the sync time of the buffer end position separatly in a
15305 new variable eos_rtime so we can properly sync the EOS event.
15307 Fix the docs for gst_base_sink_set_qos_enabled().
15308 Don't set segment start to invalid value when we receive a
15309 non TIME newsegment.
15310 get closer to handling position reporting for negative rates
15313 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15316 Docs about how to print caps for debug purposes.
15318 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15319 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15321 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15323 * gst/gstelement.c:
15324 use full enum names and preprend a '%' in docs strings to make recent
15325 gtk-doc turn that into a link
15327 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15329 * docs/manual/basics-bins.xml:
15330 * docs/manual/basics-bus.xml:
15331 * docs/manual/basics-pads.xml:
15332 Some typo fixes, some additions, some clarifications.
15334 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15336 * tools/gst-inspect.c: (main):
15337 * tools/gst-launch.c: (main):
15338 * tools/gst-run.c: (main):
15339 * tools/gst-typefind.c: (main):
15340 * tools/gst-xmlinspect.c: (main):
15341 Use the string passed to g_option_context_new() for
15342 what it's intended for - the program name is already
15345 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15347 * tools/Makefile.am:
15348 * tools/gst-inspect.c: (main):
15349 * tools/gst-launch.c: (main):
15350 * tools/gst-xmlinspect.c: (main):
15352 Add back --version command line option (#340460).
15354 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15355 Add --version option and use GOption for argument parsing; refactor a
15356 bit; accept directories as arguments and recurse into them; lastly,
15357 print a decent error message when things go wrong.
15359 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15361 * docs/manual/basics-bins.xml:
15362 Don't mention GstThread (#340611)
15363 * docs/manual/basics-elements.xml:
15364 Update link to GObject tutorial (#340607)
15366 2006-05-05 Wim Taymans <wim@fluendo.com>
15369 * gst/gstminiobject.c:
15370 Add note about refcounting and miniobject/buffer writeability
15371 to docs. Fixes #340604
15373 * gst/gstelementfactory.h:
15374 Added some explanation about @klass.
15376 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15378 * docs/manual/intro-motivation.xml:
15379 * docs/manual/manual.xml:
15380 Avoid CORBA & Bonobo references (#340598)
15382 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15384 * docs/manual/basics-bus.xml:
15385 * docs/manual/basics-pads.xml:
15386 Fix up some inaccuracies and omissions (#340609)
15388 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15390 * gst/gstghostpad.c:
15391 Small typo in docs (#340625)
15393 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15395 * gst/parse/Makefile.am:
15396 Make 'make -j' proof (see #340698).
15398 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15401 Require GLib-2.8 here as well.
15403 2006-05-05 Wim Taymans <wim@fluendo.com>
15405 * gst/glib-compat.c:
15406 * gst/gst.c: (init_pre):
15407 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15408 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15409 (gst_object_dispatch_properties_changed):
15411 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15412 * gst/gststructure.c: (gst_structure_set_valist):
15413 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15414 Remove pre glib2.8 compatibility, fixes #340508
15416 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15418 * gst/gsttaglist.h:
15419 Mention type of tags in doc blurbs.
15421 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15423 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15424 (gst_pad_configure_src), (gst_pad_push):
15425 Restore acceptcaps checking behaviour now that good plugins have
15428 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15430 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15437 * gst/gstmessage.c:
15441 * gst/parse/Makefile.am:
15442 * libs/gst/base/gstadapter.c:
15443 * libs/gst/base/gstbasesrc.c:
15444 * libs/gst/base/gstpushsrc.c:
15445 * libs/gst/base/gsttypefindhelper.c:
15446 * plugins/elements/gstfakesrc.c:
15447 * plugins/elements/gstidentity.c:
15448 Make sure gstprivate.h and/or config.h are
15449 always included first, otherwise some of our
15450 defines (like _FILE_OFFSET_BITS) might be
15451 redefined in the system headers. Fixes build
15452 on opensolaris (#340016).
15454 2006-05-04 Wim Taymans <wim@fluendo.com>
15456 * docs/libs/gstreamer-libs-sections.txt:
15457 API: addition: gst_adapter_take_buffer()
15459 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15460 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15461 (gst_adapter_available_fast):
15462 * libs/gst/base/gstadapter.h:
15463 Prepare for optimizing the hell out of this hugely inefficient
15465 Added gst_adapter_take_buffer() so we can at least start thinking
15466 about subbuffering and merging.
15467 Added some comments.
15469 * tests/check/Makefile.am:
15470 * tests/check/libs/adapter.c: (GST_START_TEST),
15471 (gst_adapter_suite), (main):
15472 Added GstAdapter check.
15474 2006-05-04 Wim Taymans <wim@fluendo.com>
15476 * docs/design/part-overview.txt:
15477 Fix some typos, add blurb about buffer flags.
15479 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15481 * docs/libs/gstreamer-libs-sections.txt:
15482 make sure GstBaseTransformClass shows up in the docs
15483 * libs/gst/base/gstbasetransform.c:
15484 * libs/gst/base/gstbasetransform.h:
15485 move docs so gtk-doc picks it up now
15487 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15489 * docs/libs/gstreamer-libs-sections.txt:
15490 add missing symbols to docs
15492 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15494 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15495 back out the newsegment handling change, see #340060 for ongoing
15498 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15500 * tools/gst-run.c: (get_candidates), (main):
15501 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15502 work); fix typo in error message. Fixes #340079.
15504 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15506 * common/Makefile.am:
15507 * docs/Makefile.am:
15508 * docs/faq/Makefile.am:
15509 * docs/gst/Makefile.am:
15510 * docs/libs/Makefile.am:
15511 * docs/manual/Makefile.am:
15512 * docs/plugins/Makefile.am:
15513 * docs/pwg/Makefile.am:
15514 * docs/slides/Makefile.am:
15516 * common/upload.mak:
15517 move upload.mak to common
15519 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15521 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15522 add more asserts on refcounts
15523 do more cleanup at end of tests
15524 fix test leaks showing in FC5
15526 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15528 * plugins/elements/gsttypefindelement.c:
15529 (gst_type_find_element_handle_event):
15530 reverted wrong change and reflowed code to avoid others falling into
15533 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15535 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15536 fix changelog entry about last collectpads change,
15537 add notes about proper fix
15539 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15542 * gst/gstregistry.c: (gst_registry_scan_path_level),
15543 (gst_registry_scan_path):
15544 * gst/gstregistry.h:
15545 only write out registry if it has changed, fixes #338339
15547 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15550 * gst/gstpipeline.c:
15551 * plugins/elements/gstcapsfilter.c:
15552 * plugins/elements/gstfakesink.c:
15553 * plugins/elements/gstfakesrc.c:
15554 * plugins/elements/gstfdsink.c:
15555 * plugins/elements/gstfdsrc.c:
15556 * plugins/elements/gstfilesink.c:
15557 * plugins/elements/gstfilesrc.c:
15558 * plugins/elements/gstidentity.c:
15559 * plugins/elements/gstqueue.c:
15560 * plugins/elements/gsttee.c:
15561 * plugins/elements/gsttypefindelement.c:
15562 (gst_type_find_element_handle_event):
15563 make GstElementDetails const
15565 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15567 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15568 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15569 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15570 more detailed debug and formatting cleanup,
15571 forward newsegments to src-pad (so that e.g. adder not eats them)
15573 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15575 * gst/gstutils.c: (gst_element_link_pads):
15576 cleanup double code
15578 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15580 * libs/gst/controller/gstcontroller.c:
15581 (gst_controller_sync_values):
15583 * tests/check/libs/controller.c: (GST_START_TEST),
15584 (gst_controller_suite):
15585 a new test for live value handling
15587 2006-04-28 Wim Taymans <wim@fluendo.com>
15589 * gst/gstutils.c: (push_and_ref):
15590 Added some more docs.
15591 Fix refcount issue whith gst_element_found_tags() helper
15592 function. Fixes #338335
15594 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15595 Added testsuite for gst_element_found_tags().
15597 2006-04-28 Michael Smith <msmith@fluendo.com>
15599 * gst/gstvalue.c: (gst_value_serialize_flags):
15600 Avoid NULL dereference when trying to serialize flags containing
15603 2006-04-28 Michael Smith <msmith@fluendo.com>
15605 * plugins/elements/gsttypefindelement.c:
15606 (gst_type_find_element_handle_event):
15607 If we get EOS before any data is accumulated, don't use
15608 uninitialised local variables.
15610 2006-04-28 Michael Smith <msmith@fluendo.com>
15612 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15613 (gst_dp_event_from_packet):
15614 Fixes in reading/writing events over GDP (not currently used?) -
15615 dereferencing NULL events for unknown/invalid event types, memory
15616 leak, and change g_warning to GST_WARNING.
15618 2006-04-28 Wim Taymans <wim@fluendo.com>
15620 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15621 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15622 (gst_base_sink_get_position), (gst_base_sink_change_state):
15623 When frame dropping is enabled, we should not ignore frames
15624 without a duration.
15625 Update some documentation.
15627 2006-04-28 Wim Taymans <wim@fluendo.com>
15629 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15630 (gst_base_src_send_event), (gst_base_src_change_state):
15631 Documentation updates.
15633 2006-04-28 Wim Taymans <wim@fluendo.com>
15635 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15636 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15637 handle EAGAIN, EINTR and short writes correctly. Also clean
15638 up some error cases, avoid a deadlock on bad file descriptors and
15639 use GST_DEBUG_OBJECT.
15642 2006-04-28 Wim Taymans <wim@fluendo.com>
15644 * gst/gstvalue.c: (gst_value_serialize_buffer),
15645 (gst_value_deserialize_buffer):
15646 Don't try to serialize a GValue with a NULL buffer.
15649 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15650 Added check for serialisation of NULL buffers.
15652 2006-04-28 Wim Taymans <wim@fluendo.com>
15654 * gst/gstminiobject.c: (gst_value_take_mini_object):
15655 Taking a NULL miniobject is valid, fix the case where
15656 we try to unref the NULL miniobject.
15658 2006-04-28 Wim Taymans <wim@fluendo.com>
15660 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15662 * gst/gstbin.c: (gst_bin_handle_message_func):
15664 Don't leak bin refcount when a state recalc is
15665 in progress and we delay another one #339808.
15667 2006-04-28 Wim Taymans <wim@fluendo.com>
15669 * docs/design/part-TODO.txt:
15670 Mention QoS as an ongoing work item.
15672 * docs/design/part-buffering.txt:
15673 New doc about buffering that needs to be fleshed out
15676 * docs/design/part-qos.txt:
15677 More QoS policy for decoders/demuxers/transforms
15679 * docs/design/part-trickmodes.txt:
15682 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15687 === release 0.10.5 ===
15689 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15692 releasing 0.10.5, "Fogo"
15694 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15696 patch by: Wim Taymans
15698 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15699 (gst_pad_configure_src), (gst_pad_push):
15700 * gst/gstpipeline.c: (gst_pipeline_init):
15701 Fix internal data flow errors. Fixes #338711.
15703 2006-04-12 Wim Taymans <wim@fluendo.com>
15705 * tests/check/gst/gstelement.c: (GST_START_TEST):
15706 Don't leak the factory.
15708 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15711 * win32/common/config.h:
15714 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15716 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15717 (gst_controller_unset_all):
15718 Free allocated GstTimedValues when freeing list nodes.
15719 Should fix leaks 'make check-valgrind' complains about.
15721 * win32/common/libgstcontroller.def:
15722 Add gst_controller_unset_all.
15724 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15726 * docs/libs/gstreamer-libs-sections.txt:
15727 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15728 (gst_controller_unset_all):
15729 * libs/gst/controller/gstcontroller.h:
15730 API: Added new method gst_controller_unset_all()
15731 fixed gst_controller_unset()
15732 * tests/check/libs/controller.c: (GST_START_TEST),
15733 (gst_controller_suite):
15734 Added two testcases for new and fixed method
15736 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15738 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15739 MSG_DONTWAIT is not defined on Cygwin, so work
15740 around that (fixes #317048).
15742 2006-04-11 Wim Taymans <wim@fluendo.com>
15744 * gst/gstelementfactory.c: (gst_element_register),
15745 (gst_element_factory_create), (gst_element_factory_make):
15748 Updated docs (Fixes #131079)
15750 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15753 * tests/check/gst/gstelement.c: (GST_START_TEST),
15754 (gst_element_suite):
15755 Added testcase for elementfactory class field.
15757 2006-04-10 Wim Taymans <wim@fluendo.com>
15759 * gst/gstsegment.c:
15760 Added some more docs.
15762 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15763 (gst_base_sink_reset_qos):
15764 Calculate more accurate rate values.
15766 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15768 * gst/gst_private.h:
15769 add a new #ifdef to use __declspec(dllimport) only for
15770 other modules and not for gstreamer core
15771 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15772 use gst_guint64_to_gdouble for conversion
15773 * win32/common/libgstreamer.def:
15774 add new exported functions
15775 * win32/vs6/gst_inspect.dsp:
15776 * win32/vs6/gst_launch.dsp:
15777 * win32/vs6/libgstbase.dsp:
15778 * win32/vs6/libgstcontroller.dsp:
15779 * win32/vs6/libgstcoreelements.dsp:
15780 * win32/vs6/libgstdataprotocol.dsp:
15781 * win32/vs6/libgstnet.dsp:
15782 update project files
15784 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15786 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15787 * gst/gstclock.c: (gst_clock_class_init):
15788 * gst/gstelement.c: (gst_element_class_init):
15789 * gst/gstindex.c: (gst_index_class_init):
15790 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15791 * gst/gstobject.c: (gst_object_class_init),
15792 (gst_signal_object_class_init):
15793 * gst/gstpad.c: (gst_pad_class_init):
15794 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15795 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15796 * gst/gstregistry.c: (gst_registry_class_init):
15797 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15798 * gst/gsttask.c: (gst_task_class_init):
15799 * gst/gstxml.c: (gst_xml_class_init):
15800 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15801 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15802 (gst_base_src_loop):
15803 * libs/gst/controller/gstcontroller.c:/
15804 (_gst_controller_class_init):
15805 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15806 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15807 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15808 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15809 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15810 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15812 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15814 * gst/gstpad.c: (gst_pad_link):
15815 Must set peer pads before calling the link function, otherwise
15816 a task started from a link function might get a flow-not-linked
15817 result when trying to push because the other thread where the
15818 linking happens hasn't had a chance to set the peers yet. This
15819 might happen for example when a queue gets linked to a downstream
15820 element, as queue starts a streaming task when its source pad
15821 gets linked. Happens in real life when playing back flac/musepack
15822 files in playbin (#332390).
15824 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15828 * libs/gst/base/gstadapter.h:
15829 * libs/gst/base/gstbasesink.h:
15830 * libs/gst/base/gstbasesrc.h:
15831 * libs/gst/base/gstbasetransform.h:
15832 * libs/gst/base/gstcollectpads.h:
15833 * libs/gst/base/gstpushsrc.h:
15834 Fix broken GObject macros
15836 2006-04-07 Wim Taymans <wim@fluendo.com>
15838 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15839 Initialize start and stop times, thanks valgrind.
15841 2006-04-07 Wim Taymans <wim@fluendo.com>
15843 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15844 Be a bit nicer to badly behaving upstream elements that expect
15845 us to deal with non TIME segments and timestamps (such as fakesrc
15848 2006-04-07 Wim Taymans <wim@fluendo.com>
15851 Small documentation clarification about the signal watch.
15853 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15854 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15855 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15856 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15857 (gst_base_sink_get_position_last),
15858 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15859 Convert and store timestamps in stream time and running time, the
15860 raw timestamps are not useful, also document this better.
15861 Use different window sizes for good and bad QoS observations so
15862 we react to badness a little quicker.
15863 Keep track of the amount of rendered and dropped buffers.
15864 Send QoS timestamps in running time.
15866 * libs/gst/base/gstbasetransform.c:
15867 (gst_base_transform_sink_eventfunc),
15868 (gst_base_transform_handle_buffer):
15869 Compare QoS timestamps against running time.
15871 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15874 Typo fixes in docs.
15876 2006-04-06 Michael Smith <msmith@fluendo.com>
15878 * gst/gstpad.c: (gst_pad_set_property):
15879 Use g_value_get_object() instead of g_value_dup_gst_object(),
15880 to avoid double-reffing the pad template (which we then sink,
15881 so this worked previously if (and only if) the pad template
15884 * gst/gstpadtemplate.c: (gst_pad_template_init),
15885 (gst_pad_template_pad_created):
15886 Never return floating references to pad templates, create
15887 them as initially-sunken.
15889 Document an extra function (and make this stop sinking our
15890 pad template, since that is now guaranteed to do nothing,
15891 since we created it sunken).
15893 * gst/gstghostpad.c:
15896 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15898 * gst/gstinfo.c: (__gst_in_valgrind):
15901 * plugins/elements/gsttypefindelement.c:
15902 (gst_type_find_element_chain):
15903 Don't leak buffer caps.
15905 2006-04-06 Michael Smith <msmith@fluendo.com>
15907 * gst/parse/grammar.y:
15908 Fix a leak in parse-launch for any source-or-sink named element
15911 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15912 Unref the pipeline if it exists after we've failed parsing.
15914 2006-04-05 Michael Smith <msmith@fluendo.com>
15916 * gst/gstpipeline.c: (gst_pipeline_init):
15917 When we create a pipeline bus, initially create it in flushing mode.
15918 Fixes leaks in at least one test, and makes a new pipeline work the
15919 same as one that has gone to READY and then back to NULL.
15921 * gst/gstelement.c:
15924 2006-04-05 Michael Smith <msmith@fluendo.com>
15926 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15927 Unref a pad we reffed.
15928 * tests/check/gst/gstutils.c: (GST_START_TEST):
15931 2006-04-05 Michael Smith <msmith@fluendo.com>
15933 * gst/gstquery.c: (gst_query_set_formats),
15934 (gst_query_set_formatsv):
15935 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15937 2006-04-05 Michael Smith <msmith@fluendo.com>
15939 * tests/check/generic/sinks.c: (GST_START_TEST):
15940 Fix a variety of memleaks in sinks check, which are only sometimes
15941 shown by running the tests under valgrind (weird?).
15943 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15945 * docs/version.entities.in:
15946 Fix the substituted entity name after thomas' changes on the
15949 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15951 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15954 2006-04-05 Andy Wingo <wingo@pobox.com>
15956 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15958 * libs/gst/base/gstbasetransform.c
15959 (gst_base_transform_sink_eventfunc): When resetting our segment on
15960 FLUSH_STOP, also update the flag saying we haven't seen a
15963 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15965 Patch by: Paolo Borelli <pborelli at katamail dot com>
15967 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15968 (gst_plugin_check_license):
15969 minor clean-ups: G_DEFINE_TYPE already takes care of the
15970 parent_class stuff, no need to do it twice. Mark array of
15971 license strings as constant. (#337103)
15973 2006-04-04 Michael Smith <msmith@fluendo.com>
15975 * tools/gst-inspect.c: (print_element_list):
15976 Free the right plugin list; fixes a memory leak.
15978 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15980 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15982 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15983 Don't error out on empty buffers (#336945).
15985 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
15987 * docs/libs/gstreamer-libs-sections.txt:
15988 * gst/gsttaglist.c:
15989 * libs/gst/base/gstbasesink.c:
15990 * libs/gst/base/gstbasesink.h:
15991 * libs/gst/base/gstbasesrc.c:
15992 * libs/gst/base/gstbasesrc.h:
15993 Documentation updates. Make BaseSink and BaseSrc docs contain the
15994 class structure so that people can actually see the prototypes for
15995 virtual functions they're supposed to be overriding.
15997 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15999 * plugins/elements/gsttypefindelement.c:
16000 (gst_type_find_element_chain):
16001 More debug info; when skipping typefinding, send cached
16002 events in all cases.
16004 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
16007 use new AS_VERSION and AS_NANO macros
16008 * gst/gst-i18n-lib.h:
16011 * gst/gstversion.h.in:
16012 * win32/common/config.h:
16013 * win32/common/config.h.in:
16016 2006-03-31 Michael Smith <msmith@fluendo.com>
16018 * plugins/elements/gsttypefindelement.c:
16019 (gst_type_find_element_chain):
16020 Do not typefind content if the buffers already have caps.
16021 Neccesary for icydemux (#333657), and the right thing to do anyway.
16023 2006-03-30 Wim Taymans <wim@fluendo.com>
16025 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16026 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16027 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16028 (gst_base_sink_record_qos_observation),
16029 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16030 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16031 (gst_base_sink_change_state):
16032 More QoS measurements as described in the design doc.
16033 Get rid of ringbuffer with observations, running average is
16034 more simple and equally good.
16035 Calculates valid proportion now.
16036 Added beginning of flood measurement.
16038 2006-03-29 Wim Taymans <wim@fluendo.com>
16040 * docs/design/part-qos.txt:
16042 Small documentation updates and additions.
16044 2006-03-29 Wim Taymans <wim@fluendo.com>
16046 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16047 (gst_base_src_send_event), (gst_base_src_loop),
16048 (gst_base_src_change_state):
16049 Perform the EOS logic when we reach the segment stop position.
16050 Fix compilation on gcc4.1
16052 2006-03-29 Wim Taymans <wim@fluendo.com>
16054 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16056 * plugins/elements/gstqueue.c: (gst_queue_init),
16057 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16058 (gst_queue_set_property):
16059 * plugins/elements/gstqueue.h:
16060 In queue, when EOS is received, if minimum threshold > max_size -
16061 current_level, there is chance that queue blocks forever in conditional
16062 item del wait. This is because the queue is not emptied completely due
16063 to minimum threshold. Here is another approach. Instead of setting
16064 cur_levels to max in EOS, just zero all minimum threshold levels. This
16065 should make sure that queue gives out all data. When going to READY
16066 (stop) state, just reset the original minimum threshold levels.
16069 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16071 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16072 (gst_type_find_element_handle_event),
16073 (gst_type_find_element_send_cached_events),
16074 (gst_type_find_element_change_state):
16075 * plugins/elements/gsttypefindelement.h:
16076 When typefinding is done in push mode, we should cache
16077 events we receive during typefinding instead of just
16078 dropping them (e.g. newsegment, custom events from
16079 dvdreadsrc etc.) and then send them out once we've
16080 determined the type of the stream (and decodebin
16081 has had a chance to plug in a decoder/demuxer).
16083 2006-03-27 Wim Taymans <wim@fluendo.com>
16085 * docs/design/part-qos.txt:
16088 2006-03-27 Wim Taymans <wim@fluendo.com>
16090 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16092 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16093 (gst_base_src_send_event), (gst_base_src_change_state):
16094 Handle element seek correctly when we are streaming.
16097 2006-03-24 Michael Smith <msmith@fluendo.com>
16099 * docs/faq/gst-uninstalled:
16100 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16101 allow you to correctly run intalled applications built against old
16102 core, using plugins that require updated core (e.g. running
16103 installed totem against a full uninstalled gstreamer stack)
16105 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16107 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16110 2006-03-24 Wim Taymans <wim@fluendo.com>
16112 * docs/gst/gstreamer-sections.txt:
16113 Rearrange the order of the methods so that related methods
16114 are grouped together in sections.
16116 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16118 * gst/gstelement.c:
16119 Little clarification in the docs
16121 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16125 * plugins/elements/gstidentity.c:
16126 * plugins/elements/gstqueue.c:
16127 * plugins/elements/gsttee.c:
16128 * plugins/elements/gsttypefindelement.c:
16129 GST_ELEMENT_DETAILS formatting
16131 2006-03-24 Wim Taymans <wim@fluendo.com>
16133 * libs/gst/base/gstbasesink.h:
16134 Only add fields, not insert or we break ABI.
16136 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16138 * win32/common/libgstbase.def:
16139 * win32/common/libgstreamer.def:
16140 Update, add recently added functions.
16142 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16144 * docs/gst/gstreamer-sections.txt:
16145 * gst/gstutils.c: (gst_pad_query_peer_position),
16146 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16148 API: add some new utility functions:
16149 - gst_pad_query_peer_position()
16150 - gst_pad_query_peer_duration()
16151 - gst_pad_query_peer_convert()
16153 2006-03-23 Wim Taymans <wim@fluendo.com>
16155 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16156 (gst_base_sink_init), (gst_base_sink_finalize),
16157 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16158 (gst_base_sink_set_property), (gst_base_sink_get_property),
16159 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16160 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16161 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16162 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16163 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16164 (gst_base_sink_preroll_object), (gst_base_sink_event),
16165 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16166 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16167 (gst_base_sink_query), (gst_base_sink_change_state):
16168 Decouple max-lateness and the fact that QoS messages are generated
16169 with a new property (qos).
16170 added API: GstBaseSink::async_play()
16171 Add vmethod so subclasses can be notified of ASYNC playing
16173 Collect timestamp start and stop to report better current
16174 position in EOS/PLAYING/PAUSED/READY/NULL.
16175 Refactor QoS/frame dropping and other measurements.
16176 API: GstBaseSrc::qos
16179 * libs/gst/base/gstbasesink.h:
16180 Added Private struct.
16181 API: gst_base_sink_set_qos_enabled()
16182 API: gst_base_sink_is_qos_enabled()
16184 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16186 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16187 If compiling against GLib-2.8 or newer, try to read the
16188 registry file using GMappedFile first before falling back
16189 to fopen() + fread() (#332151).
16191 2006-03-22 Wim Taymans <wim@fluendo.com>
16193 * gst/gstinfo.c: (gst_debug_set_active),
16194 (gst_debug_category_set_threshold):
16195 Disable debugging unless explicitly activated.
16198 2006-03-22 Wim Taymans <wim@fluendo.com>
16200 * gst/gstelement.c: (gst_element_set_locked_state),
16201 (gst_element_dispose):
16202 Cleanup the error case.
16204 * gst/gstobject.c: (gst_object_dispose):
16205 print a critical when some object was disposed with
16206 a parent, also revive the object since it might
16209 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16211 * tools/gst-launch.1.in:
16214 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16217 * tests/check/Makefile.am:
16218 disable some tests when we don't have a registry
16219 * tests/check/gst/gstutils.c: (gst_utils_suite):
16220 don't build the part that needs parsing
16222 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16225 * tests/examples/Makefile.am:
16226 fix --disable-parse build
16228 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16230 * tools/gst-feedback.1.in:
16231 Fix typo: s/feeback/feedback/ (#133494).
16233 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16235 * tools/Makefile.am:
16236 * tools/gst-launch.1.in:
16237 Add FILES section and correct entry about GST_REGISTRY_PATH
16238 environment variable (#133495; #133494).
16240 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16242 * tools/Makefile.am:
16243 * tools/gst-md5sum.1.in:
16244 * tools/gst-md5sum.c:
16245 Remove gst-md5sum and man page (the md5sink element
16246 required was removed ages ago)
16248 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16250 * gst/gststructure.c: (gst_structure_id_set_value):
16251 Make sure that string fields in structures/taglists
16252 contain valid UTF-8 - we don't want to pass rubbish to
16253 applications because of a buggy plugin (cp. #334167).
16255 2006-03-21 Edward Hervey <edward@fluendo.com>
16257 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16258 (gst_bin_handle_message_func):
16259 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16260 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16261 (gst_element_set_bus_func):
16262 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16263 * gst/gstminiobject.c: (gst_value_set_mini_object),
16264 (gst_value_take_mini_object):
16265 * gst/gstpad.c: (gst_pad_set_pad_template):
16266 * gst/gstpipeline.c: (gst_pipeline_dispose),
16267 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16268 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16269 (gst_collect_pads_chain):
16270 * libs/gst/net/gstnettimeprovider.c:
16271 (gst_net_time_provider_set_property):
16272 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16273 It's in fact all issues with gst_*object_replace().
16275 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16277 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16279 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16280 * pkgconfig/gstreamer-check.pc.in:
16281 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16283 2006-03-21 Edward Hervey <edward@fluendo.com>
16287 * gst/gstmessage.h:
16288 gst_[buffer|event|message]_ref() macros are replaced by a static
16289 inline functions because gcc-4.1 will about if the return value
16291 * tests/check/gst/gstevent.c: (event_probe):
16292 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16294 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16297 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16298 the type' case. (Closes: #335195 for now). In the future, when we
16299 depend on GLib 2.10, we could also intern the type name using
16300 g_intern_static_string()
16302 2006-03-20 Wim Taymans <wim@fluendo.com>
16304 * gst/gstbin.c: (gst_bin_handle_message_func),
16305 (bin_query_max_init), (bin_query_position_fold),
16306 (bin_query_position_done), (gst_bin_query):
16307 Position query should also take max of all streams.
16309 2006-03-20 Wim Taymans <wim@fluendo.com>
16311 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16312 (gst_fake_src_finalize):
16313 Fix leaks in fakesrc.
16315 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16316 Fix leaks in the testcase.
16318 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16320 * gst/gst_private.h:
16321 add win32 specific import decoration(__declspec(dllimport))
16322 for all extern GstDebugCategory * variables
16323 * win32/common/libgstbase.def:
16324 * win32/common/libgstcontroller.def:
16325 * win32/common/libgstreamer.def:
16326 Add some exports, remove empty lines
16327 * win32/common/libgstdataprotocol.def:
16328 * win32/common/libgstdataprotocol.dsp:
16329 * win32/common/libgstnet.def:
16330 * win32/common/libgstnet.dsp:
16331 new project files and exportation files added
16333 2006-03-19 Wim Taymans <wim@fluendo.com>
16335 * tests/check/libs/basesrc.c: (eos_event_counter):
16336 Use proper return value for probe.
16338 2006-03-17 Wim Taymans <wim@fluendo.com>
16340 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16342 Don't leak buffers, caps and pads on negotiation errors.
16344 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16346 * docs/faq/cvs.xml:
16347 * docs/faq/dependencies.xml:
16348 * docs/faq/developing.xml:
16349 * docs/faq/faq.xml:
16350 * docs/faq/general.xml:
16351 * docs/faq/getting.xml:
16352 * docs/faq/legal.xml:
16353 * docs/faq/troubleshooting.xml:
16354 * docs/faq/using.xml:
16355 Faq review and update.
16357 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16359 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16361 Don't pound the cpu to pieces by checking get_caps when accept_caps
16362 is called with the same caps as the pad already has.
16363 Use GST_DEBUG_OBJECT when outputting caps change information.
16365 2006-03-15 Wim Taymans <wim@fluendo.com>
16367 * gst/gstclock.c: (gst_clock_class_init):
16370 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16375 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16376 (gst_pad_accept_caps), (gst_pad_configure_sink),
16377 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16378 Make the default acceptcaps behaviour be to check the requested
16379 caps against the gst_pad_get_caps output.
16381 Ensure that gst_pad_accept_caps is used to check caps when a pad
16382 doesn't have a setcaps function, so that pads automatically refuse
16383 caps that they don't allow in their pad template. (Fixes #332986)
16385 When a buffer with attached caps is pushed, ensure that the source
16386 pad receives those caps even if the element didn't call
16387 gst_pad_set_caps first.
16389 2006-03-15 Wim Taymans <wim@fluendo.com>
16391 * libs/gst/base/gstadapter.c:
16394 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16396 * win32/common/libgstbase.def:
16397 * win32/common/libgstcontroller.def:
16398 * win32/common/libgstreamer.def:
16399 Add a whole bunch of missing functions (#334434).
16401 2006-03-14 Wim Taymans <wim@fluendo.com>
16403 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16404 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16405 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16406 Better debug info when we receive a segment event.
16407 Reorganize a bit so we can pass the get_times() results around.
16408 Use the segment format when calculating the running time.
16409 Don't do QoS is sync is disabled or we have no clock or the
16410 element does not want us to sync to the clock.
16411 Don't drop buffers if QoS is disabled for now.
16413 2006-03-14 Wim Taymans <wim@fluendo.com>
16415 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16416 Marked the stats property as unimplemented so people don't get
16418 Add debug message when regression goes wrong.
16419 Added some more docs.
16421 2006-03-14 Wim Taymans <wim@fluendo.com>
16423 * gst/gstsegment.c: (gst_segment_to_stream_time):
16424 Return correct return type in case of errors.
16426 2006-03-14 Wim Taymans <wim@fluendo.com>
16428 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16429 Don't segfault on invalid formats.
16431 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16433 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16434 Can't use gst_segment_to_running_time() when the segment
16435 is not in GST_TIME_FORMAT (like with filesink, for example).
16436 Stops flac encoding pipelines from spewing critical warnings
16439 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16441 * gst/gstpipeline.c: (gst_pipeline_class_init):
16442 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16444 * plugins/elements/gsttypefindelement.c:
16445 (gst_type_find_element_handle_event):
16446 Don't try to typefind empty streams.
16448 2006-03-14 Wim Taymans <wim@fluendo.com>
16450 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16451 (gst_base_sink_do_qos):
16452 Separate QoS calculation.
16453 Only drop buffers when lateness is bigger than the
16454 duration of the buffer.
16456 2006-03-13 Wim Taymans <wim@fluendo.com>
16458 * gst/gstpipeline.c: (gst_pipeline_set_property),
16459 (gst_pipeline_get_property), (do_pipeline_seek),
16460 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16461 (gst_pipeline_get_delay):
16462 Don't deadlock when reading properties.
16464 2006-03-13 Wim Taymans <wim@fluendo.com>
16466 * libs/gst/base/gstbasetransform.c:
16467 (gst_base_transform_class_init), (gst_base_transform_init),
16468 (gst_base_transform_sink_event),
16469 (gst_base_transform_sink_eventfunc),
16470 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16471 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16472 (gst_base_transform_set_property),
16473 (gst_base_transform_get_property),
16474 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16475 (gst_base_transform_set_qos_enabled),
16476 (gst_base_transform_is_qos_enabled):
16477 * libs/gst/base/gstbasetransform.h:
16478 Make basetransform virtual method for src events too.
16479 Handle QOS in basetransform.
16480 API: gst_base_transform_update_qos()
16481 API: gst_base_transform_set_qos_enabled()
16482 API: gst_base_transform_is_qos_enabled()
16484 2006-03-13 Wim Taymans <wim@fluendo.com>
16486 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16487 (gst_base_sink_do_sync):
16489 Use QOS debug category.
16491 2006-03-13 Wim Taymans <wim@fluendo.com>
16493 * plugins/elements/gstqueue.c:
16494 Very small doc update.
16496 2006-03-13 Wim Taymans <wim@fluendo.com>
16498 * gst/gst_private.h:
16499 * gst/gstinfo.c: (_gst_debug_init):
16500 Added QOS debug category
16502 2006-03-13 Wim Taymans <wim@fluendo.com>
16504 * docs/gst/gstreamer-sections.txt:
16505 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16507 * gst/gstbus.c: (gst_bus_class_init):
16510 * gst/gstelement.c: (gst_element_set_locked_state):
16511 * gst/gstsegment.c:
16512 Documentation updates.
16514 * gst/gstpipeline.c: (gst_pipeline_get_type),
16515 (gst_pipeline_class_init), (gst_pipeline_init),
16516 (gst_pipeline_dispose), (gst_pipeline_set_property),
16517 (gst_pipeline_get_property), (do_pipeline_seek),
16518 (gst_pipeline_send_event), (gst_pipeline_change_state),
16519 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16520 (gst_pipeline_get_delay):
16521 * gst/gstpipeline.h:
16522 Added methods for setting the delay.
16523 API: gst_pipeline_set_delay()
16524 API: gst_pipeline_get_delay()
16525 Add pipeline debug category
16528 Don't reset stream time when seek failed.
16530 2006-03-13 Wim Taymans <wim@fluendo.com>
16532 * docs/design/draft-klass.txt:
16533 * docs/design/part-clocks.txt:
16534 * docs/design/part-events.txt:
16535 * docs/design/part-gstbin.txt:
16536 * docs/design/part-gstpipeline.txt:
16537 * docs/design/part-messages.txt:
16538 * docs/design/part-negotiation.txt:
16539 * docs/design/part-overview.txt:
16540 * docs/design/part-preroll.txt:
16541 * docs/design/part-seeking.txt:
16542 * docs/design/part-states.txt:
16543 * docs/design/part-streams.txt:
16544 Documentation updates.
16546 2006-03-12 Julien MOUTTE <julien@moutte.net>
16548 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16549 us to leak strings...
16551 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16553 * libs/gst/net/gstnettimeprovider.c:
16555 * win32/common/config.h:
16558 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16560 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16563 Don't check for libgnomeui (leftover from old examples
16564 that aren't built or disted any longer) (#334303).
16566 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16568 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16569 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16570 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16571 there's no space left on the device.
16573 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16576 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16577 to cast the input to GstClockTime before comparing with
16578 another GstClockTime value.
16580 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16585 === release 0.10.4 ===
16587 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16590 releasing 0.10.4, "Light"
16592 2006-03-10 Michael Smith <msmith@fluendo.com>
16594 * libs/gst/dataprotocol/dataprotocol.c:
16595 Fix docs for dataprocotol to not get the return types completely
16596 wrong for a few functions.
16598 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16600 * docs/gst/gstreamer-sections.txt:
16601 * gst/gstpipeline.c: (gst_pipeline_class_init),
16602 (gst_pipeline_init), (gst_pipeline_set_property),
16603 (gst_pipeline_get_property), (gst_pipeline_change_state),
16604 (gst_pipeline_set_auto_flush_bus),
16605 (gst_pipeline_get_auto_flush_bus):
16606 * gst/gstpipeline.h:
16607 Add new API: gst_pipeline_set_auto_flush_bus() and
16608 gst_pipeline_get_auto_flush_bus() to disable automatic
16609 flushing of the pipeline's GstBus when going from READY
16610 to NULL state (#332045).
16612 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16614 * docs/gst/gstreamer-sections.txt:
16615 * gst/gsturi.c: (gst_uri_has_protocol):
16617 Add new API: gst_uri_has_protocol() (#333779).
16619 2006-03-09 Wim Taymans <wim@fluendo.com>
16621 * gst/gstclock.c: (gst_clock_entry_new),
16622 (gst_clock_id_compare_func), (gst_clock_id_wait),
16623 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16624 (gst_clock_init), (gst_clock_get_internal_time),
16625 (gst_clock_set_master), (do_linear_regression),
16626 (gst_clock_add_observation), (gst_clock_set_property):
16630 Fix a possible segfault when the window-size is made smaller.
16631 Calculate jitter before performing the clock wait. Ideally
16632 the clock implementation should calculate jitter but we need
16633 API breakage for that.
16635 * gst/gstsystemclock.c: (gst_system_clock_init):
16638 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16639 Remove leftover else
16641 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16642 (gst_systemclock_suite):
16643 Added check to test GST_CLOCK_DIFF.
16645 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16647 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16648 (gst_type_find_helper_get_range):
16649 If we are provided with the size, we should implement
16650 GstTypeFind::get_length, so that typefind functions who
16651 want to can actually peek at the middle of a file.
16653 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16655 * docs/manual/advanced-dataaccess.xml:
16656 Add some very very basic error checking.
16658 * docs/pwg/appendix-checklist.xml:
16659 Some updates to the list of things to check when writing an element.
16661 2006-03-08 Wim Taymans <wim@fluendo.com>
16663 * docs/design/part-element-transform.txt:
16664 Added some docs about the design of tranform elements.
16666 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16667 (gst_base_src_loop), (gst_base_src_change_state):
16668 Mark buffers with the DISCONT flag.
16670 2006-03-08 Michael Smith <msmith@fluendo.com>
16672 * gst/gstregistry.h:
16673 * gst/gstregistryxml.c: (gst_registry_save),
16674 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16675 (gst_registry_xml_save_pad_template),
16676 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16677 (gst_registry_xml_write_cache):
16678 Rewrite registry-saving to avoid race conditions and check for
16681 2006-03-08 Wim Taymans <wim@fluendo.com>
16683 * libs/gst/base/gstbasetransform.c:
16684 (gst_base_transform_transform_caps),
16685 (gst_base_transform_transform_size),
16686 (gst_base_transform_prepare_output_buffer),
16687 (gst_base_transform_get_unit_size),
16688 (gst_base_transform_buffer_alloc),
16689 (gst_base_transform_handle_buffer),
16690 (gst_base_transform_change_state):
16691 Cleanups, separate normal flow from errors, add sensible
16693 Don't try to renegotiate when allocating an output buffer.
16694 Also copy DISCONT buffer flag when copying a buffer.
16695 Reset the transform after we finish streaming, not during.
16697 2006-03-08 Wim Taymans <wim@fluendo.com>
16699 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16700 Use last buffer timestamp in qos message.
16702 2006-03-07 Wim Taymans <wim@fluendo.com>
16704 Patch by: Christophe Fergeau
16706 * docs/pwg/advanced-tagging.xml:
16707 * docs/pwg/building-pads.xml:
16710 2006-03-07 Wim Taymans <wim@fluendo.com>
16712 * docs/libs/gstreamer-libs-sections.txt:
16713 Added basesink new methods.
16717 Docs updates. Flesh out the QoS docs.
16719 * libs/gst/base/gstadapter.c:
16720 Small doc clarification about ownership and flushing.
16722 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16723 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16724 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16725 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16726 * libs/gst/base/gstbasesink.h:
16728 Added new methods to allow subclass to control max-lateness
16730 Generate very basic QoS events based on last sync observation.
16731 Updated docs, fix typo, added some QoS blurb.
16733 * libs/gst/base/gstbasesrc.c:
16734 Remove obsolete _get_state() calls from docs.
16736 2006-03-07 Wim Taymans <wim@fluendo.com>
16738 * docs/libs/gstreamer-libs-sections.txt:
16739 * libs/gst/base/gstbasetransform.h:
16740 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16741 Fix docs for GstBaseSrc.
16743 2006-03-07 Wim Taymans <wim@fluendo.com>
16745 * docs/gst/gstreamer-sections.txt:
16748 * libs/gst/base/gstbasetransform.h:
16749 Small documentation fixes.
16751 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16754 Document thread-unsafety of gst_value_register_foo_func()
16755 when used at the same time as gst_value_foo() (#322628).
16757 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16759 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16760 (gst_push_src_check_get_range):
16761 Push sources don't support pull mode by default.
16763 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16765 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16766 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16767 (gst_base_src_default_check_get_range):
16768 * libs/gst/base/gstbasesrc.h:
16769 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16770 provide default implementation, and rename
16771 gst_base_src_check_get_range() to
16772 gst_base_src_pad_check_get_range() for clarity.
16774 2006-03-06 Wim Taymans <wim@fluendo.com>
16776 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16777 Make property overridable.
16779 2006-03-06 Wim Taymans <wim@fluendo.com>
16781 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16782 (gst_base_sink_init), (gst_base_sink_set_property),
16783 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16784 * libs/gst/base/gstbasesink.h:
16785 API addition: Make max-lateness a property.
16787 2006-03-06 Wim Taymans <wim@fluendo.com>
16789 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16790 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16791 Don't ever draw a frame that is >10ms late.
16793 2006-03-06 Michael Smith <msmith@fluendo.com>
16795 * gst/gstmessage.c: (_gst_message_copy):
16796 When copying a message, set the parent_refcount of the enclosed
16797 structure to point at the copy, not the original message.
16799 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16801 Patch by: Christophe Fergeau
16804 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16805 usable in c++ code (#333417)
16807 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16810 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16812 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16814 * libs/gst/base/gstbasetransform.c:
16815 (gst_base_transform_transform_caps):
16816 Make sure caps are writable before passing them to
16819 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16822 Fix some minor docs errors.
16824 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16826 Patch by: Ross Burton <ross at burtonini dot com>
16828 * gst/gsterror.c: (_gst_resource_errors_init):
16830 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16832 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16835 Add a check and output a g_warning when GStreamer is built
16836 against GLib 2.6 but running against 2.8 or higher, and vice
16837 versa. (Closes: #323542)
16839 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16841 * gst/parse/parse.l:
16842 Commit patch for parse_launch syntax from #331255. Removes
16843 support for quoted strings and mimetypes when writing filtered
16844 caps. See the bug report for more details - I'm pretty sure this
16845 obscure feature is not in use by _anyone_ anywhere.
16847 With this simple change, the size of the gstreamer.so here
16848 drops from 2193KB to 1565KB.
16850 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16852 * plugins/elements/gsttypefindelement.h:
16853 * plugins/elements/gsttypefindelement.c:
16854 (gst_type_find_element_src_event), (start_typefinding),
16855 (stop_typefinding), (gst_type_find_element_handle_event),
16856 (gst_type_find_element_chain),
16857 (gst_type_find_element_chain_do_typefinding):
16858 Use gst_type_find_helper_for_buffer() for chain-based
16861 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16863 * plugins/elements/gsttypefindelement.c:
16864 (gst_type_find_element_class_init),
16865 (gst_type_find_element_set_property),
16866 (gst_type_find_element_get_property):
16867 Deprecate "maximum" property (not only was it only taken into
16868 account for typefinding in push-mode anyway, it also was never
16869 actually possible to set it in the first place because the
16870 property was registered with the numeric property ID for the
16871 "minimum" property). Register "maximum" property correctly,
16872 for the sake of future copy'n'pasters. Remove some cruft
16873 from property get/set functions.
16875 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16877 * plugins/elements/gsttypefindelement.c:
16878 (gst_type_find_element_activate):
16879 Use gst_type_find_helper_get_range() here, so we
16880 can honour the "minimum" property and also emit
16881 the signal with the correct probability of the found caps.
16883 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16885 * docs/libs/gstreamer-libs-sections.txt:
16886 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16887 (helper_find_suggest), (gst_type_find_helper_get_range),
16888 (gst_type_find_helper):
16889 * libs/gst/base/gsttypefindhelper.h:
16890 New API: gst_type_find_helper_get_range() (#333042).
16892 2006-03-02 Michael Smith <msmith@fluendo.com>
16894 * gst/gstregistryxml.c: (load_feature):
16895 Asserting on a failure to read part of the registry is Not Cool.
16896 Just log a warning and return NULL (which is already handled)
16898 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16900 * win32/common/libgstbase.def:
16901 added export of gst_type_find_helper_for_buffer
16902 * win32/common/libgstbase.def:
16903 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16904 gst_ghost_pad_get_target
16906 2006-02-28 Wim Taymans <wim@fluendo.com>
16908 * docs/design/draft-klass.txt:
16910 Added Connector to mark elements that are only used to
16911 allow pipeline connections.
16912 Moved Debug to extra feature since most of them are
16913 functionally something else.
16915 2006-02-28 Wim Taymans <wim@fluendo.com>
16917 * docs/design/draft-klass.txt:
16918 Some updates and clarifications.
16920 2006-02-28 Wim Taymans <wim@fluendo.com>
16922 * docs/design/draft-klass.txt:
16923 Proposal for klass field values.
16925 * docs/design/part-streams.txt:
16926 Start of a doc describing stream anatomy.
16928 2006-02-28 Wim Taymans <wim@fluendo.com>
16930 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16931 Help the compiler a bit with type registration.
16932 Use existing forward cod path instead of duplicating it when
16933 handling a message.
16935 * gst/gstbus.c: (gst_bus_get_type):
16936 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16937 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16938 * gst/gstclock.c: (gst_clock_get_type):
16939 * gst/gstelement.c: (gst_element_get_type),
16940 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16941 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16942 * gst/gstminiobject.c: (gst_mini_object_get_type):
16943 * gst/gstpad.c: (gst_pad_get_type):
16944 * gst/gstsegment.c: (gst_segment_get_type):
16945 * gst/gststructure.c: (gst_structure_get_type):
16946 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16947 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16949 Help compiler with type registration.
16951 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16954 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16956 * plugins/elements/gsttypefindelement.c:
16957 (gst_type_find_element_handle_event):
16958 When we get an EOS event and have not found a type yet
16959 (most likely because we had not yet accumulated
16960 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16961 type given the data we have so far. Fixes typefinding
16962 for very short streams again, most notably quicktime
16963 redirections as used on Apple's trailer site (#331701).
16965 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16967 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16968 (gst_type_find_helper):
16969 Try typefinding factories with the highest rank first.
16971 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16973 * docs/libs/gstreamer-libs-docs.sgml:
16974 * docs/libs/gstreamer-libs-sections.txt:
16975 * libs/gst/base/gsttypefindhelper.c:
16976 Add section for typefind helper and add documentation
16977 for the old and the new function.
16979 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16981 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16982 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16983 (gst_type_find_helper_for_buffer):
16984 * libs/gst/base/gsttypefindhelper.h:
16985 New API: gst_type_find_helper_for_buffer() (#332723).
16987 2006-02-27 Michael Smith <msmith@fluendo.com>
16989 Patch by: Loïc Minier
16992 * docs/Makefile.am:
16993 * docs/slides/Makefile.am:
16994 prevent CVS directories getting disted.
16996 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16998 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16999 Use the REFCOUNTING category for caps refcounting.
17001 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17003 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17004 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17006 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17008 * plugins/elements/gsttypefindelement.c:
17009 (gst_type_find_element_activate):
17010 Use gst_pad_check_pull_range() before _activate_pull()
17011 to avoid unnecessary open/close (see #331690).
17013 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17016 Docs enhancement: make it crystal clear what the
17017 gst_pad_add_*_probe() callbacks should look like.
17019 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17021 * libs/gst/base/gstbasesrc.c:
17022 Document how applications can stop recording from
17023 live sources (see #330996).
17025 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17027 * tests/check/Makefile.am:
17028 * tests/check/libs/basesrc.c: (eos_event_counter),
17029 (basesrc_eos_events_pull), (basesrc_eos_events_push),
17030 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17031 (gst_basesrc_suite), (main):
17032 ... and add some tests for the base source EOS stuff.
17034 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17036 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17037 Test case originally showed the problem fixed below,
17038 but was then amended. Add checks back at the place
17039 where they used to be.
17041 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17043 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17044 (gst_base_src_init), (gst_base_src_loop),
17045 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17046 (gst_base_src_change_state):
17047 * libs/gst/base/gstbasesrc.h:
17048 Don't unconditionally send EOS when going from PAUSED to
17049 READY state, esp. make sure we don't send two EOS events
17050 in some cases (e.g. one when reaching EOS and one when
17051 going from PAUSED to READY). Also, we don't want to send
17052 EOS events when operating in pull mode. However, we do
17053 want to send an EOS event when shutting down a live
17054 source explicitly, for example (fixes #330996).
17056 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17058 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17059 Update src->read_position after a seek when not using mmap.
17060 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17062 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17068 Make things work with --disable-parse as they do with
17069 --disable-load-save - the symbols involved disappear, but the
17070 header is still installed and GST_DISABLE_PARSE is included via
17073 2006-02-20 Julien MOUTTE <julien@moutte.net>
17075 * libs/gst/base/gstbasetransform.c:
17076 (gst_base_transform_change_state): Fix a stupid bug. I was
17077 sure I compiled that.
17079 2006-02-20 Julien MOUTTE <julien@moutte.net>
17081 * gst/gstpad.c: (gst_pad_set_blocked_async):
17082 * gst/gstutils.c: (gst_pad_add_data_probe),
17083 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17084 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17085 (gst_pad_remove_buffer_probe): Make those function act on the
17086 ghostpad target when it's a ghostpad. (Closes #331727)
17088 2006-02-20 Julien MOUTTE <julien@moutte.net>
17090 * libs/gst/base/gstbasetransform.c:
17091 (gst_base_transform_change_state): Make basetransform reusable.
17094 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17096 * docs/random/release:
17097 Move the current documentation of how to do a release to the top
17100 * gst/gstbin.c: (gst_bin_class_init),
17101 (gst_bin_handle_message_func):
17102 Allow multiple state-recalculation threads. (Closes #328873)
17104 2006-02-19 Julien MOUTTE <julien@moutte.net>
17106 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17107 * gst/gstpad.c: (gst_pad_set_event_function),
17108 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17109 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17110 2 strings. You can't use the STR_NULL macro on that.
17112 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17114 * gst/gstpad.c: (gst_pad_set_event_function),
17115 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17116 (gst_pad_set_getcaps_function)
17117 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17118 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17119 So now, we can use --gst-debug-level=5 on Windows
17120 * win32/common/libgstcontroller.def:
17121 Added export of gst_controller_init
17122 * win32/vs6/libgstcontroller.dsp:
17123 Fixed Release post build configuration
17125 2006-02-17 Wim Taymans <wim@fluendo.com>
17127 * tests/check/gst/gstquery.c: (GST_START_TEST):
17128 Added another check.
17130 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17132 * plugins/elements/gsttypefindelement.c: (find_peek):
17133 We can do peeks at non-zero offsets, as long as they
17134 fall within the buffer we have.
17136 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17138 * tests/check/Makefile.am:
17139 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17140 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17141 (parse_suite), (main):
17142 Add testsuite for parse launch syntax
17144 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17146 * plugins/elements/gsttypefindelement.c:
17147 (gst_type_find_element_chain):
17148 When typefinding is unsuccessful in the chain function, don't
17149 error out immediately. Only error out with NO_CAPS_FOUND if
17150 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17151 otherwise simply wait for more data so we can try typefinding
17152 again with more data later. Also, don't attempt to typefind
17153 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17154 this should improve typefinding from network sources where the
17155 size of the first buffer can be somewhat random.
17157 2006-02-14 Wim Taymans <wim@fluendo.com>
17159 * docs/gst/gstreamer-sections.txt:
17160 * gst/gstpadtemplate.c:
17161 * gst/gstpadtemplate.h:
17162 Fix padtemplate docs, fixes #328805.
17164 2006-02-14 Wim Taymans <wim@fluendo.com>
17166 * tools/gst-launch.c: (main):
17167 NO_PREROLL is not an ERROR so don't send confusing messages
17170 2006-02-14 Wim Taymans <wim@fluendo.com>
17172 Patch by: Torsten Schoenfeld
17174 * gst/gstregistry.c: (gst_registry_get_default),
17175 (_gst_registry_cleanup):
17176 Protect default registry with lock and ref/sink it.
17179 2006-02-14 Wim Taymans <wim@fluendo.com>
17182 * gst/gstquery.c: (gst_query_list_add_format),
17183 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17184 (gst_query_parse_formats_nth):
17185 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17188 2006-02-14 Wim Taymans <wim@fluendo.com>
17190 * docs/gst/gstreamer-sections.txt:
17191 Reworked query docs.
17193 * gst/gstquery.c: (gst_query_new_formats),
17194 (gst_query_list_add_format), (gst_query_set_formats),
17195 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17196 (gst_query_parse_formats_nth):
17198 Flesh out formats query, added some new methods.
17199 Fix part of #324398.
17201 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17202 Added query creation tests.
17204 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17206 * gst/gstpad.c: (fixate_value):
17207 Add a default fixation for fraction lists.
17209 2006-02-13 Wim Taymans <wim@fluendo.com>
17211 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17212 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17215 Detect and warn for obvious deadlocks. fixes #320340
17216 Fix error case where lock was not released.
17218 * tests/check/Makefile.am:
17219 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17220 (task_func), (gst_element_suite), (main):
17223 2006-02-13 Wim Taymans <wim@fluendo.com>
17225 * docs/gst/gstreamer-sections.txt:
17227 Add new functions to docs.
17229 2006-02-13 Wim Taymans <wim@fluendo.com>
17231 * docs/design/part-TODO.txt:
17232 Updated TODO list, basesrc supports seeking to non-bytes
17235 * docs/design/part-element-sink.txt:
17238 * gst/gstbin.c: (bin_replace_message),
17239 (gst_bin_handle_message_func):
17240 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17241 * gst/gstevent.c: (gst_event_finalize):
17242 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17243 (gst_pad_send_event):
17244 Use shiny new _TYPE_NAME macros.
17246 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17247 Move debug statement up.
17249 * gst/gstelement.c: (gst_element_set_locked_state):
17250 Add some debugging.
17252 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17254 * docs/gst/gstreamer-sections.txt:
17255 * gst/gstmessage.h:
17257 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17258 macros (#330906). Also, document the already existing
17259 GST_QUERY_TYPE macro.
17261 2006-02-13 Wim Taymans <wim@fluendo.com>
17263 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17264 (event_probe), (GST_START_TEST):
17265 Only events up to the pipeline EOS are counted, there are
17266 some more when going to NULL currently which we don't care
17269 2006-02-13 Wim Taymans <wim@fluendo.com>
17271 * gst/gstpad.c: (gst_pad_send_event):
17272 Correctly check flushing and emit probes. fixes #330125
17274 2006-02-10 Andy Wingo <wingo@pobox.com>
17276 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17278 (gst_bus_init): Cache the location of the private data in the
17279 instance structure.
17280 (gst_bus_enable_sync_message_emission)
17281 (gst_bus_disable_sync_message_emission): Implement new public
17283 (gst_bus_post): Emit the sync-message signal if the user asked for
17286 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17287 location of the bus-private structure.
17288 (gst_bus_enable_sync_message_emission)
17289 (gst_bus_disable_sync_message_emission): API addition
17291 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17293 Patch by: Vincent Torri
17295 * docs/pwg/building-boiler.xml:
17296 PWG patch from #326800
17298 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17301 * docs/Makefile.am:
17302 * docs/design/Makefile.am:
17305 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17310 === release 0.10.3 ===
17312 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17315 releasing 0.10.3, "Like a virgin"
17317 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17320 2nd prerelease of 0.10.3
17321 Bump libtool versioning.
17323 2006-02-07 Andy Wingo <wingo@pobox.com>
17325 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17326 update last_stop if we're in TIME format and the timestamp is
17329 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17330 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17331 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17332 If we get a new newsegment with a different format, adapt
17335 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17336 of 0. Not a problem, really.
17338 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17341 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17346 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17349 project files updated to the default vs7 configuration
17350 * win32/common/libgstbase.def:
17351 * win32/common/libgstreamer.def:
17353 removed empty lines,
17354 sorted all exported symbols alphabetically
17355 * win32/common/dirent.c:
17356 * win32/common/dirent.h:
17357 * win32/common/gchar.h:
17358 use windows line end.
17360 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17362 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17363 Send EOS event when stopping.
17365 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17368 Tell folks what to do if the plugin-foobar.xml file
17369 hasn't been generated for a newly-added plugin.
17371 2006-02-05 Julien MOUTTE <julien@moutte.net>
17373 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17374 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17375 (gst_collect_pads_start), (gst_collect_pads_stop),
17376 (gst_collect_pads_event): Collectpads now holds a reference
17377 to the GstPad that was added. Indeed we don't want to look
17378 at pads that might just go away with no warning...
17380 2006-02-05 Julien MOUTTE <julien@moutte.net>
17382 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17383 (gst_collect_pads_start), (gst_collect_pads_stop),
17384 (gst_collect_pads_event), (gst_collect_pads_chain):
17385 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17386 Mark Nauwelaerts's patch on bug #328491.
17388 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17390 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17392 Add some simple tests for gst_parse_bin_from_description() and
17393 gst_bin_find_unconnected_pad() (#329069).
17395 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17397 * tools/gst-launch.c: (event_loop), (main):
17398 Catch errors during preroll (#320084).
17400 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17402 * plugins/elements/gsttypefindelement.c:
17403 (gst_type_find_element_activate):
17404 Post TYPE_NOT_FOUND error message when typefinding
17405 is unsuccessful in the activate function as well.
17407 2006-02-02 Wim Taymans <wim@fluendo.com>
17409 * docs/design/part-element-sink.txt:
17412 2006-02-02 Wim Taymans <wim@fluendo.com>
17414 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17415 (gst_base_sink_render_object),
17416 (gst_base_sink_queue_object_unlocked):
17417 Only keep track of prerollable items when we are
17419 Before rendering after preroll, always check if we
17421 Added some more debugging.
17423 2006-02-02 Wim Taymans <wim@fluendo.com>
17425 * gst/gstelement.c: (gst_element_continue_state),
17426 (gst_element_set_state_func), (gst_element_change_state):
17427 Fixed #326576, been running this for quite some time with
17428 no regressions at all.
17430 2006-02-02 Wim Taymans <wim@fluendo.com>
17433 Added more suppressions
17435 2006-02-02 Wim Taymans <wim@fluendo.com>
17437 * docs/design/part-element-sink.txt:
17440 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17441 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17442 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17443 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17444 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17445 (gst_base_sink_preroll_object),
17446 (gst_base_sink_queue_object_unlocked),
17447 (gst_base_sink_queue_object), (gst_base_sink_event),
17448 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17449 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17450 (gst_base_sink_get_position), (gst_base_sink_change_state):
17451 * libs/gst/base/gstbasesink.h:
17452 Totally refactored matching the design doc.
17453 Use two segments, one to clip incomming buffers and another to
17455 Handle queueing correctly, bypass the queue when playing.
17456 Make EOS cancelable.
17457 Handle errors correctly when operating in pull based mode.
17459 * tests/check/elements/fakesink.c: (GST_START_TEST),
17461 Added new check for sinks.
17463 2006-02-02 Wim Taymans <wim@fluendo.com>
17465 * gst/gstsegment.c: (gst_segment_clip):
17466 No reason to refuse to clip when start == -1
17468 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17471 * docs/manual/intro-basics.xml:
17472 * docs/manual/intro-preface.xml:
17473 * docs/manual/manual.xml:
17474 * docs/pwg/advanced-dparams.xml:
17475 * docs/pwg/intro-basics.xml:
17476 * docs/pwg/intro-preface.xml:
17477 * docs/pwg/pwg.xml:
17478 describe dparams (controller) for plugins
17479 unify docs a little more
17481 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17483 * docs/gst/gstreamer-sections.txt:
17484 * gst/gstutils.c: (element_find_unconnected_pad),
17485 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17487 Add new API: gst_parse_bin_from_description() and
17488 gst_bin_find_unconnected_pad() (#329069).
17490 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17492 * docs/manual/README:
17493 uncover a nasty detail of the docs build
17495 2006-01-31 Wim Taymans <wim@fluendo.com>
17497 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17498 Don't cache duration messages if we're not going to use or
17501 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17503 * docs/manual/advanced-dparams.xml:
17504 * docs/pwg/advanced-dparams.xml:
17508 * libs/gst/controller/lib.c: (gst_controller_init):
17511 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17513 * gst/gstelement.c: (gst_element_message_full):
17514 also show file/line/func if no additional debug was given
17516 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17518 * win32/vs7/grammar.vcproj:
17519 activate copy of autogenerated files for Release mode
17521 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17523 * win32/common/libgstreamer.def:
17524 export gst_value_compare
17526 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17528 * plugins/elements/Makefile.am:
17529 * plugins/elements/gstelements.c:
17530 * plugins/elements/gstfdsink.c: (_do_init),
17531 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17532 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17533 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17534 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17535 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17536 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17537 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17538 * plugins/elements/gstfdsink.h:
17539 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17541 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17543 * docs/manual/advanced-dparams.xml:
17544 describe controller
17545 * docs/manual/advanced-position.xml:
17546 * docs/manual/basics-init.xml:
17547 * docs/manual/manual.xml:
17548 * docs/manual/titlepage.xml:
17549 * docs/pwg/pwg.xml:
17550 * docs/pwg/titlepage.xml:
17551 cleanup xml (more to come)
17552 * libs/gst/controller/gstcontroller.c:
17555 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17557 * win32/vs6/grammar.dsp:
17558 add autogen of gstmarshal.c,h for Release mode
17560 2006-01-30 Wim Taymans <wim@fluendo.com>
17562 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17563 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17564 (gst_base_sink_handle_object), (gst_base_sink_event),
17565 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17566 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17567 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17568 (gst_base_sink_deactivate), (gst_base_sink_activate),
17569 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17570 (gst_base_sink_query), (gst_base_sink_change_state):
17571 Basesink cleanups, remove some old code.
17572 Handle the case where a subclass can preroll in the render
17573 method (mostly audiosinks).
17574 Handle more events.
17575 Remove some locks around variables that are now protected
17576 with the PREROLL_LOCK (clock_id, flushing, ..).
17577 Optimize position query some more, do correct locking.
17578 Remove old code to push queue in state change, this is not
17579 needed anymore since preroll blocks on all prerollable items
17581 Almost implemented as described in design doc.
17583 2006-01-30 Wim Taymans <wim@fluendo.com>
17585 * tests/check/gst/gstbin.c: (GST_START_TEST):
17586 Wait for refcount to settle down before checking.
17588 2006-01-30 Wim Taymans <wim@fluendo.com>
17590 * docs/design/part-element-sink.txt:
17591 Pseudo code overview of desired sink behaviour regarding
17594 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17595 * win32/vs6/grammar.dsp:
17596 fix some bugs in Release mode for autogenerated files
17598 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17599 * win32/common/libgstbase.def:
17600 * win32/common/libgstreamer.def:
17601 export some new symbols: gst_base_src_set_format,
17602 gst_iterator_next, gst_structure_set_valist
17604 2006-01-29 Julien MOUTTE <julien@moutte.net>
17606 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17607 Set pad functions unconditionally. Fixes #329105.
17609 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17611 add vs8 project files created by Sergey Scobich
17613 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17615 * gst/gstutils.c: (gst_element_unlink_pads):
17616 Don't leak pad references.
17618 * tests/check/elements/fakesink.c: (GST_START_TEST):
17619 * tests/check/generic/sinks.c: (GST_START_TEST):
17620 * tests/check/generic/states.c: (GST_START_TEST):
17621 * tests/check/gst/gstbin.c: (GST_START_TEST):
17622 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17623 * tests/check/gst/gstelement.c: (GST_START_TEST):
17624 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17625 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17626 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17627 Fix a bunch of leaks. Make generic/sinks.c
17628 use a bit less cpu by slowing the buffer rate
17629 between fakesrc and fakesink.
17631 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17633 * gst/gstelement.c: (gst_element_send_event):
17636 * gst/gstiterator.c:
17637 * gst/gstiterator.h:
17638 * gst/gstpad.c: (gst_pad_send_event):
17639 * gst/gststructure.c:
17643 * libs/gst/base/gstadapter.c:
17644 doc fixes, to link to function, just write gst_cool_function(), don't
17647 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17649 * plugins/elements/gsttee.c: (gst_tee_do_push),
17650 (gst_tee_handle_buffer):
17651 Always prefer an actual return value from a src
17652 pad in place of NOT_LINKED. This means we return
17653 WRONG_STATE when all src pads are WRONG_STATE
17654 instead of NOT_LINKED.
17656 Lock when replacing the last message to prevent
17657 racing with the get_property method.
17661 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17663 * tests/check/Makefile.am:
17664 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17666 Add a very simple check that should have caught the memleak I fixed
17667 last night (if not for the slice allocator hiding it)
17669 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17671 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17672 (gst_bin_remove_func), (gst_bin_handle_message_func),
17673 (bin_query_duration_fold), (bin_query_generic_fold):
17674 Clean up references to the clock provider when disposed or when
17675 handling a clock-lost message from it.
17677 Unref sinks when performing a query via gst_iterator_fold, as the
17678 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17680 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17681 (gst_clock_set_master):
17682 Drop our reference to the master clock, if any, when we are disposed.
17684 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17685 Chain up in dispose.
17687 2006-01-26 Wim Taymans <wim@fluendo.com>
17689 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17690 Add some debugging.
17692 2006-01-26 Julien MOUTTE <julien@moutte.net>
17694 * plugins/elements/gsttee.c: (gst_tee_do_push),
17695 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17696 handles pad being NOT_LINKED or in WRONG_STATE.
17698 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17703 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17706 remove obsolete entry
17708 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17710 * docs/gst/gstreamer-sections.txt:
17711 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17712 (gst_bin_iterate_sources), (gst_bin_send_event):
17714 * gst/gstelement.c: (gst_element_send_event):
17716 * gst/gstpad.c: (gst_pad_send_event):
17717 added code for downstream events, reviewed docs in gstevent.c
17719 2006-01-25 Julien MOUTTE <julien@moutte.net>
17721 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17722 We only query position using the clock in the playing state.
17723 Query peer in the other cases.
17724 * win32/common/config.h: Updates.
17726 2006-01-24 Wim Taymans <wim@fluendo.com>
17728 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17729 A clock entry that is scheduled for the exact time of the
17730 clock is still in time.
17732 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17733 (gst_base_sink_do_sync):
17734 Add some more debug info.
17736 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17739 Add new vs7 project files and solution.
17741 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17744 all files removed as they were out-dated.
17746 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17748 * docs/random/release:
17750 * gst/gstbin.c: (gst_bin_init):
17751 * gst/gstbus.c: (gst_bus_new):
17753 * gst/gstpipeline.c: (gst_pipeline_init):
17754 use gst_bus_new(), improve logging, fix docs
17755 * win32/common/config.h:
17756 update for cvs build
17758 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17761 up required version of automake to 1.7
17763 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17765 * win32/common/libgstreamer.def:
17766 export gst_buffer_is_metadata_writable
17768 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17770 * docs/gst/gstreamer-sections.txt:
17772 Add gst_event_replace() (#327001)
17774 2006-01-20 Wim Taymans <wim@fluendo.com>
17776 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17777 Make it actually compile too..
17779 2006-01-20 Wim Taymans <wim@fluendo.com>
17782 Clarify behaviour of _is_equal() when passing NULL parameters.
17784 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17785 (gst_pad_set_caps):
17786 Cleanups. Don't unref NULL caps.
17787 When setting the same caps, protect caps of the pad with
17789 Use full functionality of _is_equal() when comparing caps.
17791 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17793 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17794 Don't loop infinitely if there are no buffers to present. Partially
17795 fixes #327197, but collectpads is just broken for reusing elements
17796 to do multiple encodes atm.
17798 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17800 * tools/gst-inspect.c: (print_element_features):
17801 * tools/gst-xmlinspect.c: (main):
17802 URL_HANDLER is not a plugin feature we can search for in
17805 2006-01-19 Edward Hervey <edward@fluendo.com>
17807 * gst/gstelement.c: (gst_element_pads_activate):
17808 When activating, do src pads first, then sink pads.
17809 When de-activating, do sink pads first, then src pads.
17811 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17813 * docs/gst/gstreamer-sections.txt:
17814 Add gst_index_add_associationv to the docs
17816 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17821 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17822 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17823 Do some refactoring. Doesn't actually change functionality,
17824 but makes landing the DRAIN event easier later.
17826 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17828 * docs/pwg/advanced-scheduling.xml:
17829 Update from 0.9.x to 0.10 API and make example a bit
17832 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17834 * docs/gst/gstreamer-sections.txt:
17835 Add gst_buffer_(is|make)_metadata_writable methods.
17837 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17839 * docs/design/part-sparsestreams.txt:
17840 Update sparse streams doc, hopefully for greater clarity
17842 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17844 * docs/design/part-events.txt:
17845 Remove mention of FILLER events.
17848 * docs/design/part-sparsestreams.txt:
17849 Write some things about using NEWSEGMENT to keep sparse streams
17852 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17854 * gst/gstbin.c: (gst_bin_dispose):
17855 Guard gst_object_unref call against a NULL object (dispose
17856 can theoretically be called multiple times).
17858 2006-01-18 Wim Taymans <wim@fluendo.com>
17860 * gst/gstbin.c: (gst_bin_element_set_state):
17861 * gst/gstclock.c: (gst_clock_id_wait):
17862 Added some more debug info.
17864 * libs/gst/base/gstadapter.c:
17867 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17868 (gst_base_sink_do_sync), (gst_base_sink_chain):
17869 Added some comments.
17871 2006-01-18 Wim Taymans <wim@fluendo.com>
17873 * tests/check/Makefile.am:
17874 * tests/check/elements/fakesink.c: (chain_async_buffer),
17875 (chain_async), (chain_async_return), (GST_START_TEST),
17876 (fakesink_suite), (main):
17877 Added fakesink test that checks prerolling and clipping
17880 * tests/check/gst/gstutils.c: (GST_START_TEST):
17881 Make check run faster so that buildbots don't timeout.
17883 2006-01-18 Wim Taymans <wim@fluendo.com>
17885 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17886 (gst_base_sink_do_sync):
17888 When the sink finishes blocking on the preroll buffer, it can
17889 immediatly render it instead of rendering when the next buffer
17892 2006-01-18 Wim Taymans <wim@fluendo.com>
17894 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17895 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17896 (gst_base_sink_chain):
17898 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17899 Don't store _last_stop if the buffer is dropped.
17901 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17903 * plugins/elements/gsttypefindelement.c:
17904 (gst_type_find_element_class_init):
17905 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17906 object method handler that sets the caps on the pad and we want
17907 that to happen before we emit the signal (fixes e.g. feeding a
17908 plain text file to decodebin).
17910 2006-01-18 Christian Schaller <Christian@fluendo.com>
17912 * gst/gstplugin.c: Add MPL and Proprietary as license options
17914 2006-01-18 Andy Wingo <wingo@pobox.com>
17916 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17917 symbol was exported before, it appears this was just an oversight.
17919 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17921 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17922 prototype to gint. OK since this prototype was not in the header.
17924 2006-01-17 Andy Wingo <wingo@pobox.com>
17926 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17927 registry while we remove plugins.
17929 * tools/gst-inspect.c (print_element_info): Don't unref the
17930 factory arg, that should be the responsibility of whatever code
17931 received the ref. Fixes a double-free when called from
17932 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17933 (main): Unref the factory if we have one.
17934 (print_element_list): No change -- relies on the
17935 plugin_feature_list_free to free the list of features.
17937 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17939 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17940 (gst_buffer_make_metadata_writable):
17942 * libs/gst/base/gstbasetransform.c:
17943 (gst_base_transform_prepare_output_buf):
17944 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17945 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17946 Replace gst_buffer_(make|is)_metadata_writable patch now
17947 that the release is out.
17949 2006-01-17 Andy Wingo <wingo@pobox.com>
17951 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17952 in the present tense without reference to versions.
17954 * gst/gstregistry.c (gst_registry_add_plugin)
17955 (gst_registry_remove_plugin, gst_registry_remove_feature)
17956 (gst_registry_find_feature, gst_registry_get_feature_list)
17957 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17958 (gst_registry_lookup, gst_registry_scan_path)
17959 (_gst_registry_remove_cache_plugins)
17960 (gst_registry_get_feature_list_by_plugin): Add argument
17963 === release 0.10.2 ===
17965 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17968 releasing 0.10.2, "If man is five"
17970 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17974 * libs/gst/base/gstbasetransform.c:
17975 (gst_base_transform_prepare_output_buf):
17976 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17977 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17978 Back out patch until after the release.
17980 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17982 * gst/gstminiobject.c:
17983 Spelling fix in docs.
17984 * ChangeLog - remove conflict indicator
17986 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17988 Reviewed By: Andy Wingo
17990 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17991 (gst_buffer_make_metadata_writable):
17993 Add gst_buffer_(is|make)_metadata_writable as analogues of
17994 gst_buffer_(is|make)_writable.
17996 * libs/gst/base/gstbasetransform.c:
17997 (gst_base_transform_prepare_output_buf):
17998 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17999 Use name gst_buffer_(is|make)_metadata_writable functions.
18001 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18002 Test gst_buffer_(is|make)_metadata_writable
18006 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
18008 * docs/manual/Makefile.am:
18009 don't do parallel make
18012 * win32/common/config.h.in:
18013 add generations for HOST_CPU and GST_MAJORMINOR
18014 * win32/common/config.h:
18015 commit generated result
18017 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
18019 * docs/manual/appendix-integration.xml:
18020 Update GNOME integration section to use gst_init_get_option_group()
18021 instead of the old popt stuff (#322911). Also, GNOME applications
18022 should now use gconf*sink and gconf*src instead of the old gconf
18025 2006-01-13 Stefan Kost <ensonic@users.sf.net>
18028 * docs/gst/gstreamer-docs.sgml:
18029 * docs/gst/gstreamer-sections.txt:
18030 * docs/libs/gstreamer-libs-sections.txt:
18031 add new API entries to the docs
18032 * libs/gst/controller/Makefile.am:
18033 * libs/gst/controller/gstcontroller.c:
18034 * libs/gst/controller/gstcontroller.h:
18035 * libs/gst/controller/gstcontrollerprivate.h:
18036 * libs/gst/controller/gsthelper.c:
18037 * libs/gst/controller/gstinterpolation.c:
18038 move private structs to private header
18040 gstreamer-0.7 -> gstreamer-0.10
18041 * tests/check/libs/struct_i386.h:
18042 remove private structs
18044 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18046 * plugins/indexers/Makefile.am:
18047 Fixes as part of #317048
18049 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18051 * plugins/indexers/Makefile.am:
18052 fix #316086 - compilation when mmap is missing
18054 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18056 * libs/gst/base/gstbasesink.c:
18057 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18058 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18059 * win32/common/config.h:
18060 added some defines GST_MAJORMINOR and HOST_CPU
18061 * win32/common/libgstbase.def:
18062 * win32/common/libgstreamer.def:
18063 added some exported functions.
18065 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18067 * libs/gst/controller/gstcontroller.c:
18068 (gst_controlled_property_set_interpolation_mode),
18069 (gst_controlled_property_new):
18070 * libs/gst/controller/gstcontroller.h:
18071 * libs/gst/controller/gstinterpolation.c:
18072 (interpolate_none_get_string_value_array):
18073 make G_TYPE_STRING controlable
18075 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18078 * tools/gst-feedback.1.in:
18079 * tools/gst-inspect.1.in:
18080 * tools/gst-launch.1.in:
18081 * tools/gst-md5sum.1.in:
18082 * tools/gst-typefind.1.in:
18083 * tools/gst-xmlinspect.1.in:
18084 * tools/gst-xmllaunch.1.in:
18085 cleanup man-pages, remove reference to gst-register, document env-vars
18087 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18089 * gst/gstbuffer.c: (gst_buffer_span):
18090 gst_buffer_span should copy the timestamp of the first buffer
18091 if they were both originally overlapping subbuffers of the
18092 same parent, using the same logic as the 'slow copy' case.
18094 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18096 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18097 Need to awaken ALL the pads when we pop a buffer, otherwise
18098 collectpads only works when there is 2 input streams.
18100 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18102 * docs/random/ensonic/media-device-daemon.txt:
18105 fix doc example, add clarification
18106 * tools/gst-launch.1.in:
18107 add initial info about GST_PLUGIN_PATH, needs more work
18109 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18111 * docs/manual/basics-bins.xml:
18112 * docs/manual/basics-elements.xml:
18113 * docs/manual/intro-basics.xml:
18114 Some more minor docs additions and updates.
18116 2006-01-11 Wim Taymans <wim@fluendo.com>
18118 * docs/manual/basics-bins.xml:
18119 * docs/manual/basics-elements.xml:
18120 Some small fixes as pointed out by Ser-ver on IRC.
18122 2006-01-10 Edward Hervey <edward@fluendo.com>
18124 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18125 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18126 the single-segment mode.
18128 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18130 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18132 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18133 (gst_base_src_perform_seek), (gst_base_src_send_event),
18134 (gst_base_src_set_property), (gst_base_src_get_property),
18135 (gst_base_src_loop), (gst_base_src_start),
18136 (gst_base_src_activate_push):
18137 * libs/gst/base/gstbasesrc.h:
18138 Name (private) union; makes Sun's Forte compiler happy (#324900).
18140 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18143 gst-register is gone.
18145 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18147 * gst/gstvalue.c: (_gst_value_initialize):
18148 make the G_TYPE_DATE instantiation work if debug is disabled
18150 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18152 * gst/gstmessage.c: (gst_message_parse_tag),
18153 (gst_message_parse_error), (gst_message_parse_warning):
18154 Don't crash when return location for error/warning debug
18155 string is NULL; add fact that return locations can be
18156 NULL to docs where appropriate.
18158 2006-01-05 Wim Taymans <wim@fluendo.com>
18160 * gst/gstplugin.c: (gst_plugin_load_file):
18161 Replace strdup by g_strdup.
18163 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18165 * docs/pwg/advanced-types.xml:
18168 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18170 submitted by: Abel Cheung
18174 Added Chinese (traditional) translation
18176 2006-01-04 Wim Taymans <wim@fluendo.com>
18178 * docs/manual/basics-pads.xml:
18179 * docs/plugins/Makefile.am:
18180 * docs/plugins/gstreamer-plugins-docs.sgml:
18181 * docs/plugins/gstreamer-plugins-sections.txt:
18182 * docs/pwg/advanced-clock.xml:
18183 * docs/pwg/advanced-scheduling.xml:
18184 * docs/pwg/advanced-types.xml:
18185 * plugins/elements/gstfdsink.c:
18186 * plugins/elements/gstfdsrc.c:
18187 * plugins/elements/gstfdsrc.h:
18188 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18189 * plugins/elements/gstidentity.h:
18190 * plugins/elements/gstqueue.h:
18191 * plugins/elements/gsttee.c:
18192 * plugins/elements/gsttee.h:
18193 * plugins/elements/gsttypefindelement.c:
18194 (gst_type_find_element_class_init):
18195 * plugins/elements/gsttypefindelement.h:
18196 Small updates to various docs.
18197 Added core plugins to docs.
18199 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18202 add a suppression for liboil's uninitialized variable
18204 2006-01-02 James Livingston <jrl at ids dot org dot au>
18206 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18209 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18210 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18211 compiler switch is being used (#325429).
18213 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18215 * gst/gstbin.c: (gst_bin_query):
18216 Disable duration query caching in bins until it gets
18217 fixed (see #324807).
18219 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18221 * tools/gst-inspect.c: (print_element_properties_info):
18222 Handle properties of POINTER and BOXED type.
18224 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18226 * gst/gst.c: (init_post):
18227 Init tags stuff and some other things before loading
18228 any static plugins (there may be other static plugins
18229 than just the GStreamer ones, and they may want to
18230 register their own tags or formats or whatever, and
18231 preferably without segfaulting).
18233 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18234 Print at least a warning in the debug logs if we drop a
18235 query just because we don't know how to adjust the value
18236 in the particular format.
18238 2005-12-24 David Schleef <ds@schleef.org>
18240 * tools/gstreamer-completion:
18241 Replacement for gst-complete written in sh and sed. Only
18242 completes names of features, but that's 90% of what I want
18243 it for. Properties are not available in registry.xml. (Maybe
18246 === release 0.10.1 ===
18248 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18251 releasing 0.10.1, "Nollaig chridheil"
18253 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18255 * docs/faq/cvs.xml:
18256 Add missing quote, should be make ERROR_CFLAGS="".
18258 2005-12-20 Wim Taymans <wim@fluendo.com>
18260 * docs/design/part-trickmodes.txt:
18261 More documentation on trickmodes.
18263 2005-12-20 Edward Hervey <edward@fluendo.com>
18265 * gst/gstcaps.c: (gst_static_caps_get_type):
18267 API addition: GST_TYPE_STATIC_CAPS
18268 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18269 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18270 * gst/gstpadtemplate.h:
18271 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18272 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18275 2005-12-18 Wim Taymans <wim@fluendo.com>
18277 * libs/gst/base/gstadapter.c:
18278 * libs/gst/base/gstadapter.h:
18279 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18280 (gst_base_sink_get_position):
18281 * libs/gst/base/gstbasesink.h:
18282 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18283 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18284 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18285 (gst_base_src_send_event), (gst_base_src_update_length),
18286 (gst_base_src_get_range), (gst_base_src_loop),
18287 (gst_base_src_start):
18288 * libs/gst/base/gstbasesrc.h:
18289 * libs/gst/base/gstbasetransform.h:
18290 * libs/gst/base/gstcollectpads.h:
18291 * libs/gst/base/gstpushsrc.c:
18292 * libs/gst/base/gstpushsrc.h:
18293 * libs/gst/dataprotocol/dataprotocol.c:
18294 * libs/gst/dataprotocol/dataprotocol.h:
18295 * libs/gst/net/gstnetclientclock.h:
18296 * libs/gst/net/gstnettimeprovider.h:
18297 Documentation updates.
18299 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18301 * docs/manual/basics-helloworld.xml:
18302 Remove superfluous closing bracket in helloworld example.
18304 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18306 * tools/gst-launch.1.in:
18307 Update gst-launch man page; add a section with useful
18308 environment variables. Fixes #323882.
18310 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18313 * gst/gst_private.h:
18314 change some char* into char[]
18316 2005-12-16 Wim Taymans <wim@fluendo.com>
18318 * gst/gstregistryxml.c: (load_feature):
18320 Don't use g_object_unref on GstObjects so that we avoid
18321 leaks on unsafe glibs.
18323 2005-12-16 Wim Taymans <wim@fluendo.com>
18325 * gst/gstbin.c: (gst_bin_recalc_state):
18328 2005-12-16 Wim Taymans <wim@fluendo.com>
18330 * common/check.mak:
18331 Added make forever target for check.
18333 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18335 * gst/gst.c: (init_post):
18336 make the registry cache file HOST_CPU-dependent
18338 2005-12-16 Andy Wingo <wingo@pobox.com>
18340 * plugins/elements/gstbufferstore.c
18341 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18344 * tests/check/gst/gstobject.c
18345 (test_fake_object_name_threaded_unique): Pay attention to
18346 g_list_sort return value.
18348 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18350 * tools/gst-feedback-m.m:
18351 Update for 0.9/0.10 (fixes #323870).
18353 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18355 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18356 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18358 * tests/check/gst/gstminiobject.c: (my_foo_init),
18359 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18360 (test_value_collection), (gst_mini_object_suite):
18361 Add test to ensure refcounts end up as expected when passing
18362 GstMiniObjects through g_object_get() and g_object_set().
18364 2005-12-14 Julien MOUTTE <julien@moutte.net>
18366 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18367 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18368 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18369 of collectpads. This version removes a lot of races without
18370 touching API/ABI. Yay !
18372 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18374 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18375 Don't allow activation of a srcpad in pull_range if it has no
18377 Change some debug statements to be a little clearer
18379 * plugins/elements/gsttypefindelement.c:
18380 (gst_type_find_handle_src_query):
18381 Check that we have a peer before executing queries thereupon.
18383 * tests/examples/metadata/read-metadata.c: (message_loop):
18384 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18385 immediately return us any available message with 0 timeout.
18387 2005-12-12 Michael Smith <msmith@fluendo.com>
18389 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18390 Don't unref factories after calling them.
18391 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18392 * plugins/elements/gsttypefindelement.c:
18393 (gst_type_find_element_chain):
18394 Free lists of factories after using them. Fixing typefinding memory
18397 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18399 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18400 (gst_plugin_feature_load):
18401 more meaningful debug output
18403 * tests/Makefile.am:
18404 * tests/old/examples/Makefile.am:
18405 make make distcheck happy again
18407 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18409 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18410 Catch the special case where we are operating chain-based,
18411 but the downstream peer pad has no chain function. Emit a
18412 custom error message in this case instead of letting the
18413 core generate one implying that this is some sort of core
18414 bug. It's not, it just means that whatever got plugged
18415 into the pipeline downstream when we announced the type
18416 can only operate pull-based, while our source can only
18417 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18418 Error string has not been marked for translation yet, as
18419 it probably needs some more work first.
18421 (gst_type_find_element_get_best_possibility):
18422 Add helper function to find the best of all available
18423 found possibilities that qualify given the min. threshold.
18425 (gst_type_find_element_handle_event):
18426 Fix the case where we get an EOS while still in TYPEFIND
18427 mode (we want to chose the best of all possible types,
18428 not just the first type that happens to be in our unsorted
18429 list of possible types).
18431 (gst_type_find_element_chain):
18432 Make sure we return GST_FLOW_ERROR when we errored out
18433 in stop_typefinding(); also, don't just find the best of
18434 all found type entries and then use the last examined
18435 type entry, but actually use the best entry.
18437 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18439 * tests/examples/typefind/typefind.c: (type_found):
18440 * tests/examples/xml/runxml.c: (xml_loaded):
18441 More gcc4 fixes and a mem leak fix.
18443 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18445 * tests/examples/xml/createxml.c: (object_saved):
18448 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18450 * tests/Makefile.am:
18451 enable the examples even more
18453 2005-12-12 Andy Wingo <wingo@pobox.com>
18455 * libs/gst/net/gstnettimeprovider.c
18456 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18457 (gst_net_time_provider_set_property)
18458 (gst_net_time_provider_get_property):
18459 API addition: Export "active" as a GObject property.
18460 (gst_net_time_provider_thread): Only respond to time queries if
18461 the time provider is active.
18463 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18464 NetTimeProvider, preserving binary compat.
18466 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18468 * tests/examples/controller/audio-example.c: (main):
18469 * tests/examples/launch/Makefile.am:
18470 convert comments again
18472 2005-12-12 Wim Taymans <wim@fluendo.com>
18474 * libs/gst/base/gstpushsrc.c:
18477 2005-12-12 Wim Taymans <wim@fluendo.com>
18479 * docs/libs/gstreamer-libs-sections.txt:
18480 Added new symbol to docs.
18482 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18483 (gst_base_src_init), (gst_base_src_set_format),
18484 (gst_base_src_default_query), (gst_base_src_query),
18485 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18486 (gst_base_src_perform_seek), (gst_base_src_send_event),
18487 (gst_base_src_default_event), (gst_base_src_event_handler),
18488 (gst_base_src_set_property), (gst_base_src_get_property),
18489 (gst_base_src_wait), (gst_base_src_do_sync),
18490 (gst_base_src_update_length), (gst_base_src_get_range),
18491 (gst_base_src_check_get_range), (gst_base_src_loop),
18492 (gst_base_src_default_negotiate), (gst_base_src_start),
18493 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18494 (gst_base_src_change_state):
18495 * libs/gst/base/gstbasesrc.h:
18496 Implement seeking to other formats than _BYTES.
18497 Implement more seeking methods correctly.
18499 Added query vmethod.
18500 Added do_seek vmethod to make life easier for subclasses
18502 API addition: gst_base_src_set_format()
18504 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18506 * tests/examples/Makefile.am:
18509 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18512 * docs/random/ensonic/media-device-daemon.txt:
18513 * tests/examples/controller/.cvsignore:
18514 * tests/examples/controller/Makefile.am:
18515 * tests/examples/controller/audio-example.c: (main):
18516 * tests/examples/helloworld/.cvsignore:
18517 * tests/examples/helloworld/Makefile.am:
18518 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18519 * tests/examples/launch/.cvsignore:
18520 * tests/examples/launch/Makefile.am:
18521 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18522 * tests/examples/metadata/.cvsignore:
18523 * tests/examples/metadata/Makefile.am:
18524 * tests/examples/metadata/read-metadata.c: (message_loop),
18525 (make_pipeline), (print_tag), (main):
18526 * tests/examples/queue/.cvsignore:
18527 * tests/examples/queue/Makefile.am:
18528 * tests/examples/queue/queue.c: (event_loop), (main):
18529 * tests/examples/typefind/.cvsignore:
18530 * tests/examples/typefind/Makefile.am:
18531 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18533 * tests/examples/xml/.cvsignore:
18534 * tests/examples/xml/Makefile.am:
18535 * tests/examples/xml/createxml.c: (object_saved), (main):
18536 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18537 * tests/old/examples/Makefile.am:
18538 * tests/old/examples/TODO:
18539 * tests/old/examples/controller/.cvsignore:
18540 * tests/old/examples/controller/Makefile.am:
18541 * tests/old/examples/controller/audio-example.c:
18542 * tests/old/examples/helloworld/.cvsignore:
18543 * tests/old/examples/helloworld/Makefile.am:
18544 * tests/old/examples/helloworld/helloworld.c:
18545 * tests/old/examples/launch/.cvsignore:
18546 * tests/old/examples/launch/Makefile.am:
18547 * tests/old/examples/launch/mp3parselaunch.c:
18548 * tests/old/examples/launch/mp3play:
18549 * tests/old/examples/manual/Makefile.am:
18550 * tests/old/examples/metadata/Makefile.am:
18551 * tests/old/examples/metadata/read-metadata.c:
18552 * tests/old/examples/queue/.cvsignore:
18553 * tests/old/examples/queue/Makefile.am:
18554 * tests/old/examples/queue/queue.c:
18555 * tests/old/examples/typefind/.cvsignore:
18556 * tests/old/examples/typefind/Makefile.am:
18557 * tests/old/examples/typefind/typefind.c:
18558 * tests/old/examples/xml/.cvsignore:
18559 * tests/old/examples/xml/Makefile.am:
18560 * tests/old/examples/xml/createxml.c:
18561 * tests/old/examples/xml/runxml.c:
18562 applied some simple fixing to some examples
18563 re-enabled the working examples
18565 2005-12-12 Wim Taymans <wim@fluendo.com>
18567 * gst/gstsegment.c: (gst_segment_init),
18568 (gst_segment_set_last_stop), (gst_segment_set_seek),
18569 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18570 (gst_segment_to_running_time):
18571 Added more documentation.
18572 Make sure the last_pos value is updated properly.
18573 Make sure to_stream_time and to_running_time don't
18574 operate on wrong values.
18576 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18579 2005-12-12 Michael Smith <msmith@fluendo.com>
18581 * plugins/elements/gsttypefindelement.c: (free_entry),
18582 (gst_type_find_element_chain):
18583 Now that we're not leaking factories, make sure we keep references
18584 to them while we need them.
18586 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18588 * tests/check/gst/struct_i386.h:
18589 ifdef out the XML structs
18591 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18593 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18594 floor is not needed, F is always positive; this obviates the
18595 need for adding -lm when building without libxml
18597 2005-12-12 Wim Taymans <wim@fluendo.com>
18599 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18600 Take current playback rate into account when reporting
18603 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18605 * docs/manual/mime-world.fig:
18606 Let's try this again, this time with a file that is
18607 actually in XFig format.
18609 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18611 * docs/manual/mime-world.fig:
18612 Add audioconvert element to diagram so that it
18613 matches the text and the code (fixes #319526).
18615 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18617 * docs/pwg/building-chainfn.xml:
18618 * docs/pwg/building-pads.xml:
18619 * docs/pwg/building-state.xml:
18620 * docs/pwg/other-source.xml:
18621 Update state change stuff for 0.10 (fixes #322969).
18623 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18625 * docs/manual/advanced-dataaccess.xml:
18626 * docs/manual/appendix-checklist.xml:
18627 * docs/manual/appendix-programs.xml:
18628 * docs/manual/basics-pads.xml:
18629 * docs/manual/highlevel-components.xml:
18630 * docs/manual/manual.xml:
18631 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18632 add converters in front of pipelines; remove curly
18633 brackets for threads stuff, they no longer exist; use
18634 GST_TYPE_FRACTION for framerates; update some pieces of
18635 code to 0.10, but there's plenty more to do.
18637 * docs/manual/appendix-porting.xml:
18638 Expand on asynchroneous state changes; s/0.9/0.10/;
18639 mention disappearance of gst_init_get_popt_table()
18642 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18644 * docs/faq/using.xml:
18645 Spider no longer exists, and neither does gst-launch-ext.
18646 Update examples to use decodebin and playbin and put
18647 converters in front of sinks (fixes #323726).
18649 2005-12-09 Michael Smith <msmith@fluendo.com>
18651 * plugins/elements/gsttypefindelement.c: (find_peek),
18652 (gst_type_find_element_chain):
18653 Fix leaking element factories in typefinding.
18654 Fix problem where we forgot about a probable type on non-seekable
18655 files, and thus later mis-typefound it.
18657 2005-12-09 Michael Smith <msmith@fluendo.com>
18659 * common/m4/gst-makecontext.m4:
18660 * common/m4/gst-mcsc.m4:
18662 * win32/common/config.h:
18663 * win32/common/config.h.in:
18664 Remove makecontext stuff; not used in 0.10 and causes problems on
18665 HPUX according to bug #322441
18667 2005-12-07 Wim Taymans <wim@fluendo.com>
18669 * tests/check/Makefile.am:
18670 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18672 * tests/check/libs/struct_i386.h:
18673 Added ABI check for libs
18675 2005-12-07 Wim Taymans <wim@fluendo.com>
18677 * tests/check/Makefile.am:
18678 And add the struct_i386.h to dist.
18680 2005-12-07 Wim Taymans <wim@fluendo.com>
18682 * tests/check/Makefile.am:
18683 * tests/check/gst/.cvsignore:
18684 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18686 * tests/check/gst/struct_i386.h:
18687 Added check for ABI compatibility.
18689 2005-12-07 Wim Taymans <wim@fluendo.com>
18691 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18692 (gst_fake_src_get_times), (gst_fake_src_create):
18693 Fix broken sync option, fixes #323259
18695 2005-12-07 Wim Taymans <wim@fluendo.com>
18700 * gst/gstcaps.c: (gst_caps_is_equal):
18701 Don't assert on NULL <--> X. Fixes #323260
18703 * gst/gstminiobject.c: (gst_mini_object_replace):
18704 If we're doing atomic operations, we might just as well use
18705 the proper way to get an atomic pointer.
18707 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18708 Clean up debugging.
18710 2005-12-07 Michael Smith <msmith@fluendo.com>
18712 * gst/parse/grammar.y:
18713 Remove handling of { } for threads.
18715 2005-12-06 David Schleef <ds@schleef.org>
18717 * libs/gst/base/gstbasetransform.c: speling fix.
18719 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18721 * docs/libs/tmpl/gstdataprotocol.sgml:
18722 * docs/random/omega/testing/gstobject.c:
18725 * gst/gstelement.c:
18726 * gst/gstelementfactory.c:
18729 * gst/gstghostpad.c:
18731 * gst/gstpadtemplate.c:
18732 * gst/gstregistryxml.c:
18733 * gst/gsttaglist.c:
18734 * gst/gsttagsetter.c:
18735 * gst/gsttypefind.c:
18737 * libs/gst/base/gstbasesrc.c:
18738 * libs/gst/net/gstnetclientclock.c:
18739 * libs/gst/net/gstnettimeprovider.c:
18740 * plugins/elements/gstfakesrc.c:
18741 * plugins/elements/gstfdsrc.c:
18742 * plugins/elements/gstfilesrc.c:
18743 * plugins/elements/gstidentity.c:
18744 * plugins/elements/gstqueue.c:
18745 * plugins/elements/gsttypefindelement.c:
18746 * plugins/indexers/gstfileindex.c:
18747 * plugins/indexers/gstmemindex.c:
18748 * tests/check/gst/gsttag.c:
18749 * tests/old/examples/cutter/cutter.c:
18750 * tests/old/examples/mixer/mixer.c:
18751 * tests/old/examples/xml/runxml.c: (main):
18752 * tests/old/testsuite/caps/normalisation.c:
18753 * tests/old/testsuite/debug/global.c:
18754 * tests/old/testsuite/parse/parse1.c:
18755 * tools/gst-xmlinspect.c:
18756 * win32/common/dirent.c:
18759 === release 0.10.0 ===
18761 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18764 releasing 0.10.0, "Maroilles"
18766 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18768 submitted by: Funda Wang <fundawang@linux.net.cn>
18772 added Chinese (Traditional) translation
18774 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18776 * docs/gst/gstreamer-sections.txt:
18777 * docs/libs/tmpl/gstdataprotocol.sgml:
18778 * docs/random/thomasvs/TODO:
18783 2005-12-05 Andy Wingo <wingo@pobox.com>
18785 patch by: Wim Taymans <wim@fluendo.com>
18787 * libs/gst/base/gstbasetransform.c
18788 (gst_base_transform_prepare_output_buf)
18789 (gst_base_transform_buffer_alloc):
18790 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18791 alloc_buffer_and_set_caps.
18793 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18794 set_caps on the source pad.
18795 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18796 alloc_buffer used to do. Fixes #322874.
18798 * docs/gst/gstreamer-sections.txt:
18799 * docs/design/part-negotiation.txt:
18800 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18803 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18805 patch by: Sebastien Moutte
18808 * win32/common/config.h.in:
18809 * win32/vs6/libgstcontroller.dsp:
18812 2005-12-05 Wim Taymans <wim@fluendo.com>
18814 * gst/gstcaps.c: (gst_caps_is_equal):
18815 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18816 (gst_fake_src_create):
18817 Back out previous code changes, leave doc updates, file bugs
18820 2005-12-05 Wim Taymans <wim@fluendo.com>
18822 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18823 (gst_fake_src_get_times), (gst_fake_src_create):
18824 * plugins/elements/gstfakesrc.h:
18825 Fix broken sync code.
18827 2005-12-05 Wim Taymans <wim@fluendo.com>
18829 * gst/gstcaps.c: (gst_caps_is_equal):
18830 Comparing NULL against !NULL yields different caps, not a
18833 2005-12-05 Wim Taymans <wim@fluendo.com>
18835 * gst/gstpipeline.c:
18836 Fix small typo in docs.
18838 2005-12-05 Andy Wingo <wingo@pobox.com>
18840 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18842 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18843 registries/plugins with a MAJORMINOR one.
18844 (plugin_desc): Rename library from gstcoreleements to
18845 staticelements. Fixes #323222.
18847 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18849 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18850 Change debug category to 'collectpads' from 'collect_pads'
18853 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18855 patch by: Sebastien Moutte
18857 * libs/gst/controller/gstinterpolation.c:
18858 use convert function for uint64/double
18859 * win32/vs6/libgstcontroller.dsp:
18862 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18864 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18865 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18867 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18868 add tests that seem to show that the guint64/gdouble conversions
18871 2005-12-02 Wim Taymans <wim@fluendo.com>
18873 * gst/gstregistry.c: (gst_registry_add_path):
18874 * gst/gstregistry.h:
18875 * gst/gstregistryxml.c:
18878 2005-12-02 Wim Taymans <wim@fluendo.com>
18880 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18881 (gst_util_uint64_scale_int):
18884 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18885 Add debug log line.
18887 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18890 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18893 * win32/common/config.h:
18894 * win32/vs6/gstreamer.dsw:
18895 * win32/vs6/libgstcoreelements.dsp:
18896 * win32/vs6/libgstelements.dsp:
18897 renamed core elements plugin
18899 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18901 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18903 do piece-wise major/minor comparison so 0.9 < 0.10
18904 also allow .exe extensions for tools
18906 2005-12-02 Michael Smith <msmith@fluendo.com>
18909 Escape a % to make gtkdoc happier; bug 322958.
18911 === release 0.9.7 ===
18913 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18916 releasing 0.9.7, "My Dog Has No Nose"
18918 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18920 * common/gst-xmlinspect.py:
18922 * docs/libs/tmpl/gstdataprotocol.sgml:
18923 * docs/random/release:
18942 * win32/common/config.h:
18943 * win32/common/config.h.in:
18944 * win32/vs6/gst_inspect.dsp:
18945 * win32/vs6/gst_launch.dsp:
18946 * win32/vs6/libgstbase.dsp:
18947 * win32/vs6/libgstelements.dsp:
18948 * win32/vs6/libgstreamer.dsp:
18949 * win32/vs7/GStreamer.vcproj:
18950 * win32/vs7/gst-inspect.vcproj:
18951 * win32/vs7/gst-launch.vcproj:
18952 * win32/vs7/libgstbase.vcproj:
18953 bump GST_MAJORMINOR to 0.10
18954 reset libtool version
18956 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18960 Added Bulgarian translation by (Alexander Shopov)
18962 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18964 * tests/check/gst/gstplugin.c:
18967 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18969 * common/gst-xmlinspect.py:
18970 * common/gtk-doc-plugins.mak:
18972 * docs/Makefile.am:
18973 * docs/gst/Makefile.am:
18974 * docs/gst/gstreamer-docs.sgml:
18975 * docs/gst/gstreamer-sections.txt:
18976 * docs/gst/gstreamer.types:
18977 * docs/gst/gstreamer.types.in:
18978 * docs/plugins/Makefile.am:
18979 * docs/plugins/gstreamer-plugins-docs.sgml:
18980 * docs/plugins/gstreamer-plugins-sections.txt:
18981 * docs/plugins/gstreamer-plugins.types:
18982 * docs/plugins/inspect.stamp:
18983 * docs/plugins/inspect/plugin-coreelements.xml:
18984 * docs/plugins/inspect/plugin-coreindexers.xml:
18985 * docs/plugins/scanobj-build.stamp:
18986 * gstreamer.spec.in:
18987 * plugins/elements/Makefile.am:
18988 * plugins/elements/gstelements.c:
18989 * plugins/elements/gstfakesink.c:
18990 * plugins/elements/gstfakesrc.c:
18991 * plugins/elements/gstfilesink.c:
18992 * plugins/elements/gstfilesrc.c:
18993 * plugins/elements/gstqueue.c:
18994 * plugins/indexers/Makefile.am:
18995 * plugins/indexers/gstindexers.c:
18996 document core plugins in a separate document just like all the
18998 rename these plugins to something starting with core
19000 2005-12-01 Andy Wingo <wingo@pobox.com>
19002 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19003 padding here before, but it missed the commit.
19005 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19007 * libs/gst/controller/gstinterpolation.c:
19008 whitespace prices have crashed, we should feel free to use some now
19009 use gst_guint64_to_gdouble
19011 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19013 * libs/gst/controller/gstcontroller.c:
19014 * libs/gst/controller/gsthelper.c:
19015 * libs/gst/controller/gstinterpolation.c:
19016 * libs/gst/controller/lib.c:
19017 wrap config.h include
19019 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19021 * docs/gst/gstreamer-sections.txt:
19024 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19026 * plugins/elements/gstelements.c:
19027 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19028 (gst_fd_sink__class_init), (gst_fd_sink__init),
19029 (gst_fd_sink__chain), (gst_fd_sink__set_property),
19030 (gst_fd_sink__get_property):
19031 * plugins/elements/gstfdsink.h:
19032 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19033 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19034 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19035 (gst_fd_src_unlock), (gst_fd_src_set_property),
19036 (gst_fd_src_get_property), (gst_fd_src_create),
19037 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19038 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19039 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19040 (gst_fd_src_uri_handler_init):
19041 * plugins/elements/gstfdsrc.h:
19042 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19045 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19047 * docs/gst/Makefile.am:
19048 * docs/gst/gstreamer.types.in:
19052 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19058 * gst/gstregistry.h:
19059 * tests/benchmarks/complexity.c:
19060 * tests/benchmarks/mass-elements.c:
19061 * tests/check/Makefile.am:
19062 * tools/Makefile.am:
19063 * tools/gst-inspect.c:
19064 * tools/gst-xmlinspect.c:
19065 various fixes to make
19066 --disable-nls --disable-registry --disable-loadsave
19067 --disable-parse --disable-gst-debug
19068 work and get the core .so down to 360444 bytes after stripping
19070 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19075 * docs/random/thomasvs/TODO:
19076 * tests/Makefile.am:
19080 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19082 * win32/GStreamer.vcproj:
19085 * win32/Makefile.inspect:
19086 * win32/Makefile.launch:
19087 * win32/Makefile.register:
19088 * win32/README.txt:
19089 * win32/gst-inspect.vcproj:
19090 * win32/gst-launch.vcproj:
19091 * win32/gst-register.vcproj:
19092 * win32/gstelements.vcproj:
19093 * win32/gstgetbits.def:
19094 * win32/gstgetbits.vcproj:
19095 * win32/gstreamer-dbg.def:
19096 * win32/gstreamer.def:
19097 * win32/libgstbase.def:
19098 * win32/libgstbase.vcproj:
19099 * win32/link_oldruntime.c:
19103 * win32/msvc71.sln:
19104 move even more stuff, win32/ is nice and clean now
19106 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19108 * libs/gst/control/.cvsignore:
19113 * win32/gstbytestream.def:
19114 * win32/gstbytestream.vcproj:
19115 * win32/gstconfig.h:
19116 * win32/gstenumtypes.c:
19117 * win32/gstenumtypes.h:
19118 * win32/gstoptimalscheduler.vcproj:
19119 * win32/gstversion.h:
19121 * win32/testsuite/bins.vcproj:
19122 * win32/testsuite/bytestream.vcproj:
19123 * win32/testsuite/caps.vcproj:
19124 * win32/testsuite/cleanup.vcproj:
19125 * win32/testsuite/clock.vcproj:
19126 * win32/testsuite/debug.vcproj:
19127 * win32/testsuite/dlopen.vcproj:
19128 * win32/testsuite/dynparams.vcproj:
19129 * win32/testsuite/elements.vcproj:
19130 * win32/testsuite/ghostpads.vcproj:
19131 * win32/testsuite/indexers.vcproj:
19132 * win32/testsuite/negotiation.vcproj:
19133 * win32/testsuite/parse.vcproj:
19134 * win32/testsuite/plugin.vcproj:
19135 * win32/testsuite/refcounting.vcproj:
19136 * win32/testsuite/schedulers.vcproj:
19137 * win32/testsuite/states.vcproj:
19138 * win32/testsuite/tags.vcproj:
19139 * win32/testsuite/threads.vcproj:
19140 remove old win32 stuff that isn't maintained and should be
19143 2005-11-30 Andy Wingo <wingo@pobox.com>
19145 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19146 loading the gst.interfaces python module bork.
19148 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19149 available since GLib 2.2. Fixes #318031.
19151 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19154 * check/.cvsignore:
19155 * check/Makefile.am:
19156 * check/elements/.cvsignore:
19157 * check/elements/fakesrc.c:
19158 * check/elements/fdsrc.c:
19159 * check/elements/identity.c:
19160 * check/generic/.cvsignore:
19161 * check/generic/states.c:
19162 * check/gst-libs/.cvsignore:
19163 * check/gst-libs/controller.c:
19164 * check/gst-libs/gdp.c:
19165 * check/gst/.cvsignore:
19166 * check/gst/capslist.h:
19168 * check/gst/gstbin.c:
19169 * check/gst/gstbuffer.c:
19170 * check/gst/gstbus.c:
19171 * check/gst/gstcaps.c:
19172 * check/gst/gstelement.c:
19173 * check/gst/gstevent.c:
19174 * check/gst/gstghostpad.c:
19175 * check/gst/gstiterator.c:
19176 * check/gst/gstmessage.c:
19177 * check/gst/gstminiobject.c:
19178 * check/gst/gstobject.c:
19179 * check/gst/gstpad.c:
19180 * check/gst/gstpipeline.c:
19181 * check/gst/gstplugin.c:
19182 * check/gst/gstsegment.c:
19183 * check/gst/gststructure.c:
19184 * check/gst/gstsystemclock.c:
19185 * check/gst/gsttag.c:
19186 * check/gst/gstutils.c:
19187 * check/gst/gstvalue.c:
19188 * check/net/.cvsignore:
19189 * check/net/gstnetclientclock.c:
19190 * check/net/gstnettimeprovider.c:
19191 * check/pipelines/.cvsignore:
19192 * check/pipelines/cleanup.c:
19193 * check/pipelines/simple_launch_lines.c:
19194 * check/pipelines/stress.c:
19195 * check/states/.cvsignore:
19196 * check/states/sinks.c:
19198 * examples/Makefile.am:
19199 * examples/appreader/.cvsignore:
19200 * examples/appreader/Makefile.am:
19201 * examples/appreader/appreader.c:
19202 * examples/controller/.cvsignore:
19203 * examples/controller/Makefile.am:
19204 * examples/controller/audio-example.c:
19205 * examples/cutter/.cvsignore:
19206 * examples/cutter/Makefile.am:
19207 * examples/cutter/cutter.c:
19208 * examples/cutter/cutter.h:
19209 * examples/events/Makefile.am:
19210 * examples/events/seek.c:
19211 * examples/helloworld/.cvsignore:
19212 * examples/helloworld/Makefile.am:
19213 * examples/helloworld/helloworld.c:
19214 * examples/helloworld2/.cvsignore:
19215 * examples/helloworld2/Makefile.am:
19216 * examples/helloworld2/helloworld2.c:
19217 * examples/launch/.cvsignore:
19218 * examples/launch/Makefile.am:
19219 * examples/launch/mp3parselaunch.c:
19220 * examples/launch/mp3play:
19221 * examples/manual/.cvsignore:
19222 * examples/manual/Makefile.am:
19223 * examples/manual/extract.pl:
19224 * examples/metadata/Makefile.am:
19225 * examples/metadata/read-metadata.c:
19226 * examples/mixer/.cvsignore:
19227 * examples/mixer/Makefile.am:
19228 * examples/mixer/mixer.c:
19229 * examples/mixer/mixer.h:
19230 * examples/pingpong/.cvsignore:
19231 * examples/pingpong/Makefile.am:
19232 * examples/pingpong/pingpong.c:
19233 * examples/plugins/.cvsignore:
19234 * examples/plugins/Makefile.am:
19235 * examples/plugins/example.c:
19236 * examples/plugins/example.h:
19237 * examples/pwg/.cvsignore:
19238 * examples/pwg/Makefile.am:
19239 * examples/pwg/extract.pl:
19240 * examples/queue/.cvsignore:
19241 * examples/queue/Makefile.am:
19242 * examples/queue/queue.c:
19243 * examples/queue2/.cvsignore:
19244 * examples/queue2/Makefile.am:
19245 * examples/queue2/queue2.c:
19246 * examples/queue3/.cvsignore:
19247 * examples/queue3/Makefile.am:
19248 * examples/queue3/queue3.c:
19249 * examples/queue4/.cvsignore:
19250 * examples/queue4/Makefile.am:
19251 * examples/queue4/queue4.c:
19252 * examples/retag/.cvsignore:
19253 * examples/retag/Makefile.am:
19254 * examples/retag/retag.c:
19255 * examples/retag/transcode.c:
19256 * examples/thread/.cvsignore:
19257 * examples/thread/Makefile.am:
19258 * examples/thread/thread.c:
19259 * examples/typefind/.cvsignore:
19260 * examples/typefind/Makefile.am:
19261 * examples/typefind/typefind.c:
19262 * examples/xml/.cvsignore:
19263 * examples/xml/Makefile.am:
19264 * examples/xml/createxml.c:
19265 * examples/xml/runxml.c:
19266 * tests/Makefile.am:
19267 * tests/check/Makefile.am:
19268 * testsuite/.cvsignore:
19269 * testsuite/Makefile.am:
19271 * testsuite/caps/.cvsignore:
19272 * testsuite/caps/Makefile.am:
19273 * testsuite/caps/app_fixate.c:
19274 * testsuite/caps/audioscale.c:
19275 * testsuite/caps/caps.c:
19276 * testsuite/caps/caps.h:
19277 * testsuite/caps/caps_strings:
19278 * testsuite/caps/compatibility.c:
19279 * testsuite/caps/deserialize.c:
19280 * testsuite/caps/enumcaps.c:
19281 * testsuite/caps/eratosthenes.c:
19282 * testsuite/caps/filtercaps.c:
19283 * testsuite/caps/fixed.c:
19284 * testsuite/caps/fraction-convert.c:
19285 * testsuite/caps/fraction-multiply-and-zero.c:
19286 * testsuite/caps/intersect2.c:
19287 * testsuite/caps/intersection.c:
19288 * testsuite/caps/normalisation.c:
19289 * testsuite/caps/random.c:
19290 * testsuite/caps/renegotiate.c:
19291 * testsuite/caps/sets.c:
19292 * testsuite/caps/simplify.c:
19293 * testsuite/caps/string-conversions.c:
19294 * testsuite/caps/structure.c:
19295 * testsuite/caps/subtract.c:
19296 * testsuite/caps/union.c:
19297 * testsuite/debug/.cvsignore:
19298 * testsuite/debug/Makefile.am:
19299 * testsuite/debug/category.c:
19300 * testsuite/debug/commandline.c:
19301 * testsuite/debug/global.c:
19302 * testsuite/debug/output.c:
19303 * testsuite/debug/printf_extension.c:
19304 * testsuite/dlopen/.cvsignore:
19305 * testsuite/dlopen/Makefile.am:
19306 * testsuite/dlopen/dlopen_gst.c:
19307 * testsuite/dlopen/loadgst.c:
19308 * testsuite/elements/.cvsignore:
19309 * testsuite/elements/Makefile.am:
19310 * testsuite/elements/gst-inspect-check.in:
19311 * testsuite/elements/struct_i386.h:
19312 * testsuite/elements/struct_size.c:
19313 * testsuite/indexers/.cvsignore:
19314 * testsuite/indexers/Makefile.am:
19315 * testsuite/indexers/cache1.c:
19316 * testsuite/indexers/indexdump.c:
19317 * testsuite/parse/.cvsignore:
19318 * testsuite/parse/Makefile.am:
19319 * testsuite/parse/parse1.c:
19320 * testsuite/parse/parse2.c:
19321 * testsuite/plugin/.cvsignore:
19322 * testsuite/plugin/Makefile.am:
19323 * testsuite/plugin/README:
19324 * testsuite/plugin/dynamic.c:
19325 * testsuite/plugin/linked.c:
19326 * testsuite/plugin/loading.c:
19327 * testsuite/plugin/registry.c:
19328 * testsuite/plugin/static.c:
19329 * testsuite/plugin/static2.c:
19330 * testsuite/plugin/testplugin.c:
19331 * testsuite/plugin/testplugin2.c:
19332 * testsuite/plugin/testplugin2_s.c:
19333 * testsuite/plugin/testplugin_s.c:
19334 * testsuite/refcounting/.cvsignore:
19335 * testsuite/refcounting/Makefile.am:
19336 * testsuite/refcounting/bin.c:
19337 * testsuite/refcounting/element.c:
19338 * testsuite/refcounting/element_pad.c:
19339 * testsuite/refcounting/mainloop.c:
19340 * testsuite/refcounting/mem.c:
19341 * testsuite/refcounting/mem.h:
19342 * testsuite/refcounting/object.c:
19343 * testsuite/refcounting/pad.c:
19344 * testsuite/refcounting/sched.c:
19345 * testsuite/refcounting/thread.c:
19346 * testsuite/states/.cvsignore:
19347 * testsuite/states/Makefile.am:
19348 * testsuite/states/bin.c:
19349 * testsuite/states/locked.c:
19350 * testsuite/states/parent.c:
19351 * testsuite/threads/.cvsignore:
19352 * testsuite/threads/159566.c:
19353 * testsuite/threads/159852.c:
19354 * testsuite/threads/Makefile.am:
19355 * testsuite/threads/queue.c:
19356 * testsuite/threads/signals.c:
19357 * testsuite/threads/staticrec.c:
19358 * testsuite/threads/thread.c:
19359 * testsuite/threads/threadb.c:
19360 * testsuite/threads/threadc.c:
19361 * testsuite/threads/threadd.c:
19362 * testsuite/threads/threade.c:
19363 * testsuite/threads/threadf.c:
19364 * testsuite/threads/threadg.c:
19365 * testsuite/threads/threadh.c:
19366 * testsuite/threads/threadi.c:
19367 move all of these under tests
19369 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19372 * tests/Makefile.am:
19375 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19377 * docs/gst/gstreamer-sections.txt:
19378 * tests/sched/.cvsignore:
19379 * tests/sched/Makefile.am:
19380 * tests/sched/cases/(fs-fs).xml:
19381 * tests/sched/cases/(fs-i-fs).xml:
19382 * tests/sched/cases/(fs-i-i-fs).xml:
19383 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19384 * tests/sched/dynamic-pipeline.c:
19385 * tests/sched/interrupt1.c:
19386 * tests/sched/interrupt2.c:
19387 * tests/sched/interrupt3.c:
19388 * tests/sched/runtestcases:
19389 * tests/sched/runxml.c:
19390 * tests/sched/sched-stress.c:
19391 * tests/sched/sort.c:
19392 * tests/sched/testcases:
19393 * tests/sched/testcases1.tc:
19394 * tests/seeking/.cvsignore:
19395 * tests/seeking/Makefile.am:
19396 * tests/seeking/seeking1.c:
19397 * tests/threadstate/.cvsignore:
19398 * tests/threadstate/Makefile.am:
19399 * tests/threadstate/test1.c:
19400 * tests/threadstate/test2.c:
19401 * tests/threadstate/threadstate1.c:
19402 * tests/threadstate/threadstate2.c:
19403 * tests/threadstate/threadstate3.c:
19404 * tests/threadstate/threadstate4.c:
19405 * tests/threadstate/threadstate5.c:
19406 remove obsolete tests
19408 * tests/bench-complexity.scm:
19409 * tests/bench-mass_elements.scm:
19410 * tests/complexity.c:
19411 * tests/complexity.gnuplot:
19412 * tests/instantiate/.cvsignore:
19413 * tests/instantiate/Makefile.am:
19414 * tests/instantiate/caps.c:
19415 * tests/mass_elements.c:
19416 * tests/network-clock-utils.scm:
19417 * tests/network-clock.scm:
19419 First pass at cleaning up tests/ dir before moving the rest
19420 Combined with CVS surgery
19422 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19425 queue has moved, update
19427 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19429 * docs/gst/gstreamer-sections.txt:
19430 remove double entries from the docs
19431 * gst/gst_private.h:
19432 * gst/gstinfo.c: (_gst_debug_init):
19433 remove the THREAD debug category
19437 * docs/gst/gstreamer.types:
19438 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19439 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19440 completely move queue and fix up debugging categories
19442 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19444 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19445 make initialization portable, using LL is not
19447 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19449 * win32/common/gstconfig.h:
19452 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19454 * win32/common/libgstreamer.def:
19455 rename symbols; sort base section
19457 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19459 * gst/gstclock.c: (do_linear_regression):
19460 remove crack non-portable handrolled DEBUG macro
19462 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19464 * docs/random/release:
19466 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19467 (gst_object_flags_get_type), (register_gst_bin_flags),
19468 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19469 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19470 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19471 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19472 (gst_caps_flags_get_type), (register_gst_clock_return),
19473 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19474 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19475 (gst_clock_flags_get_type), (register_gst_state),
19476 (gst_state_get_type), (register_gst_state_change_return),
19477 (gst_state_change_return_get_type), (register_gst_state_change),
19478 (gst_state_change_get_type), (register_gst_element_flags),
19479 (gst_element_flags_get_type), (register_gst_core_error),
19480 (gst_core_error_get_type), (register_gst_library_error),
19481 (gst_library_error_get_type), (register_gst_resource_error),
19482 (gst_resource_error_get_type), (register_gst_stream_error),
19483 (gst_stream_error_get_type), (register_gst_event_type_flags),
19484 (gst_event_type_flags_get_type), (register_gst_event_type),
19485 (gst_event_type_get_type), (register_gst_seek_type),
19486 (gst_seek_type_get_type), (register_gst_seek_flags),
19487 (gst_seek_flags_get_type), (register_gst_format),
19488 (gst_format_get_type), (register_gst_index_certainty),
19489 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19490 (gst_index_entry_type_get_type),
19491 (register_gst_index_lookup_method),
19492 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19493 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19494 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19495 (gst_index_flags_get_type), (register_gst_debug_level),
19496 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19497 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19498 (gst_iterator_result_get_type), (register_gst_iterator_item),
19499 (gst_iterator_item_get_type), (register_gst_message_type),
19500 (gst_message_type_get_type), (register_gst_mini_object_flags),
19501 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19502 (gst_pad_link_return_get_type), (register_gst_flow_return),
19503 (gst_flow_return_get_type), (register_gst_activate_mode),
19504 (gst_activate_mode_get_type), (register_gst_pad_direction),
19505 (gst_pad_direction_get_type), (register_gst_pad_flags),
19506 (gst_pad_flags_get_type), (register_gst_pad_presence),
19507 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19508 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19509 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19510 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19511 (gst_plugin_flags_get_type), (register_gst_rank),
19512 (gst_rank_get_type), (register_gst_query_type),
19513 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19514 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19515 (gst_tag_flag_get_type), (register_gst_task_state),
19516 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19517 (gst_alloc_trace_flags_get_type),
19518 (register_gst_type_find_probability),
19519 (gst_type_find_probability_get_type), (register_gst_uri_type),
19520 (gst_uri_type_get_type), (register_gst_parse_error),
19521 (gst_parse_error_get_type):
19522 * win32/common/gstenumtypes.h:
19523 * win32/common/gstversion.h:
19524 update visual studio generated files
19526 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19528 * win32/vs6/libgstbase.dsp:
19529 * win32/vs6/libgstelements.dsp:
19530 update project files for new locations
19532 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19537 reinstate and update
19542 * docs/random/LICENSE:
19545 2005-11-30 Edward Hervey <edward@fluendo.com>
19547 * gst/gsttypefind.c: (gst_type_find_register):
19548 * gst/gsttypefind.h:
19549 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19550 (gst_type_find_factory_dispose):
19551 * gst/gsttypefindfactory.h:
19552 Fix memory leak in GstTypeFindFactory.
19554 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19557 * plugins/elements/Makefile.am:
19558 * plugins/elements/gstelements.c:
19559 * plugins/elements/gstqueue.c:
19560 move queue from core to the elements plugin
19562 2005-11-29 Andy Wingo <wingo@pobox.com>
19564 * libs/gst/base/gstbasetransform.h:
19565 * libs/gst/base/gstbasesrc.h:
19566 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19568 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19569 of pointers by which to pad very extensible base classes (like the
19570 ones in libs/gst/base).
19572 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19574 * docs/gst/gstreamer-docs.sgml:
19575 * docs/gst/gstreamer-sections.txt:
19576 * docs/libs/gstreamer-libs-docs.sgml:
19577 * docs/libs/gstreamer-libs-sections.txt:
19578 moving documentation from core to lib
19580 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19582 * check/Makefile.am:
19584 * docs/gst/Makefile.am:
19586 * gst/base/.cvsignore:
19587 * gst/base/Makefile.am:
19589 * gst/base/gstadapter.c:
19590 * gst/base/gstadapter.h:
19591 * gst/base/gstbasesink.c:
19592 * gst/base/gstbasesink.h:
19593 * gst/base/gstbasesrc.c:
19594 * gst/base/gstbasesrc.h:
19595 * gst/base/gstbasetransform.c:
19596 * gst/base/gstbasetransform.h:
19597 * gst/base/gstcollectpads.c:
19598 * gst/base/gstcollectpads.h:
19599 * gst/base/gstpushsrc.c:
19600 * gst/base/gstpushsrc.h:
19601 * gst/base/gsttypefindhelper.c:
19602 * gst/base/gsttypefindhelper.h:
19603 * gst/check/Makefile.am:
19604 * gst/check/gstcheck.c:
19605 * gst/check/gstcheck.h:
19606 * gst/net/Makefile.am:
19607 * gst/net/gstnet.h:
19608 * gst/net/gstnetclientclock.c:
19609 * gst/net/gstnetclientclock.h:
19610 * gst/net/gstnettimepacket.c:
19611 * gst/net/gstnettimepacket.h:
19612 * gst/net/gstnettimeprovider.c:
19613 * gst/net/gstnettimeprovider.h:
19614 * libs/gst/Makefile.am:
19615 * libs/gst/base/Makefile.am:
19616 * libs/gst/base/gstbasetransform.c:
19617 * libs/gst/check/Makefile.am:
19618 * plugins/elements/Makefile.am:
19620 CVS surgery + support to move base, check, and net out of gst
19623 2005-11-29 Andy Wingo <wingo@pobox.com>
19625 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19627 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19630 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19632 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19634 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19636 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19637 padding; reduces object size by about 30%. We don't expect
19638 anything else to go into gstobject.
19640 * gst/gstminiobject.h (struct _GstMiniObject)
19641 (struct _GstMiniObjectClass): Only one pointer of padding; the
19642 payload is only a pointer and two ints anyway. For the class there
19643 are only two methods as well.
19645 * gst/gstelement.h (struct _GstElementClass): Removed
19646 the state_changed signal callback, it is not used.
19648 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19650 * docs/gst/gstreamer.types:
19651 fix includes, though they are a little dinky
19653 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19655 * check/Makefile.am:
19656 look in the right place for elements, a lot more chance of
19659 remove indexers and elements subdirs
19660 * plugins/Makefile.am:
19661 make indexers conditional
19663 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19667 * plugins/elements/Makefile.am:
19668 * plugins/elements/gstcapsfilter.c:
19669 * plugins/elements/gstfilesink.c:
19670 * plugins/elements/gstfilesrc.c:
19671 * plugins/elements/gstidentity.c:
19672 * plugins/indexers/Makefile.am:
19673 do CVS surgery and related build fixery to move elements
19674 and indexers in a new gstreamer/plugins directory, out of the
19677 2005-11-29 Andy Wingo <wingo@pobox.com>
19679 * check/Makefile.am:
19680 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19681 * pkgconfig/gstreamer-net.pc.in:
19682 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19685 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19687 * tools/Makefile.am:
19688 * tools/gst-complete.1.in:
19689 * tools/gst-complete.c:
19690 * tools/gst-compprep.1.in:
19691 * tools/gst-compprep.c:
19692 removing -compprep and -complete
19694 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19696 * gst/gstevent.c: (gst_event_new_new_segment),
19697 (gst_event_parse_new_segment):
19699 fix #320529 - clean up new_segment API and structure.
19700 Let's hope everyone was using the methods, and not the structure.
19702 2005-11-29 Edward Hervey <edward@fluendo.com>
19704 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19705 (gst_base_sink_event), (gst_base_sink_do_sync),
19706 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19707 Properly handle non GST_FORMAT_TIME segment
19708 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19709 Properly handle non GST_FORMAT_TIME segment
19710 * gst/gstsegment.c:
19711 This function is valid if the accumulator is 0 and the format
19712 is different from the requested format.
19714 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19716 * docs/gst/gstreamer-sections.txt:
19717 Add gst_query_new_seeking and gst_query_parse_seeking to the
19720 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19722 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19723 Treat a pad alloc with new caps the same as if we were not
19724 negotiated, in order to allow a changing upstream output
19725 to produce a new format of data.
19727 2005-11-29 Edward Hervey <edward@fluendo.com>
19729 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19730 (gst_base_transform_event), (gst_base_transform_eventfunc):
19731 The event virtual method is now properly implemented, with a default
19733 Sub classes should call the parent_class event method. They should
19734 return FALSE if they had a problem handling the given event, or don't
19735 want GstBaseTransform to send that even downstream
19736 * gst/elements/gstidentity.c: (gst_identity_class_init),
19737 (gst_identity_init), (gst_identity_event),
19738 (gst_identity_transform_ip), (gst_identity_set_property),
19739 (gst_identity_get_property):
19740 * gst/elements/gstidentity.h:
19741 Added the single-segment boolean property.
19742 If set to TRUE, it will output a single segment of data, starting from
19743 0, will eat up all incoming newsegment, and modify the timestamp of the
19744 buffers accordingly
19746 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19748 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19749 Don't ref NULL target pad (#322751). Improve docs.
19751 2005-11-29 Michael Smith <msmith@fluendo.com>
19753 * gst/gstregistryxml.c: (load_plugin):
19754 Don't crash if we failed to load a feature from a plugin.
19756 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19758 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19760 use more check API and less GLib API
19762 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19765 don't run checks if we don't have check
19766 * common/check.mak:
19767 remove the registry when running make torture
19768 * docs/gst/gstreamer-sections.txt:
19769 remove second multiply
19770 * gst/gstqueue.c: (gst_queue_loop):
19771 fix a compile warning when disabling debug
19773 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19776 Hey! Let's print the pad name if the pointer != NULL instead
19777 of when it == NULL :-)
19779 2005-11-28 Wim Taymans <wim@fluendo.com>
19781 * check/gst/gstutils.c: (GST_START_TEST):
19782 Updated check, add some scaling accuracy checking code.
19784 * gst/gstutils.c: (gst_util_div128_64),
19785 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19786 (gst_util_uint64_scale_int):
19787 Fix 6 times faster division code. Optimize for common
19788 1/1 and less common X/1 cases.
19790 2005-11-28 Wim Taymans <wim@fluendo.com>
19792 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19795 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19796 (do_linear_regression), (gst_clock_add_observation):
19798 Release lock when the clock cannot be slaved.
19799 Catch the case where the regression returned an invalid denominator.
19801 * gst/gstutils.c: (gst_util_div128_64_iterate),
19802 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19803 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19804 Add protentially more performant non-iterative 128/64 divide function
19805 that unfortunatly does not work yet.
19806 Shortcut the trivial 0/X = 0 case.
19807 Remove the warnings on overflow.
19809 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19811 * gst/gstplugin.c: (gst_plugin_register_func):
19812 everything causing a plugin not to load should be at least a WARNING
19814 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19816 * docs/random/ensonic/dparams.txt:
19817 some TODOs for the next dev cycle
19818 * libs/gst/controller/gstcontroller.c:
19819 (gst_controlled_property_set_interpolation_mode),
19820 (gst_controlled_property_new):
19821 * libs/gst/controller/gstcontroller.h:
19822 use base type to assign acccessor functions
19824 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19826 * check/Makefile.am:
19827 Oops, that should have been top_srcdir
19829 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19831 * check/Makefile.am:
19832 * check/elements/fdsrc.c: (GST_START_TEST):
19833 Use a cmdline define to specify the location of a file to use for
19834 testing, to avoid breaking distcheck.
19836 2005-11-28 Andy Wingo <wingo@pobox.com>
19838 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19840 2005-11-28 Edward Hervey <edward@fluendo.com>
19842 * tools/gst-launch.c: (main):
19843 Clarify the output strings, makes it easier to translate.
19846 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19849 don't try and build net if we don't even have <sys/socket.h>
19851 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19853 * check/Makefile.am:
19854 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19855 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19856 Add tests for fdsrc seekability
19858 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19859 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19860 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19861 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19862 * gst/elements/gstfdsrc.h:
19863 fdsrc should not be a 'live' source.
19864 Implement seeking on seekable fd's.
19866 * gst/gstquery.c: (gst_query_new_seeking),
19867 (gst_query_parse_seeking):
19869 Implement SEEKING query functions:
19870 *_new_seeking and *_parse_seeking
19872 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19874 * gst/gstelement.c: (gst_element_dispose):
19877 * gst/gstiterator.c:
19878 * gst/gststructure.c:
19881 * libs/gst/controller/gstcontroller.c:
19882 (gst_controlled_property_set_interpolation_mode):
19883 * libs/gst/controller/gstcontroller.h:
19884 * libs/gst/controller/gstinterpolation.c:
19885 (interpolate_none_get_enum_value_array):
19886 support controlling enums
19888 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19891 Improve documentation for gst_value_union().
19894 Change return value for union, intersect and subtract functions
19895 from gint to gboolean.
19897 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19899 * gst/gstvalue.c: (gst_value_serialize_any_list),
19900 (gst_value_transform_any_list_string),
19901 (gst_value_deserialize_list), (gst_value_deserialize_array),
19902 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19903 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19904 (gst_value_set_fraction_range_full),
19905 (gst_value_deserialize_fraction_range),
19906 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19907 (gst_value_deserialize_boolean),
19908 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19909 (gst_value_serialize_float), (gst_value_deserialize_float),
19910 (gst_string_wrap), (gst_value_deserialize_string),
19911 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19912 (gst_value_union_int_range_int_range),
19913 (gst_value_intersect_int_range_int_range),
19914 (gst_value_intersect_double_range_double_range),
19915 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19916 (gst_value_subtract_int_range_int_range),
19917 (gst_value_subtract_double_double_range),
19918 (gst_value_subtract_double_range_double_range),
19919 (gst_value_deserialize_fraction):
19921 Use gint, gdouble and gchar in our API instead of int, double and
19922 char (and make usage in gstvalue.c more consistent).
19924 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19926 * check/Makefile.am:
19927 * libs/gst/controller/Makefile.am:
19928 * libs/gst/dataprotocol/Makefile.am:
19929 fix up Makefile.am and remove GST_ENABLE_NEW
19931 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19935 * gst/base/Makefile.am:
19936 * gst/check/Makefile.am:
19937 * gst/elements/Makefile.am:
19938 * gst/net/Makefile.am:
19939 update LDFLAGS use some more
19941 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19943 * common/m4/gst-doc.m4:
19946 2005-11-26 Edward Hervey <edward@fluendo.com>
19948 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19949 This shouldn't issue a g_warning since it returns NULL if it
19950 couldn't find the plugin, and all functions using this behave
19951 properly on a NULL return. Switching to a GST_WARNING.
19953 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19955 * gst/gstbin.c: (gst_bin_handle_message_func):
19956 Don't leak clock messages.
19958 2005-11-25 Wim Taymans <wim@fluendo.com>
19960 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19961 (gst_util_uint64_scale_int):
19962 Optimisations, remove unneeded vars.
19964 2005-11-25 Wim Taymans <wim@fluendo.com>
19966 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19967 Added more checks for the high precision uint64 cases.
19969 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19970 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19971 Implement high precision (guint64 * guint64) / guint64.
19973 2005-11-24 Wim Taymans <wim@fluendo.com>
19975 * gst/base/gstbasesrc.c: (gst_base_src_query):
19976 Fix wrong percentage query.
19978 * gst/gstutils.c: (gst_util_uint64_scale),
19979 (gst_util_uint64_scale_int):
19980 Add some more common cases that can be handled
19981 efficiently to _scale.
19983 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19985 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19986 (gst_mini_object_suite):
19987 don't use check calls from threads; check probably isn't
19988 threadsafe and using a lock to make it threadsafe would
19989 defeat the purpose of this check
19990 * gst/check/gstcheck.c:
19991 * gst/check/gstcheck.h:
19992 use GST_DEBUG some more
19994 2005-11-24 Wim Taymans <wim@fluendo.com>
19996 * gst/gstutils.c: (gst_util_uint64_scale),
19997 (gst_util_uint64_scale_int):
19998 Chain trivial case to _scale_int.
20000 2005-11-24 Wim Taymans <wim@fluendo.com>
20002 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20003 Added test for scaling.
20008 * gst/gstutils.c: (gst_util_uint64_scale_int):
20009 Implemented high precision scaling code.
20011 2005-11-24 Stefan Kost <ensonic@users.sf.net>
20014 do not crash on pad==NULL
20016 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20018 Patch by: Stefan Kost
20020 * common/gtk-doc.mak:
20021 * docs/gst/Makefile.am:
20022 * docs/libs/Makefile.am:
20023 Fix distcheck issues for the libraries docs build
20026 2005-11-24 Michael Smith <msmith@fluendo.com>
20028 * docs/manual/basics-helloworld.xml:
20029 Fix bug #315027: memory leak in example code in docs.
20031 2005-11-24 Michael Smith <msmith@fluendo.com>
20033 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20034 Unlock the PREROLL_LOCK in a failure case.
20036 2005-11-24 Wim Taymans <wim@fluendo.com>
20038 * docs/gst/gstreamer-sections.txt:
20039 * gst/base/gstadapter.h:
20040 * gst/base/gstbasesink.h:
20041 * gst/base/gstbasesrc.h:
20042 * gst/base/gstbasetransform.h:
20043 * gst/base/gstpushsrc.h:
20044 * gst/elements/gstfakesink.h:
20045 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20046 * gst/elements/gstfakesrc.h:
20047 * gst/elements/gstfilesink.h:
20048 * gst/elements/gstfilesrc.h:
20051 * gst/gstbuffer.c: (_gst_buffer_copy):
20054 * gst/gstchildproxy.c:
20056 * gst/gstelement.c:
20057 * gst/gstelementfactory.c:
20058 * gst/gstelementfactory.h:
20060 * gst/gstghostpad.h:
20062 * gst/gstinterface.h:
20063 * gst/gstminiobject.c:
20064 * gst/gstminiobject.h:
20067 * gst/gstpadtemplate.h:
20068 * gst/gstpipeline.h:
20069 * gst/gstpluginfeature.h:
20072 * gst/gsttaglist.c:
20073 * gst/gsttaglist.h:
20074 * gst/gsttagsetter.c:
20075 * gst/gsttagsetter.h:
20078 * gst/gsttypefind.h:
20081 * gst/net/gstnetclientclock.c:
20082 * gst/net/gstnetclientclock.h:
20083 * gst/net/gstnettimepacket.c:
20084 * gst/net/gstnettimeprovider.c:
20085 * gst/net/gstnettimeprovider.h:
20088 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20090 * configure.ac: back to HEAD
20092 === release 0.9.6 ===
20094 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20097 releasing 0.9.6, "Always On Time"
20099 2005-11-23 Wim Taymans <wim@fluendo.com>
20101 * docs/gst/gstreamer-sections.txt:
20102 * gst/glib-compat.c:
20103 * gst/gsttagsetter.c:
20105 * gst/net/gstnetclientclock.c:
20106 * gst/net/gstnettimepacket.h:
20109 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20111 * docs/faq/using.xml:
20112 * docs/libs/tmpl/gstcontrol.sgml:
20113 * docs/manual/advanced-dparams.xml:
20114 * docs/manual/appendix-checklist.xml:
20115 * docs/manual/basics-elements.xml:
20116 * docs/pwg/other-source.xml:
20117 * docs/random/moving-plugins:
20119 * tools/gst-launch.1.in:
20120 remove mentions of sinesrc
20122 2005-11-23 Michael Smith <msmith@fluendo.com>
20124 * docs/gst/gstreamer-sections.txt:
20125 Update for new API and API changes.
20127 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20129 Documentation typo fix.
20130 * gst/net/gstnettimepacket.c:
20131 Documentation fixes for arguments.
20133 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20135 * gst/gststructure.c: (gst_structure_get_fraction),
20136 (gst_structure_parse_value),
20137 (gst_structure_fixate_field_nearest_fraction):
20138 * gst/gststructure.h:
20139 * gst/gstutils.c: (gst_util_uint64_scale_int):
20141 * scripts/update-funcnames:
20143 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20144 Make gst_structure_fixate_field_nearest_fraction take a numerator
20145 and denominator argument instead of a GValue
20146 add gst_structure_get_fraction helper function.
20148 2005-11-23 Wim Taymans <wim@fluendo.com>
20150 * docs/design/part-TODO.txt:
20153 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20154 * gst/net/gstnetclientclock.h:
20155 Use parent fields for timeout and window_size.
20157 2005-11-23 Andy Wingo <wingo@pobox.com>
20159 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20160 rate_num/rate_denom change.
20162 * gst/net/gstnetclientclock.c
20163 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20164 OBJECT_LOCK. Don't call add_observation with the lock.
20166 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20168 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20170 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20171 deal with rate as a fraction whose numerator and denominator are
20172 GstClockTime values.
20173 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20174 master; the other fields are protected by the SLAVE_LOCK.
20175 (do_linear_regression): Note that this must be called with the
20177 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20178 OBJECT_LOCK. Call set_calibration instead of touching the
20179 variables directly.
20180 (gst_clock_set_property, gst_clock_get_property): Protect
20181 master/slave parameters with the SLAVE_LOCK.
20183 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20184 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20185 note that all of the instance variables that add_observation and
20186 the set_master functions use are protected by that lock and not
20188 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20190 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20191 the caller to take the object lock.
20193 2005-11-23 Wim Taymans <wim@fluendo.com>
20195 * gst/gsterror.c: (_gst_core_errors_init):
20197 Add error for clock stuff.
20199 * gst/gstpipeline.c: (gst_pipeline_change_state),
20200 (gst_pipeline_set_clock):
20201 Post clock error when clock cannot be used in a pipeline.
20203 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20205 * docs/gst/gstreamer-sections.txt:
20206 make two symbols from gstinfo private for the docs
20207 * gst/base/gstcollectpads.h:
20209 fix doc typos, update docs
20211 2005-11-22 Wim Taymans <wim@fluendo.com>
20213 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20214 (gst_base_sink_wait), (gst_base_sink_do_sync),
20215 (gst_base_sink_handle_event):
20216 * gst/base/gstbasesink.h:
20217 No need to store the clock, the parent element class already
20220 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20221 Updates for clock_set returning a gboolean
20223 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20224 (gst_clock_id_wait_async), (gst_clock_class_init),
20225 (gst_clock_init), (gst_clock_finalize),
20226 (gst_clock_get_internal_time), (gst_clock_get_time),
20227 (gst_clock_slave_callback), (gst_clock_set_master),
20228 (gst_clock_get_master), (do_linear_regression),
20229 (gst_clock_add_observation), (gst_clock_set_property),
20230 (gst_clock_get_property):
20232 Implement master/slave. When setting a clock as a slave, a
20233 periodic timeout is scheduled to sample master and slave times.
20234 Then the slave clock is recalibrated to match offset and rate
20235 of the master clock.
20236 Update logging a bit.
20237 Add flag so that a clock can state that is cannot be slaved to
20240 * gst/gstelement.c: (gst_element_set_clock):
20241 * gst/gstelement.h:
20242 The set clock returns a gboolean for when an element cannot
20243 deal with the selected clock in the pipeline.
20245 * gst/gstpipeline.c: (gst_pipeline_change_state),
20246 (gst_pipeline_set_clock):
20247 * gst/gstpipeline.h:
20248 Handle the case where the selected clock cannot be set on
20251 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20252 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20253 (gst_net_client_clock_set_property),
20254 (gst_net_client_clock_get_property),
20255 (gst_net_client_clock_observe_times):
20256 * gst/net/gstnetclientclock.h:
20257 Use regression code in GstClock parent, remove duplicated
20260 2005-11-22 Michael Smith <msmith@fluendo.com>
20262 * gst/gstutils.c: (gst_util_clock_time_scale):
20264 * docs/gst/gstreamer-sections.txt:
20265 Rename method to have extra underscore.
20267 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20269 * gst/elements/Makefile.am:
20270 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20271 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20272 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20273 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20274 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20275 * gst/elements/gstfakesrc.h:
20276 * gst/gstqueue.c: (queue_leaky_get_type):
20277 correctly fix GEnumValues so that nick is the short lowercase
20279 * tools/gst-inspect.c: (print_element_properties_info):
20280 also show the nick, since it's useful to use from parse_launch
20284 2005-11-22 Michael Smith <msmith@fluendo.com>
20286 * gst/gstutils.c: (gst_util_clocktime_scale):
20288 * docs/gst/gstreamer-sections.txt:
20289 Add util method for scaling a clocktime by a fraction. Useful
20290 implementation is left as an exercise for the reader.
20292 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20294 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20295 If needed, allocate storage in the destination value during
20298 2005-11-22 Edward Hervey <edward@fluendo.com>
20300 * docs/gst/gstreamer-sections.txt:
20303 * gst/gsturitype.c:
20304 * gst/gsturitype.h:
20305 * gst/gstutils.c: (gst_util_set_object_arg):
20306 * tools/gst-compprep.c: (main):
20307 * tools/gst-inspect.c: (print_element_properties_info):
20308 Removed GstURI, closes bug #321061
20310 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20312 * check/gst/gststructure.c: (GST_START_TEST):
20313 * gst/gststructure.c: (gst_structure_parse_value):
20314 Oops, broke automatic string type parsing.
20315 Add a test to catch it in future.
20317 2005-11-22 Andy Wingo <wingo@pobox.com>
20319 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20320 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20321 Actually rename the function implementations. Grr.
20323 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20325 * check/gst/capslist.h:
20327 * check/gst/gststructure.c: (GST_START_TEST),
20328 (gst_structure_suite):
20329 Test automatic value type detection in gst_structure_from_string.
20330 * gst/gststructure.c: (gst_structure_parse_value):
20331 Add fraction as a type we try and guess automatically in
20332 caps/structure strings.
20334 2005-11-22 Andy Wingo <wingo@pobox.com>
20336 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20338 * gst/gsttagsetter.h:
20339 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20340 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20341 (gst_tag_setter_add_tag_valist)
20342 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20343 _add_values, _add_valist, and _add_valist_values. Since this is an
20344 interface the function suffixes should be more explicit so
20345 language binding don't end up with element.add_valist ->
20346 gst_tag_setter_add_valist, for example. Fixes #322069.
20348 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20350 * check/gst/gstcaps.c: (GST_START_TEST):
20351 Extend caps string tests to check that a caps to string
20352 conversion is reversible and produces the same caps.
20354 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20355 Output "fraction" as the generic type fraction range, so caps
20356 serialisation and deserialisation works.
20357 * check/gst/capslist.h:
20358 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20359 Support 'MIN' and 'MAX' for deserialising fractions.
20361 2005-11-22 Andy Wingo <wingo@pobox.com>
20363 * gst/gstevent.h (gst_event_new_new_segment)
20364 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20365 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20366 Renamed from *_newsegment, *_buffersize, *_notarget.
20368 * scripts/update-funcnames: New script, performs the changes
20371 2005-11-22 Wim Taymans <wim@fluendo.com>
20373 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20374 Make sure the GstFlowReturn is returned.
20376 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20377 (gst_bus_add_signal_watch):
20379 add gst_bus_add_signal_watch_full.
20381 * gst/gstplugin.c: (gst_plugin_load_file):
20382 Small style cleanup.
20384 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20386 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20387 Block the fakesrc srcpad when we send an event, to avoid
20388 contention on the stream_lock causing random test failures.
20390 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20392 * check/gst/gstvalue.c: (GST_START_TEST):
20393 * gst/gstvalue.c: (gst_value_fraction_subtract):
20396 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20399 include "gstchildproxy.h"
20400 * gst/gstchildproxy.h:
20401 * libs/gst/controller/gstcontroller.h:
20402 use G_GNUC_NULL_TERMINATED
20404 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20406 * check/gst/capslist.h:
20407 * check/gst/gstcaps.c: (GST_START_TEST):
20408 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20409 * gst/gststructure.c: (gst_structure_parse_range),
20410 (gst_structure_fixate_field_nearest_fraction):
20411 * gst/gststructure.h:
20412 * gst/gstvalue.c: (gst_value_init_fraction_range),
20413 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20414 (gst_value_collect_fraction_range),
20415 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20416 (gst_value_set_fraction_range_full),
20417 (gst_value_get_fraction_range_min),
20418 (gst_value_get_fraction_range_max),
20419 (gst_value_serialize_fraction_range),
20420 (gst_value_transform_fraction_range_string),
20421 (gst_value_compare_fraction_range),
20422 (gst_value_deserialize_fraction_range),
20423 (gst_value_intersect_fraction_fraction_range),
20424 (gst_value_intersect_fraction_range_fraction_range),
20425 (gst_value_subtract_fraction_fraction_range),
20426 (gst_value_subtract_fraction_range_fraction),
20427 (gst_value_subtract_fraction_range_fraction_range),
20428 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20429 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20430 (gst_value_transform_string_fraction), (_gst_value_initialize):
20432 Implement fraction ranges and extend GstFraction to support
20433 arithmetic subtraction, as well as deserialization from integer
20434 strings such as "100"
20435 Add a testsuite as for int and double range set operations
20437 2005-11-21 Andy Wingo <wingo@pobox.com>
20439 * gst/gsttaglist.h:
20441 * gst/gststructure.h: Add glib-compat.h.
20443 2005-11-21 Wim Taymans <wim@fluendo.com>
20445 * gst/gstbin.c: (gst_bin_change_state_func):
20448 2005-11-21 Wim Taymans <wim@fluendo.com>
20450 * gst/gstsegment.h:
20451 And add a nice define too.
20453 2005-11-21 Wim Taymans <wim@fluendo.com>
20455 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20456 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20457 (gst_segment_set_duration), (gst_segment_set_last_stop),
20458 (gst_segment_set_seek), (gst_segment_set_newsegment),
20459 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20460 (gst_segment_clip):
20461 * gst/gstsegment.h:
20462 Make binding friendly.
20464 2005-11-21 Andy Wingo <wingo@pobox.com>
20466 * gst/gsttagsetter.h:
20467 * gst/gsttaglist.h:
20468 * gst/gststructure.h:
20470 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20473 * gst/gsterror.c (_gst_core_errors_init):
20474 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20477 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20478 (noinst_HEADERS): noinst the -private.
20480 2005-11-21 Michael Smith <msmith@fluendo.com>
20483 * gst/gstregistry.h:
20484 Remove unimplemented declarations for which we can see no sensible
20487 2005-11-21 Andy Wingo <wingo@pobox.com>
20489 * gst/gst.h: Include glib-compat.h.
20491 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20493 * gst/glib-compat.c: Include the public and the private header.
20495 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20499 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20501 * check/gst/gstevent.c (create_custom_events): Check that
20502 FLUSH_STOP is serialized.
20504 * check/elements/identity.c (event_func):
20505 * check/elements/fakesrc.c (event_func): No stream lock, the core
20508 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20509 stream lock taking, yay.
20511 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20512 ensure that core takes the stream lock.
20514 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20517 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20518 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20519 it already. For the flush start we do take it though so we get the
20520 right preroll state change messages.
20522 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20523 the stream lock here, the core does it for us.
20525 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20526 GST_STREAM_GET_LOCK.
20527 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20528 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20529 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20530 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20531 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20532 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20534 * gst/gstpad.c: Update for stream lock name change.
20536 * gst/base/gstbasesink.c: Update for preroll lock name change.
20538 2005-11-21 Wim Taymans <wim@fluendo.com>
20540 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20541 (gst_clock_get_master):
20543 * gst/gstsystemclock.c: (gst_system_clock_init):
20544 Convert Clock flags to object flags.
20545 Added methods to manage master/slave clocks.
20547 2005-11-21 Wim Taymans <wim@fluendo.com>
20549 * check/gst/gstsegment.c: (GST_START_TEST):
20550 * docs/design/part-TODO.txt:
20551 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20552 (gst_base_sink_event), (gst_base_sink_do_sync),
20553 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20554 (gst_base_sink_query), (gst_base_sink_change_state):
20555 * gst/base/gstbasesink.h:
20556 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20557 (gst_base_src_default_newsegment),
20558 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20559 (gst_base_src_get_range), (gst_base_src_loop),
20560 (gst_base_src_change_state):
20561 * gst/base/gstbasesrc.h:
20562 * gst/base/gstbasetransform.c:
20563 (gst_base_transform_prepare_output_buf),
20564 (gst_base_transform_event), (gst_base_transform_change_state):
20565 * gst/base/gstbasetransform.h:
20566 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20567 (gst_collect_pads_event):
20568 * gst/base/gstcollectpads.h:
20569 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20570 (gst_fake_src_create):
20571 * gst/elements/gstfakesrc.h:
20572 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20573 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20574 (gst_segment_set_last_stop), (gst_segment_set_seek),
20575 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20576 (gst_segment_to_running_time), (gst_segment_clip):
20577 * gst/gstsegment.h:
20578 More segment updates, replace code in plugins with segment
20581 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20583 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20584 Don't ignore sscanf results
20586 2005-11-21 Andy Wingo <wingo@pobox.com>
20588 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20591 * *.c: Ran scripts/update-macros. Oh yes.
20593 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20594 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20597 * scripts/update-macros: New script. Run it on your files to
20598 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20601 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20603 * docs/gst/Makefile.am:
20604 * docs/gst/gstreamer-docs.sgml:
20605 * docs/gst/gstreamer-sections.txt:
20606 * docs/gst/gstreamer.types:
20608 more docs fixes, add new api to the docs
20610 2005-11-21 Andy Wingo <wingo@pobox.com>
20612 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20613 state_broadcast call.
20615 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20617 2005-11-21 Julien MOUTTE <julien@moutte.net>
20619 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20620 function calls for arrays.
20622 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20624 * docs/random/ensonic/media-device-daemon.txt:
20625 wild idea, can this be done?
20626 * docs/gst/gstreamer-sections.txt:
20631 * gst/gstpluginfeature.c:
20635 doc fixes and additions
20637 2005-11-21 Andy Wingo <wingo@pobox.com>
20639 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20640 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20641 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20642 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20643 private to the basesrc implementation.
20645 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20646 behalf of event function if necessary. It should no longer be
20647 necessary to take the stream lock in pad's event functions. Fixes
20650 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20651 * docs/gst/gstreamer-sections.txt:
20652 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20653 (gst_structure_fixate_field_nearest_double),
20654 (gst_structure_fixate_field_boolean):
20655 * gst/gststructure.h:
20656 * win32/common/libgstreamer.def:
20657 * win32/gstreamer.def:
20659 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20662 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20664 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20665 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20666 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20667 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20668 (gst_fdsrc_uri_handler_init):
20669 * gst/elements/gstfdsrc.h:
20670 Port fd:// URI handler from 0.8 to fdsrc
20672 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20674 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20675 (gst_value_serialize_fourcc):
20677 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20678 consistent with our other format defines (#320324).
20680 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20682 * gst/gstvalue.c: (gst_value_is_fixed):
20683 Revert previous commit. Value lists are by definition
20684 not fixed, as they are a list of possible values.
20686 2005-11-21 Andy Wingo <wingo@pobox.com>
20688 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20689 during the stable series if we need it. Fixes #319178.
20691 * gst/gstevent.c (gst_event_new_filler): Removed.
20693 * check/gst/gstevent.c: Update comment about filler events.
20695 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20697 * gst/gstvalue.c: (gst_value_is_fixed):
20698 Should handle both value arrays and value lists.
20700 2005-11-21 Andy Wingo <wingo@pobox.com>
20702 patch by: Alessandro Dessina <alessandro nnva org>
20704 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20705 functions to access arrays. Fixes #321962.
20707 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20709 * docs/gst/gstreamer.types:
20710 gst_collectpads_get_type => gst_collect_pads_get_type.
20712 * gst/base/gstbasetransform.c:
20713 Remove unused SIGNAL_HANDOFF enum.
20715 2005-11-21 Andy Wingo <wingo@pobox.com>
20717 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20718 the event type (upstream, downstream, serialized). Renamed
20719 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20720 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20721 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20723 * gst/gstevent.c: Update for new CUSTOM event names.
20725 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20728 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20731 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20733 * docs/gst/gstreamer-sections.txt:
20734 * win32/common/libgstbase.def:
20735 * win32/libgstbase.def:
20736 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20737 (gst_collect_pads_class_init), (gst_collect_pads_init),
20738 (gst_collect_pads_finalize), (gst_collect_pads_new),
20739 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20740 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20741 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20742 (gst_collect_pads_start), (gst_collect_pads_stop),
20743 (gst_collect_pads_peek), (gst_collect_pads_pop),
20744 (gst_collect_pads_available), (gst_collect_pads_read),
20745 (gst_collect_pads_flush), (gst_collect_pads_event),
20746 (gst_collect_pads_chain):
20747 * gst/base/gstcollectpads.h:
20748 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20749 unimplemented functions as unimplemented. Add padding to
20750 GstCollectData. (#320766, #320423)
20752 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20754 * gst/gstmessage.c:
20755 Improve docs for DURATION message (usage of duration parameter)
20758 2005-11-20 Wim Taymans <wim@fluendo.com>
20760 * check/Makefile.am:
20761 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20765 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20766 (gst_segment_set_seek), (gst_segment_set_newsegment),
20767 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20768 (gst_segment_clip):
20769 * gst/gstsegment.h:
20770 Added segment helper structure and methods. Not fully implemented
20772 Added segment check.
20774 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20776 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20777 Add a deserialisation test for fractions
20778 * examples/metadata/read-metadata.c: (message_loop),
20779 (make_pipeline), (main):
20780 Fix up metadata reading sample.
20781 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20783 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20784 Don't try and fixate empty caps
20785 * gst/gst_private.h:
20786 Wrap in G_BEGIN_DECLS/G_END_DECLS
20787 * gst/gstvalue.c: (gst_value_collect_fraction),
20788 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20789 (gst_value_transform_string_fraction),
20790 (gst_value_compare_fraction):
20791 Add some extra guards to ensure that we don't end up
20792 with an invalid denominator of 0 in a gstfraction and
20793 that fractions always get reduced.
20795 2005-11-20 Wim Taymans <wim@fluendo.com>
20797 * docs/gst/gstreamer-sections.txt:
20799 * gst/gstelement.c:
20808 2005-11-20 Wim Taymans <wim@fluendo.com>
20810 * docs/design/part-TODO.txt:
20812 Make a proper enum of the flag.
20814 2005-11-19 Wim Taymans <wim@fluendo.com>
20816 * docs/design/part-TODO.txt:
20817 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20818 (gst_format_to_quark), (gst_format_register):
20820 * gst/gstquery.c: (_gst_query_initialize),
20821 (gst_query_type_get_name), (gst_query_type_to_quark),
20822 (gst_query_type_register):
20824 Add type to quark and type to string conversions.
20826 2005-11-19 Andy Wingo <wingo@pobox.com>
20828 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20831 2005-11-19 Wim Taymans <wim@fluendo.com>
20833 * docs/design/part-TODO.txt:
20834 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20835 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20836 (gst_bin_handle_message_func):
20838 Make message handling overridable.
20840 2005-11-19 Andy Wingo <wingo@pobox.com>
20842 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20845 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20847 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20848 is a GstClockTime. Fixes #321710.
20850 * gst/gstclock.h (GstClock): Remove offset property. Add
20851 internal_calibration and external_calibration. Fix padding. Pad
20852 also by GstClockTime so we don't run into problems.
20854 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20855 (gst_clock_get_rate_offset): Remove.
20856 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20859 * gst/gstutils.c (g_static_rec_cond_wait)
20860 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20862 * gst/gstbin.c: Remove terrible continue_state prototype.
20864 * gst/gstelement.h (gst_element_continue_state): Make public.
20866 * gst/gstelement.h:
20867 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20868 by continue_state. Fixes #319389.
20870 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20871 Really fixes #168438. However I don't see anywhere where the
20872 filter function is called... stupid GStreamer...
20874 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20875 don't have a dispose function, so it won't get called when the
20876 object is unreffed, but oh well!
20878 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20879 allows a destroy function to be set so user_data can be freed.
20881 (gst_index_set_filter): Call gst_index_set_filter_full.
20883 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20885 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20886 string should produce an error, given the lack of a way to
20887 represent NULL strings. Fixes #165650.
20890 * gst/gstvalue.c (gst_value_array_append_value)
20891 (gst_value_array_prepend_value, gst_value_array_get_size)
20892 (gst_value_array_get_value): New API, copied from
20893 gst_value_list_*, only operates on arrays.
20894 (gst_value_list_append_value, gst_value_list_prepend_value)
20895 (gst_value_list_concat, gst_value_list_get_size)
20896 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20898 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20899 init_list, because it works on both.
20900 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20901 (gst_value_copy_list_or_array): Renamed from copy_list.
20902 (gst_value_free_list_or_array): Renamed from free_list.
20903 (gst_value_collect_list_or_array): Renamed from collect_list.
20904 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20905 (gst_value_list_or_array_peek_pointer): Renamed from
20907 (_gst_value_array_value_table, _gst_value_list_value_table):
20908 Update value table functions.
20909 (gst_value_compare_list_or_array): Renamed from compare_list.
20911 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20914 * gst/gsttaglist.c:
20915 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20916 GstTagList*. Fixes #143472.
20918 * gst/gststructure.h: Clarify what the foreach/map functions can
20919 or can't do to their arguments.
20921 2005-11-18 Wim Taymans <wim@fluendo.com>
20923 * gst/gstclock.c: (gst_clock_set_calibration),
20924 (gst_clock_get_calibration):
20926 Calibration can be set with internal time equal to current
20929 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20935 2005-11-18 Andy Wingo <wingo@pobox.com>
20938 * pkgconfig/gstreamer-net.pc.in:
20939 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20940 * pkgconfig/Makefile.am: Add net pkgconfig files.
20942 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20945 * gst/gstghostpad.c:
20951 2005-11-18 Andy Wingo <wingo@pobox.com>
20953 * gst/net/gstnetclientclock.c: Turn off debugging.
20955 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20956 times connverge somewhat. Can't make a real test.
20958 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20959 integer arithmetic. Return the minimum of the domain, which can be
20960 set as "internal" for gst_clock_set_calibration.
20961 (gst_net_client_clock_observe_times): Call _set_calibration.
20962 (gst_net_client_clock_new): Call _set_calibration instead of
20965 * check/net/gstnetclientclock.c (test_functioning): Use the right
20969 * gst/gstclock.c (gst_clock_get_calibration)
20970 (gst_clock_set_calibration): New functions, obsolete the ones I
20971 added yesterday. Doh. Precision issues mean we have to extrapolate
20972 from a point in the more recent past than 1970.
20973 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20975 (gst_clock_adjust_unlocked): Use the right calibration data.
20977 2005-11-18 Edward Hervey <edward@fluendo.com>
20979 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20980 Also reset the ->current_* values in READY->PAUSED
20982 2005-11-18 Andy Wingo <wingo@pobox.com>
20984 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20985 Whoops, check the right fd. Also add some debugging.
20986 (gst_net_client_clock_observe_times): Adjust for int64 offset.
20987 (do_linear_regression): Add a crapload of debugging. Subtract off
20988 the minimum values from the input series to discard unneeded bits.
20989 Use only int arithmetic. There is still double arithmetic when
20990 calculating the intercept that needs fixing. Return boolean to
20991 indicate success; FALSE would mean the domain or range is too
20992 great. Still needs fixes.
20994 2005-11-18 Wim Taymans <wim@fluendo.com>
20996 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20997 For the current position in stream time, we need to subtract
21000 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21001 Release lock before calling the callback function of async
21004 2005-11-18 Andy Wingo <wingo@pobox.com>
21006 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21007 Port goes all the way to MAXUINT16.
21009 * gst/net/gstnettimeprovider.c: Make the port range the same as
21010 for the kernel: 0 assigns, otherwise ports are less than
21013 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21016 * check/net/gstnetclientclock.c (test_functioning): Add the start
21019 2005-11-18 Wim Taymans <wim@fluendo.com>
21021 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21022 (gst_bin_remove_func), (bin_bus_handler):
21024 Removing a clock provider from a bin, triggers a clock lost message
21025 so that a new clock will be selected.
21026 Adding a clock to a bin triggers a clock provider message.
21027 Make sure we reselect a clock when we received a clock lost message.
21028 Keep a reference to the element that provided the clock.
21030 2005-11-18 Andy Wingo <wingo@pobox.com>
21032 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21033 the clock initially so it produces values around the base time.
21034 (gst_net_client_clock_class_init): Typo fix.
21035 (gst_net_client_clock_thread): Add note on when the socket gets
21038 2005-11-17 Wim Taymans <wim@fluendo.com>
21040 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21041 Free remote and local time arrays.
21043 2005-11-17 Wim Taymans <wim@fluendo.com>
21045 * gst/net/gstnetclientclock.c: (do_linear_regression),
21046 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21047 Fix compilation, uninitialized vars and a forgotten continue.
21049 2005-11-17 Andy Wingo <wingo@pobox.com>
21051 * check/Makefile.am (check_PROGRAMS):
21052 * check/net/gstnetclientclock.c: Add a most minimal test for the
21053 net client clock. More to come later.
21055 * gst/net/gstnet.h:
21056 * gst/net/Makefile.am: Add netclientclock.
21058 * gst/net/gstnetclientclock.h:
21059 * gst/net/gstnetclientclock.c: New files, implement an untested
21060 GstClock that takes its time from a network time provider.
21061 Implements the algorithm in network-clock.scm.
21063 * tests/network-clock.scm (*window-size*): Rename from
21065 * tests/network-clock.scm (network-time):
21066 * tests/network-clock-utils.scm (q-push): Update callers.
21068 2005-11-17 Wim Taymans <wim@fluendo.com>
21070 * gst/gstbin.c: (gst_bin_provide_clock_func),
21071 (gst_bin_sort_iterator_new):
21072 And unref the child too..
21074 2005-11-17 Wim Taymans <wim@fluendo.com>
21076 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21077 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21078 Refactor the sort iterator so it can be used while holding the
21080 Make clock selection select a clock closest to the source.
21082 2005-11-17 Michael Smith <msmith@fluendo.com>
21084 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21085 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21087 Anonymous structs are a gcc (and some other compilers) extension, so
21088 don't use them. Since this is only for ABI-compatibility, and our
21089 API/ABI freeze is over in a few days, this whole thing will only
21090 last a few days, so don't bother trying to think up a meaningful
21091 name for the struct.
21093 2005-11-17 Andy Wingo <wingo@pobox.com>
21095 * gst/gstclock.h (GstClock): Add rate and offset properties,
21096 preserving ABI stability. Add rate/offset accessors. Will file bug
21097 for the freeze break.
21099 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21100 and offset, trying to keep precision and avoiding
21101 underflow/overflow.
21102 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21103 functions. Make gst_clock_set_time_adjust obsolete.
21104 (gst_clock_set_time_adjust): Note that this function is obsolete.
21105 Will file bug soon.
21107 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21108 greppable by using GST_PADDING-1+1.
21110 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21112 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21114 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21115 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21117 * gst/gstpadtemplate.h:
21118 * gst/gstpluginfeature.h:
21119 Don't use c++ style comments in headers (#321638).
21121 2005-11-16 Andy Wingo <wingo@pobox.com>
21123 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21126 * check/net/gstnettimeprovider.c: Check to see that the time
21127 provider actually provides times. Works, yo!
21129 2005-11-16 Wim Taymans <wim@fluendo.com>
21131 * check/Makefile.am:
21134 * check/elements/fakesrc.c: (GST_START_TEST):
21135 Set element to NULL before disposing it.
21137 2005-11-16 Andy Wingo <wingo@pobox.com>
21139 * gst/net/Makefile.am:
21140 * gst/net/gstnet.h:
21141 * gst/net/gstnettimeprovider.c:
21142 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21143 provider, include it from gstnet.h, and add it to the build.
21145 * gst/net/gstnettimepacket.h:
21146 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21147 sending and receiving.
21149 2005-11-16 Wim Taymans <wim@fluendo.com>
21151 * check/Makefile.am:
21152 Enable valgrind check.
21154 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21155 (gst_fake_src_alloc_buffer):
21158 2005-11-16 Wim Taymans <wim@fluendo.com>
21160 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21161 Call parent finalize too.
21163 2005-11-16 Wim Taymans <wim@fluendo.com>
21165 * check/Makefile.am:
21166 Enable valgrind check that should work fine now.
21168 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21169 * gst/gstqueue.c: (gst_queue_init):
21170 Fix memleaks in pad allocation.
21172 2005-11-16 Andy Wingo <wingo@pobox.com>
21174 * gst/net/Makefile.am:
21175 * gst/net/gstnet.h: New part of core to hold network elements and
21176 objects. Put in core because it exposes API that applications want
21177 to use. The library is named libgstnet-tempname right now because
21178 of the existing libgstnet in gst-plugins-base. Solution is
21179 probably to rename the one in plugins-base; will file a bug for
21182 * gst/net/gstnettimeprovider.c:
21183 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21184 get_time call over the network.
21187 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21189 * check/Makefile.am:
21190 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21191 get additions shortly.
21193 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21195 * gst/gstpad.c: (gst_pad_new_from_static_template):
21197 add gst_pad_new_from_static_template functions
21198 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21199 (gst_check_setup_sink_pad):
21200 * gst/elements/gsttee.c: (gst_tee_init):
21203 2005-11-16 Wim Taymans <wim@fluendo.com>
21205 * gst/gstpad.c: (gst_pad_pause_task):
21206 Removed warning, it's not really an error either.
21208 2005-11-16 Wim Taymans <wim@fluendo.com>
21210 * gst/base/gstbasetransform.c:
21211 (gst_base_transform_prepare_output_buf),
21212 (gst_base_transform_event):
21213 Check if the caps are NULL, this can happen if the element
21214 is shutting down and the pad caps are set to NULL.
21216 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21218 * gst/elements/gsttee.c: (gst_tee_init):
21219 fix pad template leak in tee
21221 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21223 * gst/glib-compat.c: (g_value_dup_gst_object):
21224 * gst/glib-compat.h:
21225 * gst/gstpad.c: (gst_pad_set_property):
21226 use gst_object_ref when setting the pad template; this will
21227 trigger the pad template leaks on GLib 2.6 and the slaves
21229 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21231 * gst/glib-compat.c: (gst_flags_get_first_value):
21232 * gst/glib-compat.h:
21233 * gst/gstregistryxml.c:
21234 remove functions copied from GLib 2.6
21236 2005-11-16 Michael Smith <msmith@fluendo.com>
21239 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21240 do, but only breaks with newer valgrind versions. We're not a
21241 valgrind tool, we have no link-time dependencies on libcoregrind.
21243 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21245 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21247 * gst/gstmessage.h:
21250 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21252 * gst/base/gstbasesrc.c: (gst_base_src_init):
21253 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21254 * gst/gstqueue.c: (gst_queue_init):
21255 * gst/gstregistryxml.c: (load_feature):
21256 Revert all these unrefs, they don't even pass make check !
21258 2005-11-15 Johan Dahlin <johan@gnome.org>
21260 * gst/base/gstbasesrc.c: (gst_base_src_init):
21261 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21262 * gst/gstqueue.c: (gst_queue_init):
21263 Free pad templates, fixes a couple of leaks.
21265 2005-11-15 Daniel Fischer <dan at f3c dot com>
21267 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21269 * gst/gstpad.c: (gst_pad_get_property):
21270 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21271 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21274 2005-11-15 Wim Taymans <wim@fluendo.com>
21279 2005-11-15 Andy Wingo <wingo@pobox.com>
21281 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21283 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21284 using GST_CLOCK_TIME_NONE to disable base time management.
21285 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21286 time if it was NONE before.
21287 (gst_pipeline_change_state): Only munge the base time if
21288 stream_time != GST_CLOCK_TIME_NONE.
21290 * check/gst/gstpipeline.c (test_base_time): Punt around the
21291 problem of the probe not being called, because that's not the
21292 issue I'm looking at. Add a check that setting stream_time to NONE
21293 disables base time management.
21295 2005-11-15 Wim Taymans <wim@fluendo.com>
21297 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21298 segment_stop == -1 at startup.
21300 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21301 (gst_base_transform_change_state):
21302 Init segment values at start.
21304 2005-11-15 Wim Taymans <wim@fluendo.com>
21306 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21307 0 segment values are 0 in any format.
21309 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21310 * gst/base/gstbasetransform.h:
21311 Parse newsegment correctly in basetransform
21313 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21314 Sync to clock using updated segment values.
21316 2005-11-15 Andy Wingo <wingo@pobox.com>
21318 * check/gst/gstpipeline.c (test_base_time): Add check that the
21319 base time and stream time are reset correctly.
21321 2005-11-15 Wim Taymans <wim@fluendo.com>
21323 * docs/design/part-TODO.txt:
21324 Some more TODO items.
21326 2005-11-15 Andy Wingo <wingo@pobox.com>
21328 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21329 error if the user selected "no clock" as the clocking method.
21331 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21332 timestamps with live capture.
21334 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21335 is 0 but we are a live source, timestamp the buffers using the
21338 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21340 * docs/gst/gstreamer-sections.txt:
21342 * gst/gstghostpad.c:
21347 2005-11-14 Wim Taymans <wim@fluendo.com>
21350 add suppressions from Wim's Debian machine
21352 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21355 add suppressions from Andy's AMD64 Ubuntu machine
21357 2005-11-14 Andy Wingo <wingo@pobox.com>
21359 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21360 STATE_LOCK not necessary. Fixes #311489.
21362 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21365 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21366 this function is not implemented.
21368 2005-11-14 Julien MOUTTE <julien@moutte.net>
21370 * gst/base/gstbasetransform.c:
21371 (gst_base_transform_prepare_output_buf):
21372 Ref the source pad caps while we need them.
21375 2005-11-11 Wim Taymans <wim@fluendo.com>
21377 * docs/gst/gstreamer-sections.txt:
21378 Added some docs for GstCollectData.
21380 * gst/base/gstadapter.c:
21381 Some small code example fix.
21383 * gst/base/gstcollectpads.c:
21384 * gst/base/gstcollectpads.h:
21385 Document some more.
21387 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21389 * configure.ac: back to HEAD
21391 === release 0.9.5 ===
21393 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21396 releasing 0.9.5, "Bike Lunch Day"
21398 2005-11-11 Wim Taymans <wim@fluendo.com>
21400 * gst/gstbuffer.c: (_gst_buffer_copy):
21403 * gst/gstcaps.c: (gst_caps_is_equal):
21405 Make _is_equal fast in the trivial cases.
21407 * gst/gstminiobject.c:
21408 * gst/gstminiobject.h:
21409 More docs. Spifify .h file.
21414 2005-11-11 Wim Taymans <wim@fluendo.com>
21416 * gst/base/gstbasetransform.c:
21417 (gst_base_transform_prepare_output_buf),
21418 (gst_base_transform_handle_buffer):
21420 If we're processing a buffer and need to allocate an output
21421 buffer, we cannot accept a format change. If we did get a
21422 format change, we have to alloc a buffer ourselves of the
21425 2005-11-11 Wim Taymans <wim@fluendo.com>
21427 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21428 While checking the flag for reentrancy in the gstcaps function
21429 is nice to detect recursive invocations, it also makes it
21430 impossible to call getcaps from multiple threads, which must be
21431 possible. So, checking for recursive calls has to go.
21433 2005-11-11 Michael Smith <msmith@fluendo.com>
21435 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21436 Don't sync on buffers that fall partially outside our current
21437 segment. Prevents an assertion failure/abort playing some files.
21439 2005-11-10 Andy Wingo <wingo@pobox.com>
21441 * check/gst/gstbin.c (test_message_state_changed_children): Style
21444 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21445 gst_bus_poll with the signal watch. Ensures that poll and a signal
21446 watch see the same messages.
21448 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21449 a poll and a watch at the same time get the same messages.
21451 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21453 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21454 * gst/gstcaps.c: (gst_caps_intersect):
21455 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21456 and it's not needed.
21458 2005-11-10 Wim Taymans <wim@fluendo.com>
21460 * docs/design/part-TODO.txt:
21463 2005-11-10 Wim Taymans <wim@fluendo.com>
21465 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21466 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21467 (gst_base_src_do_sync), (gst_base_src_get_range):
21468 Implement clock sync in base class.
21470 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21472 patch by: Tim-Philipp Müller <tim at centricular dot net>
21474 * gst/gststructure.c: (gst_structure_parse_field),
21475 (gst_structure_from_string):
21476 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21477 so that gst_parse_launch() can deal with spaces in filtered link
21478 caps (fixes #164479)
21479 * check/gst/capslist.h:
21480 * check/gst/gststructure.c: (GST_START_TEST):
21481 add unit tests for this change
21483 2005-11-10 Wim Taymans <wim@fluendo.com>
21485 * docs/gst/gstreamer-sections.txt:
21486 * gst/gstelement.c:
21487 * gst/gstelement.h:
21488 Fix docs, move some STATE macros to private.
21490 2005-11-10 Wim Taymans <wim@fluendo.com>
21492 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21493 Added check for bug #317341
21497 Some more spiffifying.
21499 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21500 Call peer linkfunction if we are a source pad. Totally fixes
21504 Update docs, source pads should call the peer linkfunction
21505 so they can atomically perform the pad link.
21507 2005-11-09 Wim Taymans <wim@fluendo.com>
21511 Uber-spiffy-spiffify some more.
21513 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21515 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21516 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21517 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21518 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21519 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21520 * gst/gstpad.c: (gst_pad_init):
21521 Use GST_DEBUG_FUNCPTR() more extensively.
21523 2005-11-09 Wim Taymans <wim@fluendo.com>
21525 * gst/gstobject.c: (gst_object_class_init):
21527 Documentation fixes.
21529 2005-11-09 Edward Hervey <edward@fluendo.com>
21531 * gst/gsttypefindfactory.c:
21534 2005-11-09 Edward Hervey <edward@fluendo.com>
21536 * gst/base/gsttypefindhelper.c:
21537 * gst/gsttypefind.c:
21538 * gst/gsttypefind.h:
21541 2005-11-09 Wim Taymans <wim@fluendo.com>
21543 * gst/gstiterator.c:
21550 2005-11-09 Wim Taymans <wim@fluendo.com>
21556 2005-11-09 Wim Taymans <wim@fluendo.com>
21558 * docs/gst/gstreamer-sections.txt:
21559 Moved the message async delivery private lock and cond
21560 to the private section.
21562 * gst/gstmessage.c:
21563 * gst/gstmessage.h:
21566 2005-11-09 Edward Hervey <edward@fluendo.com>
21568 * docs/gst/gstreamer-sections.txt:
21571 Document GstURIHandler
21573 2005-11-09 Wim Taymans <wim@fluendo.com>
21575 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21576 (gst_iterator_find_custom):
21577 * gst/gstiterator.h:
21580 2005-11-09 Wim Taymans <wim@fluendo.com>
21583 Document another field.
21585 * gst/gststructure.c:
21586 * gst/gststructure.h:
21589 2005-11-09 Wim Taymans <wim@fluendo.com>
21592 Documented structs.
21594 2005-11-09 Wim Taymans <wim@fluendo.com>
21596 * docs/gst/gstreamer-sections.txt:
21597 Added some new macros.
21604 2005-11-09 Wim Taymans <wim@fluendo.com>
21606 * docs/design/part-TODO.txt:
21607 Some more items for the TODO
21613 2005-11-09 Andy Wingo <wingo@pobox.com>
21615 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21616 to work on something else now tho...
21618 * gst/base/gstadapter.c: More adapter docs.
21620 * gst/elements/gstfilesink.c (gst_file_sink_start)
21621 (gst_file_sink_stop): New functions, replace the state change
21623 (gst_file_sink_class_init): Hook up the start and stop functions.
21624 (gst_file_sink_base_init): Don't set the state change handler any
21625 more. It was a bit ugly too, being set from here...
21626 (gst_file_sink_get_property, gst_file_sink_set_property):
21628 (gst_file_sink_set_location): More robust check that doesn't call
21629 GST_STATE. Ugggggg.
21631 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21633 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21634 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21636 2005-11-08 Wim Taymans <wim@fluendo.com>
21638 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21639 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21640 (gst_base_sink_chain), (gst_base_sink_change_state):
21641 * gst/base/gstbasesink.h:
21642 * gst/base/gstbasesrc.h:
21643 * gst/gstelement.h:
21645 Avoid excessive typechecking in macros.
21647 * gst/gstminiobject.c: (gst_mini_object_get_type),
21648 (gst_mini_object_init), (gst_mini_object_new),
21649 (gst_mini_object_free):
21650 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21651 (gst_object_finalize):
21652 Remove cruft code, optimize alloc_trace.
21654 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21656 * docs/faq/gst-uninstalled:
21657 fix up PS1 for systems that try to reset it
21659 2005-11-07 Wim Taymans <wim@fluendo.com>
21661 * gst/base/gstbasesrc.c: (gst_base_src_init),
21662 (gst_base_src_get_range):
21663 Set the segment_end to -1 initially. Fixed typefind.
21665 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21667 * gst/base/gstadapter.c:
21668 Debug category should be 'adapter', not 'GstAdapter'.
21670 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21671 (gst_collectpads_class_init), (gst_collectpads_init),
21672 (gst_collectpads_peek), (gst_collectpads_pop),
21673 (gst_collectpads_event), (gst_collectpads_chain):
21674 Add debug category and some debugging output. Use boilerplate
21675 macros. Remove some extraneous words from docs.
21677 2005-11-05 Andy Wingo <wingo@pobox.com>
21679 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21682 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21684 * docs/gst/gstreamer-sections.txt:
21687 * gst/gstminiobject.h:
21692 2005-11-04 Wim Taymans <wim@fluendo.com>
21694 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21695 Small update to stop at the configured segment_end
21698 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21700 * gst/gstregistry.c:
21701 * gst/gstregistry.h:
21704 2005-11-04 Edward Hervey <edward@fluendo.com>
21706 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21707 Check if we are doing a segment seek and have arrived at the
21708 end of that segment.
21710 2005-11-04 Wim Taymans <wim@fluendo.com>
21712 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21713 Don't leak a mutex unlock in case of an error.
21718 2005-11-04 Wim Taymans <wim@fluendo.com>
21720 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21722 Get the context to wake up only once.
21724 2005-11-03 Wim Taymans <wim@fluendo.com>
21726 * check/states/sinks.c: (GST_START_TEST):
21727 Uncomment fixed check.
21729 * docs/design/part-TODO.txt:
21732 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21733 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21734 (gst_base_sink_get_position):
21735 If we are going to PLAYING, post the right pending state
21736 when we post the intermediate paused message.
21738 * gst/gstelement.c: (gst_element_continue_state),
21739 (gst_element_set_state_func), (gst_element_change_state):
21740 Don't post state changes that were between the same state
21741 and were not ASYNC.
21743 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21745 * docs/gst/gstreamer-sections.txt:
21748 * gst/gstminiobject.h:
21751 more docs and doc style fixes
21753 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21755 * docs/gst/gstreamer-sections.txt:
21756 * gst/gstelement.c:
21757 * gst/gstminiobject.c:
21760 2005-11-03 Andy Wingo <wingo@pobox.com>
21762 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21763 state-changed messages actually have the right order and the right
21766 2005-11-03 Wim Taymans <wim@fluendo.com>
21768 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21769 Added some more checks. Specifically the case where NO_PREROLL
21770 elements are in the pipeline.
21772 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21773 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21774 (gst_base_sink_get_position):
21775 Post READY->PAUSED state change messages too.
21776 Fix bug where VOID was posted as pending state...
21778 * gst/gstbin.c: (gst_bin_recalc_state):
21779 use _element_continue_state() to continue the state change.
21781 * gst/gstelement.c: (gst_element_continue_state),
21782 (gst_element_commit_state), (gst_element_set_state_func),
21783 (gst_element_change_state), (gst_element_change_state_func):
21784 Lots of state change cleanups, assign the STATE_RETURN in
21785 a new continue_state() function that also propagates the
21786 last return value from a state change to the app.
21787 Update some debug statements with proper category.
21789 2005-11-03 Wim Taymans <wim@fluendo.com>
21791 * docs/design/part-events.txt:
21792 * docs/design/part-gstpipeline.txt:
21793 * docs/design/part-messages.txt:
21794 * docs/design/part-overview.txt:
21795 * docs/design/part-seeking.txt:
21796 * docs/design/part-states.txt:
21797 * docs/design/part-trickmodes.txt:
21798 * docs/manual/advanced-position.xml:
21799 Small docs updates.
21802 People think !! is ugly, this looks better.
21804 * gst/gstpad.c: (gst_pad_set_blocked_async):
21805 Remove !! since it's fixed elsewhere now.
21807 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21809 * gst/gstminiobject.h:
21811 Add !! to _FLAG_IS_SET macros to make the result boolean.
21813 2005-11-03 Edward Hervey <edward@fluendo.com>
21815 * gst/gstpad.c: (gst_pad_set_blocked_async):
21816 comparing a flag and a gboolean rarely returns coherent results...
21817 Added two characters (!!) to make that work correctly.
21819 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21821 * gst/gstbus.c: (gst_bus_class_init):
21824 * gst/gstqueue.c: (gst_queue_loop):
21825 Don't assume a miniobject that isn't a buffer is an
21826 event (it could be that there is a refcounting
21827 problem somewhere and the pointer is stale and
21828 refers to an already destroyed miniobject).
21830 2005-11-03 Julien MOUTTE <julien@moutte.net>
21832 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21834 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21836 * docs/manual/advanced-position.xml:
21837 Update seek example and explanations to current 0.9 API.
21839 * gst/elements/gsttypefindelement.c:
21840 (gst_type_find_element_activate):
21841 Remove FIXME comment now that the found caps
21844 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21846 * gst/gstregistryxml.c: (load_feature):
21847 Add another GST_STR_NULL instance
21849 2005-11-02 Edward Hervey <edward@fluendo.com>
21851 * gst/gstpad.c: (handle_pad_block):
21852 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21854 2005-11-02 Wim Taymans <wim@fluendo.com>
21859 * gst/gstelement.c: (gst_element_commit_state):
21860 Remove unused value.
21862 * gst/gstiterator.c:
21863 Mention that the returned element is reffed in the docs.
21865 2005-11-02 Wim Taymans <wim@fluendo.com>
21867 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21868 (gst_pad_push), (gst_pad_push_event):
21869 Unlock blocked pads when they are flushed.
21871 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21874 * docs/gst/gstreamer-sections.txt:
21877 * gst/gstregistry.c: (gst_registry_scan_path_level):
21878 fix for a nasty little missed situation where an installed plug-in
21879 which was in the cache did not get overridden by an uninstalled one
21880 which was earlier in the plugin path because the newly created plugin
21881 for the uninstalled one (not in the registry) didn't get its
21882 ->registered set to TRUE
21884 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21886 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21887 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21888 (gst_collectpads_is_active), (gst_collectpads_collect),
21889 (gst_collectpads_collect_range), (gst_collectpads_start),
21890 (gst_collectpads_stop), (gst_collectpads_peek),
21891 (gst_collectpads_pop), (gst_collectpads_available),
21892 (gst_collectpads_read), (gst_collectpads_flush):
21893 Guard public API with assertions.
21896 Fix docs for gst_pad_set_link_function().
21898 2005-11-02 Johan Dahlin <johan@gnome.org>
21900 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21901 Unref found_caps after we used it.
21903 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21905 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21906 Don't try to ref NULL.
21908 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21910 * win32/common/config.h.in:
21911 provide a GST_FUNCTION that just gives a string for now
21913 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21915 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21916 (gst_object_flags_get_type), (register_gst_bin_flags),
21917 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21918 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21919 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21920 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21921 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21922 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21923 (gst_clock_flags_get_type), (register_gst_state),
21924 (gst_state_get_type), (register_gst_state_change_return),
21925 (gst_state_change_return_get_type), (register_gst_state_change),
21926 (gst_state_change_get_type), (register_gst_element_flags),
21927 (gst_element_flags_get_type), (register_gst_core_error),
21928 (gst_core_error_get_type), (register_gst_library_error),
21929 (gst_library_error_get_type), (register_gst_resource_error),
21930 (gst_resource_error_get_type), (register_gst_stream_error),
21931 (gst_stream_error_get_type), (register_gst_event_type),
21932 (gst_event_type_get_type), (register_gst_seek_type),
21933 (gst_seek_type_get_type), (register_gst_seek_flags),
21934 (gst_seek_flags_get_type), (register_gst_format),
21935 (gst_format_get_type), (register_gst_index_certainty),
21936 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21937 (gst_index_entry_type_get_type),
21938 (register_gst_index_lookup_method),
21939 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21940 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21941 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21942 (gst_index_flags_get_type), (register_gst_debug_level),
21943 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21944 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21945 (gst_iterator_result_get_type), (register_gst_iterator_item),
21946 (gst_iterator_item_get_type), (register_gst_message_type),
21947 (gst_message_type_get_type), (register_gst_mini_object_flags),
21948 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21949 (gst_pad_link_return_get_type), (register_gst_flow_return),
21950 (gst_flow_return_get_type), (register_gst_activate_mode),
21951 (gst_activate_mode_get_type), (register_gst_pad_direction),
21952 (gst_pad_direction_get_type), (register_gst_pad_flags),
21953 (gst_pad_flags_get_type), (register_gst_pad_presence),
21954 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21955 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21956 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21957 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21958 (gst_plugin_flags_get_type), (register_gst_rank),
21959 (gst_rank_get_type), (register_gst_query_type),
21960 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21961 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21962 (gst_tag_flag_get_type), (register_gst_task_state),
21963 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21964 (gst_alloc_trace_flags_get_type),
21965 (register_gst_type_find_probability),
21966 (gst_type_find_probability_get_type), (register_gst_uri_type),
21967 (gst_uri_type_get_type), (register_gst_parse_error),
21968 (gst_parse_error_get_type):
21969 * win32/common/gstversion.h:
21970 update win32 copies
21972 2005-11-01 Luca Ognibene <luogni@tin.it>
21975 fix docs. popt is dead, long live GOption.
21977 2005-10-31 Wim Taymans <wim@fluendo.com>
21982 2005-10-31 Andy Wingo <wingo@pobox.com>
21986 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21988 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21989 need to serialize property notifications on GLib 2.8. GLib 2.6 has
21990 the possibility of deadlocks here if code calling notify() or
21991 set() has a lock that can be taken in another notify handler (ABBA
21992 with class lock and e.g. python GIL state lock).
21994 2005-10-28 Julien MOUTTE <julien@moutte.net>
21996 * gst/gstbus.c: Doc updates.
21998 2005-10-28 Wim Taymans <wim@fluendo.com>
22000 * docs/design/part-TODO.txt:
22001 * gst/gstiterator.c:
22002 * gst/gstsystemclock.c:
22003 * gst/gstsystemclock.h:
22006 2005-10-28 Edward Hervey <edward@fluendo.com>
22008 * docs/gst/gstreamer-docs.sgml:
22009 * docs/gst/gstreamer-sections.txt:
22010 the GstURIType documentation page is private, it only defines GstURIType
22011 which should be defined in the GstURIHandler page
22013 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
22015 * gst/gstbin.c: (gst_bin_class_init):
22018 Documentation updates.
22020 2005-10-28 Wim Taymans <wim@fluendo.com>
22022 * docs/gst/gstreamer-sections.txt:
22025 Documented the clocks.
22027 2005-10-28 Stefan Kost <ensonic@users.sf.net>
22029 * docs/gst/gstreamer-sections.txt:
22030 move some macros to private sections
22031 * gst/gstminiobject.c:
22032 * gst/gstminiobject.h:
22033 add descriptions provided by ds and some more
22035 mark macro as to be removed
22037 2005-10-28 Wim Taymans <wim@fluendo.com>
22039 * docs/design/part-TODO.txt:
22040 Add an item to TODO.
22042 * gst/gstiterator.c: (gst_iterator_fold),
22043 (gst_iterator_find_custom):
22044 * gst/gstiterator.h:
22047 2005-10-28 Wim Taymans <wim@fluendo.com>
22049 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22050 (gst_base_transform_init):
22053 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22054 An EOS event marks the queue as completely filled.
22056 2005-10-27 Wim Taymans <wim@fluendo.com>
22058 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22059 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22060 Some more debugging.
22062 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22063 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22064 (gst_base_transform_event), (gst_base_transform_getrange),
22065 (gst_base_transform_chain):
22066 * gst/base/gstbasetransform.h:
22068 Protect transform and concurrent buffer alloc with a new lock.
22069 Try not to break ABI/API.
22071 2005-10-27 Wim Taymans <wim@fluendo.com>
22073 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22074 (gst_base_src_init), (gst_base_src_query),
22075 (gst_base_src_default_newsegment),
22076 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22077 (gst_base_src_send_event), (gst_base_src_event_handler),
22078 (gst_base_src_pad_get_range), (gst_base_src_loop),
22079 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22080 (gst_base_src_start), (gst_base_src_deactivate),
22081 (gst_base_src_activate_push), (gst_base_src_change_state):
22082 Move some stuff around and cleanup things.
22084 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22086 * gst/base/gstbasesrc.c: (gst_base_src_query):
22087 Add missing break statements.
22089 2005-10-27 Wim Taymans <wim@fluendo.com>
22091 * check/gst/gstbin.c: (GST_START_TEST):
22092 An extra refcount is taken in basesrc.
22094 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22095 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22096 (gst_base_src_loop):
22097 Small cleanups, check for flushing after being unlocked from the
22098 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22099 Don't send out EOS when going to READY.
22101 2005-10-27 Wim Taymans <wim@fluendo.com>
22103 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22104 (gst_base_sink_get_position):
22107 * gst/gstbin.c: (message_check), (bin_replace_message),
22108 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22109 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22110 (bin_query_duration_init), (bin_query_duration_fold),
22111 (bin_query_duration_done), (bin_query_generic_fold),
22113 * tools/gst-launch.c: (main):
22116 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22118 * examples/controller/audio-example.c: (main):
22119 * examples/queue/queue.c: (event_loop):
22120 * gst/base/gstbasetransform.h:
22121 * gst/gstelement.c: (gst_element_send_event):
22123 * gst/gstpad.c: (gst_pad_send_event):
22126 changing log priority in error situations
22128 2005-10-25 Wim Taymans <wim@fluendo.com>
22130 * gst/gstbin.c: (message_check), (bin_replace_message),
22131 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22132 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22133 (bin_query_duration_init), (bin_query_duration_fold),
22134 (bin_query_duration_done), (bin_query_generic_fold),
22136 Some doc and debug updates.
22137 Cache previously requested query DURATION for speed. invalidate
22138 cached duration if element posts a DURATION message.
22140 2005-10-25 Wim Taymans <wim@fluendo.com>
22142 * docs/design/part-TODO.txt:
22145 * gst/gstbin.c: (message_check), (bin_replace_message),
22146 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22147 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22148 (bin_query_duration_init), (bin_query_duration_fold),
22149 (bin_query_duration_done), (bin_query_generic_fold),
22151 Handle SEGMENT_START/DONE messages correctly.
22152 More evolved query algorithm that handles duration queries
22155 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22156 (gst_element_get_state_func), (gst_element_abort_state),
22157 (gst_element_commit_state), (gst_element_lost_state):
22158 Some more debugging.
22160 * gst/gstmessage.h:
22163 2005-10-25 Wim Taymans <wim@fluendo.com>
22165 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22166 Don't use invalid stream_time.
22168 * gst/gstevent.c: (gst_event_new_newsegment):
22169 stream_time in newsegment cannot be undefined.
22171 2005-10-24 Wim Taymans <wim@fluendo.com>
22176 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22178 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22180 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22182 * docs/libs/tmpl/gstdparam.sgml:
22183 * docs/libs/tmpl/gstdplinint.sgml:
22184 * docs/libs/tmpl/gstdpman.sgml:
22185 * docs/libs/tmpl/gstdpsmooth.sgml:
22186 * docs/libs/tmpl/gstunitconvert.sgml:
22189 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22194 === release 0.9.4 ===
22196 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22199 releasing 0.9.4, "Tyrannosaurus Rex"
22201 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22203 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22204 (gst_file_sink_get_current_offset):
22205 Use fseeko() and ftello() if available. When falling back on
22206 lseek() to get the current offset, fflush() first to make sure
22207 everything is up-to-date and we get the right offset.
22209 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22211 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22212 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22213 * gst/gsterror.c: (_gst_stream_errors_init):
22215 * gst/gstqueue.c: (gst_queue_loop):
22217 remove prematurely added error category and clean up the instances
22219 2005-10-21 Wim Taymans <wim@fluendo.com>
22221 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22222 (gst_base_sink_get_position), (gst_base_sink_query),
22223 (gst_base_sink_change_state):
22224 Simply set the right flag when going to playing, that's all
22225 we need to do instead of calling a function inside the object
22226 lock (that could take the lock as well and deadlock)
22228 2005-10-21 Wim Taymans <wim@fluendo.com>
22230 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22231 (gst_base_src_loop):
22232 Don't warn, the peer element knows what to do best when
22233 the seek failed, it might try something else.
22235 2005-10-21 Wim Taymans <wim@fluendo.com>
22237 * gst/base/gstbasesrc.c: (gst_base_src_init),
22238 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22241 2005-10-21 Wim Taymans <wim@fluendo.com>
22243 * docs/design/part-segments.txt:
22246 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22247 Correctly set caps, even on the subbufer.
22249 2005-10-21 Wim Taymans <wim@fluendo.com>
22251 * docs/gst/gstreamer-docs.sgml:
22252 * docs/gst/gstreamer-sections.txt:
22253 * gst/gstelement.h:
22256 * gst/gstmessage.h:
22259 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22263 And 2% more doc coverage.
22265 2005-10-21 Andy Wingo <wingo@pobox.com>
22267 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22268 position reporting.
22270 2005-10-20 Wim Taymans <wim@fluendo.com>
22272 * gst/gsterror.c: (gst_error_get_message):
22275 * gst/gststructure.c:
22280 2005-10-20 Wim Taymans <wim@fluendo.com>
22285 Another 1% more coverage.
22287 2005-10-20 Wim Taymans <wim@fluendo.com>
22289 * docs/gst/gstreamer-sections.txt:
22290 * gst/gstelement.c: (gst_element_get_state_func),
22291 (gst_element_abort_state), (gst_element_commit_state),
22292 (gst_element_lost_state):
22294 * gst/gstquery.c: (gst_query_set_position),
22295 (gst_query_parse_position), (gst_query_set_duration),
22296 (gst_query_parse_duration), (gst_query_new_convert):
22298 Yay! 1% more docs coverage.
22300 2005-10-20 Wim Taymans <wim@fluendo.com>
22303 * gst/gstquery.c: (gst_query_set_position),
22304 (gst_query_parse_position), (gst_query_set_duration),
22305 (gst_query_parse_duration), (gst_query_new_convert):
22307 * gst/gstutils.c: (gst_element_query_convert):
22309 Docs and consistency fixes.
22311 2005-10-20 Wim Taymans <wim@fluendo.com>
22317 2005-10-20 Wim Taymans <wim@fluendo.com>
22319 * gst/gstbin.c: (message_check), (bin_replace_message),
22320 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22321 (update_degree), (gst_bin_sort_iterator_next),
22322 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22323 Reworked the message handling a bit, cache the messages instead of
22324 only the senders. alows us to do more in the future.
22326 2005-10-20 Wim Taymans <wim@fluendo.com>
22328 * docs/design/part-TODO.txt:
22331 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22332 (gst_base_sink_query):
22333 Don't use clock time to report position when in EOS.
22335 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22337 * tools/gst-inspect.c: (print_interfaces),
22338 (print_element_properties_info), (print_element_info):
22339 Fix interface output with gst-inspect -a; don't print
22340 newlines after double/float properties.
22342 2005-10-20 Wim Taymans <wim@fluendo.com>
22344 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22345 (gst_base_sink_query):
22346 Speed up current position calculation.
22348 * gst/base/gstbasesrc.c: (gst_base_src_query),
22349 (gst_base_src_default_newsegment):
22350 Correctly set stream position in newsegment.
22352 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22353 (update_degree), (gst_bin_sort_iterator_next),
22354 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22355 * gst/gstmessage.c: (gst_message_new_custom):
22356 Clean up debugging info
22358 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22359 (gst_queue_loop), (gst_queue_handle_src_query):
22362 2005-10-19 Wim Taymans <wim@fluendo.com>
22364 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22365 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22366 Fix query handling again.
22368 2005-10-19 Wim Taymans <wim@fluendo.com>
22370 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22371 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22372 * gst/base/gstbasesrc.c: (gst_base_src_query):
22373 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22374 * gst/elements/gsttypefindelement.c:
22375 (gst_type_find_handle_src_query), (find_element_get_length),
22376 (gst_type_find_element_activate):
22379 * gst/gstquery.c: (gst_query_new_position),
22380 (gst_query_set_position), (gst_query_parse_position),
22381 (gst_query_new_duration), (gst_query_set_duration),
22382 (gst_query_parse_duration), (gst_query_set_segment),
22383 (gst_query_parse_segment):
22385 Bundling query position/duration is not a good idea since duration
22386 does not change much and we don't want to recalculate it for every
22387 position query, so they are separated again..
22388 Base value in segment query is not needed.
22390 * gst/gstqueue.c: (gst_queue_handle_src_query):
22391 * gst/gstutils.c: (gst_element_query_position),
22392 (gst_element_query_duration), (gst_pad_query_position),
22393 (gst_pad_query_duration):
22395 Updates for query API change.
22396 Added some docs here and there.
22398 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22400 * check/gst/gstbin.c: (GST_START_TEST):
22401 * check/gst/gstghostpad.c: (GST_START_TEST):
22402 * check/pipelines/cleanup.c: (GST_START_TEST):
22403 wait on thread to die so we can check refcount correctly
22405 2005-10-18 Wim Taymans <wim@fluendo.com>
22407 * check/pipelines/stress.c: (GST_START_TEST):
22408 Make check a little more time consuming.
22410 2005-10-18 Wim Taymans <wim@fluendo.com>
22412 * check/Makefile.am:
22413 * check/pipelines/stress.c: (GST_START_TEST),
22414 (simple_launch_lines_suite), (main):
22415 Small state change torture test.
22417 * docs/design/part-states.txt:
22418 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22419 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22420 (gst_base_sink_change_state):
22421 Never take state lock from streaming thread, clean up ugly
22422 hacks. Unfortunatly core does not yet support nice ways to
22423 async commit state.
22425 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22427 Start state recalc if a STATE_DIRTY message is posted, but only
22428 on the toplevel bin.
22430 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22431 (gst_element_get_state_func), (gst_element_abort_state),
22432 (gst_element_commit_state), (gst_element_lost_state),
22433 (gst_element_set_state_func), (gst_element_change_state):
22434 * gst/gstelement.h:
22435 State variables are now protected with the LOCK, the state
22436 lock is only used to serialize _set_state().
22438 2005-10-18 Wim Taymans <wim@fluendo.com>
22440 * check/gst/gstbin.c: (GST_START_TEST):
22441 * check/gst/gstmessage.c: (GST_START_TEST):
22442 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22443 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22445 * gst/gstelement.c: (gst_element_abort_state),
22446 (gst_element_commit_state), (gst_element_lost_state):
22447 * gst/gstmessage.c: (gst_message_new_state_changed),
22448 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22449 (gst_message_new_segment_done), (gst_message_new_duration),
22450 (gst_message_parse_state_changed),
22451 (gst_message_parse_segment_start),
22452 (gst_message_parse_segment_done), (gst_message_parse_duration):
22453 * gst/gstmessage.h:
22454 * tools/gst-launch.c: (event_loop):
22455 Seriously, this is better than a previous commit as we only need
22456 to notify the fact that an element changed state in a streaming
22457 thread, marking the state of the parents dirty, hence the
22458 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22461 2005-10-18 Wim Taymans <wim@fluendo.com>
22463 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22464 (gst_bin_recalc_func):
22465 * gst/gstelement.c: (gst_element_set_clock),
22466 (gst_element_abort_state), (gst_element_lost_state):
22467 Cleanups, prepare for state change fixes.
22469 2005-10-18 Wim Taymans <wim@fluendo.com>
22472 * gst/gstelement.c: (gst_element_class_init),
22473 (gst_element_set_state), (gst_element_set_state_func):
22474 * gst/gstelement.h:
22475 Pending ABI changes.
22476 GThreadPool in GstBinClass to monitor async state changes.
22477 state_cookie in GstElement to detect concurrent gst/set state.
22478 set_state is now virtual too in case a very complicated element
22479 has to be constructed.
22481 2005-10-18 Wim Taymans <wim@fluendo.com>
22483 * check/gst/gstbin.c: (GST_START_TEST):
22484 * check/gst/gstmessage.c: (GST_START_TEST):
22485 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22486 * gst/gstbin.c: (bin_bus_handler):
22487 * gst/gstelement.c: (gst_element_commit_state),
22488 (gst_element_lost_state):
22489 * gst/gstmessage.c: (gst_message_new_state_changed),
22490 (gst_message_new_segment_start), (gst_message_new_segment_done),
22491 (gst_message_new_duration), (gst_message_parse_state_changed),
22492 (gst_message_parse_segment_start),
22493 (gst_message_parse_segment_done), (gst_message_parse_duration):
22494 * gst/gstmessage.h:
22495 * tools/gst-launch.c: (event_loop):
22496 Make messages future proof.
22497 state-change gets a flag if it was a message comming from the
22499 segment-start/stop can also be specified in other formats.
22500 A message to notify an app that a pipeline changed playback
22502 Also fix a GstMessage leak in -launch
22504 2005-10-18 Andy Wingo <wingo@pobox.com>
22506 * gst/gstelement.c (gst_element_dispose): More helpful message.
22508 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22510 reviewed by: <delete if not using a buddy>
22512 * common/gtk-doc.mak:
22514 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22516 * gst/gstregistry.c: (gst_registry_scan_path_level):
22517 unref a plug-in we get that was already initialized
22519 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22521 * docs/gst/gstreamer-sections.txt:
22522 * docs/libs/gstreamer-libs-sections.txt:
22523 * gst/gstelement.h:
22524 add new api entries
22525 hide internal macro
22527 2005-10-17 Andy Wingo <wingo@pobox.com>
22529 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22532 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22534 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22536 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22537 (gst_element_get_state_func): Better debug message.
22538 (gst_element_commit_state): s/INFO/DEBUG/.
22539 (gst_element_lost_state, gst_element_change_state):
22541 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22542 (gst_message_new_custom): s/INFO/LOG/.
22544 2005-10-17 Michael Smith <msmith@fluendo.com>
22546 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22547 Check if end time is valid using end time, not start time.
22549 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22551 * check/gst-libs/controller.c: (GST_START_TEST),
22552 (gst_controller_suite):
22553 * libs/gst/controller/gstcontroller.c:
22554 (gst_controlled_property_set_interpolation_mode):
22555 * libs/gst/controller/gstcontroller.h:
22556 * libs/gst/controller/gstinterpolation.c:
22557 * testsuite/controller/.cvsignore:
22558 * testsuite/controller/Makefile.am:
22559 * testsuite/controller/interpolator.c:
22560 merge controller testsuites
22562 remove mem-chunk from docs
22564 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22566 * gst/gstmemchunk.c:
22567 * gst/gstmemchunk.h:
22568 * gst/gsttrashstack.c:
22569 * gst/gsttrashstack.h:
22570 out. get out. you're fired. to the Attic !
22572 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22574 * gst/gstcaps.c: (gst_caps_intersect):
22575 fix signedness issues in a (hopefully) correct way
22576 * gst/gstelement.c: (gst_element_pads_activate):
22578 * gst/gstobject.c: (gst_object_set_parent):
22581 2005-10-17 Julien MOUTTE <julien@moutte.net>
22583 * gst/gstvalue.h: Fix prototypes.
22585 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22587 * docs/gst/gstreamer-sections.txt:
22588 * gst/gst.c: (gst_version_string):
22590 * gst/gstversion.h.in:
22591 * win32/common/libgstreamer.def:
22592 add gst_version_string ()
22594 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22598 * gst/gst.c: (init_post):
22599 * win32/common/config.h.in:
22601 * gst/gstcaps.c: (gst_caps_intersect):
22602 use gint64, the range could be bigger than a guint
22604 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22607 document potential problem in 2038
22609 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22611 * gst/gstcaps.c: (gst_caps_intersect):
22612 Fix guint j diving under 0
22614 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22617 * win32/common/config.h:
22618 * win32/common/config.h.in:
22619 check for process.h, declares getpid() on Windows
22621 include process.h if we have it
22622 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22623 * gst/gstmemchunk.h:
22624 fix signedness issues
22625 * win32/common/libgstreamer.def:
22628 2005-10-16 Julien MOUTTE <julien@moutte.net>
22630 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22631 fix. Because of unsigned ints, caps intersection was going nuts and
22632 trying to access structures with G_MAXUINT index. That fixes
22633 videotestsrc ! ffmpegcolorspace ! fakesink
22634 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22637 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22640 use the gettext macro
22641 * gst/elements/gstelements.c:
22643 * gst/indexers/gstindexers.c:
22644 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22645 * win32/common/config.h:
22647 * win32/common/config.h.in:
22648 add the template to generate config.h
22649 * win32/common/gstenumtypes.c:
22650 * win32/common/gstversion.h:
22653 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22655 * gst/gst.c: (gst_version):
22656 * gst/gstversion.h.in:
22659 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22662 Oops, add missing closing bracket.
22664 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22667 use common m4's for argument checking
22669 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22671 * docs/gst/gstreamer-sections.txt:
22673 Add GST_EVENT_TYPE_NAME() macro.
22675 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22678 * gst/gstpluginfeature.c:
22680 privatize more symbols
22682 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22685 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22686 everything that uses GStreamer API should have the includes
22688 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22690 * docs/gst/gstreamer-sections.txt:
22691 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22693 give each value a _get_type, removes the DATA exports
22695 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22699 remove _gst_registry_auto_load, not used anymore
22700 * gst/gstbin.c: (gst_bin_get_type):
22702 * gst/gstelement.c: (gst_element_get_type):
22703 * gst/gstelement.h:
22704 * gst/gstobject.c: (gst_object_get_type):
22706 * gst/gstpad.c: (gst_pad_get_type):
22708 make _get_type functions similar, fixes data export from library
22710 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22713 correctly make conditionals
22714 * gst/elements/Makefile.am:
22715 * gst/elements/gstelements.c:
22716 fix typo causing fdsrc not to build
22718 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22720 * testsuite/Makefile.am:
22721 * testsuite/bytestream/.cvsignore:
22722 * testsuite/bytestream/Makefile.am:
22723 * testsuite/bytestream/filepadsink.c:
22724 * testsuite/bytestream/gstbstest.c:
22725 * testsuite/bytestream/test1.c:
22726 * testsuite/bytestream/testfile1:
22727 * testsuite/caps/normalisation.c:
22728 * testsuite/caps/random.c: (main):
22729 * testsuite/cleanup/.cvsignore:
22730 * testsuite/cleanup/Makefile.am:
22731 * testsuite/cleanup/cleanup1.c:
22732 * testsuite/cleanup/cleanup2.c:
22733 * testsuite/cleanup/cleanup3.c:
22734 * testsuite/cleanup/cleanup4.c:
22735 * testsuite/cleanup/cleanup5.c:
22736 * testsuite/controller/interpolator.c:
22737 * testsuite/debug/printf_extension.c: (main):
22738 * testsuite/elements/tee.c:
22739 * testsuite/negotiation/.cvsignore:
22740 * testsuite/negotiation/Makefile.am:
22741 * testsuite/negotiation/pad_link.c:
22742 * testsuite/pad/Makefile.am:
22743 * testsuite/pad/chainnopull.c:
22744 * testsuite/pad/getnopush.c:
22745 * testsuite/pad/link.c:
22746 * testsuite/refcounting/sched.c: (create_pipeline):
22747 * testsuite/registry/Makefile.am:
22748 * testsuite/registry/gst-print-formats.c:
22749 * testsuite/schedulers/.cvsignore:
22750 * testsuite/schedulers/142183-2.c:
22751 * testsuite/schedulers/142183.c:
22752 * testsuite/schedulers/143777-2.c:
22753 * testsuite/schedulers/143777.c:
22754 * testsuite/schedulers/147713.c:
22755 * testsuite/schedulers/147819.c:
22756 * testsuite/schedulers/147894-2.c:
22757 * testsuite/schedulers/147894.c:
22758 * testsuite/schedulers/Makefile.am:
22759 * testsuite/schedulers/group_link.c:
22760 * testsuite/schedulers/queue_link.c:
22761 * testsuite/schedulers/relink.c:
22762 * testsuite/schedulers/unlink.c:
22763 * testsuite/schedulers/unref.c:
22764 * testsuite/schedulers/useless_iteration.c:
22765 * testsuite/states/bin.c:
22766 clean out/remove some stuff from the testsuite directories
22768 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22771 check for some headers
22772 * gst/elements/Makefile.am:
22773 * gst/elements/gstelements.c:
22774 don't compile fdsrc without sys/socket.h
22775 * gst/indexers/Makefile.am:
22776 * gst/indexers/gstindexers.c: (plugin_init):
22777 don't compile fileindex without mmap
22779 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22786 * check/Makefile.am:
22787 * docs/gst/Makefile.am:
22788 * examples/helloworld/Makefile.am:
22790 * gst/base/Makefile.am:
22791 * gst/check/Makefile.am:
22792 * gst/elements/Makefile.am:
22793 * gst/indexers/Makefile.am:
22794 * gst/parse/Makefile.am:
22795 * libs/gst/controller/Makefile.am:
22796 * libs/gst/dataprotocol/Makefile.am:
22797 * examples/helloworld/helloworld.c: (event_loop):
22798 compile fixes, though it's not being compiled currently
22800 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22802 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22803 Add some simple tests for the new taglist date API.
22805 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22807 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22808 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22809 Beautify 'last-message' output: print 'none' for buffer timestamps
22810 and durations if none is set; improve alignment with next messages.
22812 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22814 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22815 * gst/gstpluginfeature.h:
22816 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22817 * gst/gstregistry.h:
22818 * docs/gst/gstreamer-sections.txt:
22819 Add new API to check plugin feature version requirements.
22821 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22822 Some basic tests for the above.
22824 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22826 * gst/gststructure.c: (gst_structure_to_string):
22827 guard against NULL printf - happens when for example
22828 a message structure with GstClock gets serialized
22830 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22832 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22833 Fix presumable copy'n'pasto.
22835 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22837 * gst/elements/gstfakesrc.h:
22838 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22839 * gst/elements/gsttypefindelement.c:
22840 fix some signedness
22841 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22842 I wonder if this could actually write +2GB files before
22844 2005-10-13 Andy Wingo <wingo@pobox.com>
22846 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22847 Fix Timmeke Waymans bug.
22848 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22849 string of the proper length to gst_caps_from_string. There's a
22850 potential for, before this fix, that this could cause someone
22851 connecting over the network to cause a segfault if the payload is
22852 not NUL-terminated.
22854 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22856 * docs/design/draft-push-pull.txt:
22857 * docs/design/part-overview.txt:
22858 * docs/random/TODO-pre-0.9:
22859 * docs/random/old/ChangeLog.gstreamer:
22860 * gst/base/gstpushsrc.c:
22864 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22866 * gst/glib-compat.c: (gst_flags_get_first_value):
22867 * gst/glib-compat.h:
22868 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22869 (gst_value_compare_double), (gst_value_serialize_flags):
22870 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22873 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22875 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22876 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22878 * tools/gst-launch.c: (event_loop):
22879 print out clock nicely
22881 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22883 * docs/gst/gstreamer-sections.txt:
22884 * gst/gsttaglist.h:
22885 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22886 (gst_tag_list_get_date_index):
22887 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22888 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22890 2005-10-13 Julien MOUTTE <julien@moutte.net>
22892 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22893 (gst_collectpads_chain):
22894 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22897 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22899 * docs/gst/gstreamer-sections.txt:
22902 * tools/gst-inspect.c: (main):
22903 * tools/gst-launch.c: (main):
22904 * tools/gst-run.c: (main):
22905 * tools/gst-xmlinspect.c: (main):
22906 fix GOption context leaks
22909 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22913 * win32/common/config.h:
22915 * win32/vs6/grammar.dsp:
22916 * win32/vs6/libgstelements.dsp:
22917 * win32/vs6/libgstreamer.dsp:
22920 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22922 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22923 * gst/base/gstbasesrc.c: (gst_base_src_query):
22924 fix more guint64<->gdouble conversions
22926 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22929 add win32-update target
22930 * win32/common/gstconfig.h:
22931 * win32/common/gstenumtypes.c:
22932 * win32/common/gstenumtypes.h:
22933 * win32/common/gstversion.h:
22934 add files that visual studio can't generate
22936 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22939 add a win32-update target
22942 2005-10-12 Wim Taymans <wim@fluendo.com>
22944 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22945 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22946 * gst/gstelement.c: (gst_element_commit_state),
22947 (gst_element_set_state):
22948 Protect flags with proper lock.
22949 unref provided cached clock in dispose.
22951 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22954 * gst/gstminiobject.h:
22956 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22957 removed unused flags from miniobject
22960 2005-10-12 Wim Taymans <wim@fluendo.com>
22962 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22963 (gst_file_sink_event), (gst_file_sink_render):
22964 Flush before seeking.
22966 2005-10-12 Andy Wingo <wingo@pobox.com>
22968 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22969 always been the case.
22971 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22973 * check/gst/gstbin.c: (GST_START_TEST):
22974 * docs/gst/gstreamer-sections.txt:
22975 * gst/base/gstbasesink.c: (gst_base_sink_init):
22976 * gst/base/gstbasesrc.c: (gst_base_src_init),
22977 (gst_base_src_get_range), (gst_base_src_check_get_range),
22978 (gst_base_src_start), (gst_base_src_stop):
22979 * gst/base/gstbasesrc.h:
22980 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22981 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22982 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22986 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22988 * gst/gstelement.c: (gst_element_is_locked_state),
22989 (gst_element_set_locked_state), (gst_element_commit_state),
22990 (gst_element_set_state):
22991 * gst/gstelement.h:
22992 * gst/gstindex.c: (gst_index_init):
22994 * gst/gstminiobject.h:
22995 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22996 (gst_object_set_parent):
22998 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22999 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23001 * gst/gstpadtemplate.h:
23002 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23003 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23004 * gst/gstpipeline.h:
23005 * gst/indexers/gstfileindex.c: (gst_file_index_load),
23006 (gst_file_index_commit):
23007 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23008 * testsuite/pad/link.c: (gst_test_src_init),
23009 (gst_test_filter_init), (gst_test_sink_init):
23010 * testsuite/states/locked.c: (main):
23011 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23012 moved bitshift from macro to enum definition
23014 2005-10-12 Wim Taymans <wim@fluendo.com>
23016 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23017 * gst/elements/gstfilesink.c: (gst_file_sink_event),
23018 (gst_file_sink_render):
23019 Some more debugging info.
23021 2005-10-12 Wim Taymans <wim@fluendo.com>
23023 * docs/design/part-states.txt:
23024 * tools/gst-launch.c: (main):
23026 Revert non-intentional change.
23028 2005-10-12 Wim Taymans <wim@fluendo.com>
23030 * check/gst/gstbin.c: (GST_START_TEST):
23031 * check/gst/gstelement.c: (GST_START_TEST):
23032 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23033 * check/gst/gstghostpad.c: (GST_START_TEST):
23034 * check/gst/gstpipeline.c: (GST_START_TEST):
23035 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23036 * check/states/sinks.c: (GST_START_TEST):
23037 * gst/elements/gsttypefindelement.c: (stop_typefinding):
23038 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23039 (gst_bin_remove_func), (gst_bin_get_state_func),
23040 (gst_bin_recalc_state), (gst_bin_change_state_func),
23042 * gst/gstelement.c: (gst_element_get_state_func),
23043 (gst_element_get_state), (gst_element_abort_state),
23044 (gst_element_commit_state), (gst_element_set_state),
23045 (gst_element_change_state), (gst_element_change_state_func):
23046 * gst/gstelement.h:
23047 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23048 (gst_pipeline_provide_clock_func):
23049 * gst/gstutils.c: (gst_element_link_pads_filtered):
23050 * tools/gst-launch.c: (main):
23051 * tools/gst-typefind.c: (main):
23052 Use GstClockTime in _get_state() instead of GTimeVal.
23053 Remove old code in gstutils.c
23055 2005-10-12 Andy Wingo <wingo@pobox.com>
23057 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23060 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23061 there is no task. Shouldn't affect any code, as nothing in our
23062 plugins checks this return value.
23063 (gst_pad_stop_task): Also take the stream lock if the pad has no
23064 task. Docs updated.
23066 2005-10-12 Wim Taymans <wim@fluendo.com>
23068 * gst/gstpad.c: (pre_activate), (post_activate),
23069 (gst_pad_activate_pull), (gst_pad_activate_push):
23070 Cleanup activation code. Reset old state if
23073 2005-10-12 Wim Taymans <wim@fluendo.com>
23075 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23076 (gst_base_sink_change_state):
23077 No need to prerol after receiving EOS.
23079 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23080 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23081 * gst/elements/gstidentity.c: (gst_identity_event):
23082 Print events more verbosely.
23084 2005-10-12 Wim Taymans <wim@fluendo.com>
23086 * check/Makefile.am:
23087 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23088 * check/states/sinks2.c:
23089 Moved sinks2 testcode in sinks check.
23091 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23092 (gst_bin_remove_func), (gst_bin_recalc_state),
23093 (gst_bin_change_state_func), (bin_bus_handler):
23094 Fix potential race condition when _get_state() iterated over an
23095 ASYNC element right before it posted a state completion.
23098 Do proper cast here.
23100 * gst/gstevent.c: (gst_event_new_newsegment),
23101 (gst_event_parse_newsegment):
23102 A playback rate of 0.0 is not allowed.
23104 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23106 * win32/common/config.h:
23107 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23108 (_trewinddir), (_ttelldir), (_tseekdir):
23109 * win32/common/dirent.h:
23110 * win32/common/gtchar.h:
23111 * win32/common/libgstbase.def:
23112 * win32/common/libgstreamer.def:
23113 * win32/vs6/grammar.dsp:
23114 * win32/vs6/gst_inspect.dsp:
23115 * win32/vs6/gst_launch.dsp:
23116 * win32/vs6/gstreamer.dsw:
23117 * win32/vs6/libgstbase.dsp:
23118 * win32/vs6/libgstelements.dsp:
23119 * win32/vs6/libgstreamer.dsp:
23120 Visual Studio 6 project files, and a new common directory.
23123 2005-10-11 Wim Taymans <wim@fluendo.com>
23125 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23126 (gst_base_sink_do_sync), (gst_base_sink_query),
23127 (gst_base_sink_change_state):
23128 * gst/base/gstbasesink.h:
23129 Correctly parse newsegment info.
23131 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23133 * gst/gst.c: (init_post):
23134 split plugin paths correctly
23136 2005-10-11 Wim Taymans <wim@fluendo.com>
23138 * check/gst/gstevent.c: (GST_START_TEST):
23139 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23140 (gst_base_sink_change_state):
23141 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23142 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23143 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23144 * gst/gstevent.c: (gst_event_new_newsegment),
23145 (gst_event_parse_newsegment):
23147 Added extra flag to newsegment for future API freeze.
23148 Updated check and base elements.
23150 2005-10-11 Julien MOUTTE <julien@moutte.net>
23152 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23153 (gst_collectpads_add_pad), (gst_collectpads_pop),
23154 (gst_collectpads_event), (gst_collectpads_chain):
23155 * gst/base/gstcollectpads.h: Handle EOS correctly.
23157 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23159 * tools/gst-launch.c: (main):
23160 more null protecting
23162 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23164 * gst/gst-i18n-lib.h:
23165 check for ENABLE_NLS, not GETTEXT_PACKAGE
23166 * gst/gstregistry.c: (gst_registry_add_plugin),
23167 (gst_registry_scan_path_level),
23168 (_gst_registry_remove_cache_plugins):
23169 protect possibly NULL strings
23170 * gst/parse/types.h:
23171 config.h already included before
23172 * tools/gst-inspect.c: (main):
23173 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23174 check for ENABLE_NLS, not GETTEXT_PACKAGE
23175 * tools/gst-launch.c: (main):
23176 check for ENABLE_NLS, not GETTEXT_PACKAGE
23178 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23181 if we don't have glib, fail before testing 2.8
23182 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23183 fix a leak, should fix plugins-base testsuite
23185 2005-10-11 Andy Wingo <wingo@pobox.com>
23187 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23188 take the mode we're going to as an arg. Go head and set the mode
23189 and flushing flags now, so that if the activate function starts a
23190 thread all the flags will be in the right state.
23191 (post_activate): Renamed also. Just handle making sure streaming
23192 finishes for the deactivation case, and setting the deactivated
23194 (gst_pad_set_active): Complain loudly if deactivation fails.
23195 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23196 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23197 remove the terrible hack.
23199 2005-10-11 Wim Taymans <wim@fluendo.com>
23201 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23202 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23203 (gst_bin_recalc_state), (gst_bin_change_state_func),
23204 (gst_bin_dispose), (bin_bus_handler):
23206 Prepare to make current EOS message queue more generic.
23209 * gst/gstevent.c: (gst_event_new_newsegment),
23210 (gst_event_parse_newsegment):
23212 Rename base to stream_time.
23214 * gst/gstmessage.h:
23217 2005-10-11 Wim Taymans <wim@fluendo.com>
23219 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23220 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23221 (gst_bin_change_state_func), (bin_bus_handler):
23223 Work on proper clock selection.
23225 2005-10-11 Edward Hervey <edward@fluendo.com>
23227 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23228 * libs/gst/controller/gstcontroller.h:
23229 Added GList* version of _remove_properties() in order to be able to wrap
23232 2005-10-11 Wim Taymans <wim@fluendo.com>
23234 * docs/design/part-states.txt:
23237 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23238 (gst_bin_change_state_func), (bin_bus_handler):
23239 Doc updates. Don't distribute the same clock over and over again.
23245 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23246 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23247 (gst_pad_send_event):
23249 Make probe emission threadsafe again.
23250 Register quarks and move _get_name() from utils.
23253 * gst/gstpipeline.c: (gst_pipeline_class_init),
23254 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23255 Only redistribute the clock of it changed.
23257 * gst/gstsystemclock.h:
23262 Moved the _flow_get_name() to GstPad.
23264 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23266 * check/gst-libs/gdp.c: (GST_START_TEST):
23267 * check/gst/gstcaps.c: (GST_START_TEST):
23268 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23269 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23270 (gst_dp_packet_from_caps):
23271 fix more valgrind warnings before turning up the heat
23273 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23275 * gst/parse/grammar.y:
23276 some cleanup before the hacking
23278 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23280 * gst/base/gstbasesrc.c: (gst_base_src_query):
23282 * gst/gstutils.c: (gst_guint64_to_gdouble),
23283 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23285 externalize, basesrc uses it
23286 obviously the implementation needs testing
23288 2005-10-10 Wim Taymans <wim@fluendo.com>
23290 * tests/sched/Makefile.am:
23291 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23292 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23294 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23296 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23297 apparently converting from guint64 to double is not implemented
23300 2005-10-10 Wim Taymans <wim@fluendo.com>
23302 * check/Makefile.am:
23303 * check/generic/states.c: (GST_START_TEST):
23304 * check/gst/gstbin.c: (GST_START_TEST):
23305 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23306 * check/states/sinks.c: (GST_START_TEST):
23307 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23309 Check fixes, use API as stated in design docs, remove hacks.
23311 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23312 (gst_base_sink_change_state):
23313 Catch stopping our task while we're shutting down.
23315 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23316 (gst_bin_remove_func), (gst_bin_get_state_func),
23317 (gst_bin_recalc_state), (gst_bin_change_state_func),
23320 * gst/gstelement.c: (gst_element_init),
23321 (gst_element_get_state_func), (gst_element_abort_state),
23322 (gst_element_commit_state), (gst_element_lost_state),
23323 (gst_element_set_state), (gst_element_change_state),
23324 (gst_element_change_state_func):
23325 * gst/gstelement.h:
23326 New state change algorithm (see #318116)
23328 * gst/gstpipeline.c: (gst_pipeline_class_init),
23329 (gst_pipeline_init), (gst_pipeline_set_property),
23330 (gst_pipeline_get_property), (do_pipeline_seek),
23331 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23332 * gst/gstpipeline.h:
23333 Remove crude state change hacks.
23336 Remove crude hacks.
23338 * tools/gst-launch.c: (main):
23339 Fixes for state change. Needs some more work to fully use the
23342 2005-10-10 Andy Wingo <wingo@pobox.com>
23344 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23346 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23347 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23350 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23352 * gst/gstiterator.c: (gst_iterator_new):
23353 Fix my previous commit: GTypes passed to gst_iterator_new()
23354 can be fundamental types.
23356 2005-10-10 Wim Taymans <wim@fluendo.com>
23358 * gst/gstelement.c: (gst_element_iterate_pad_list),
23359 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23360 (gst_element_iterate_sink_pads):
23361 Use src/sink pads lists for the respective iterators instead
23364 2005-10-10 Andy Wingo <wingo@pobox.com>
23366 Merged in popt removal + GOption addition patch from Ronald, bug
23369 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23370 GstElement macros around, remove popt-related symbols, add goption
23373 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23375 * docs/gst/Makefile.am:
23376 * docs/libs/Makefile.am: No POPT_CFLAGS.
23378 * examples/manual/Makefile.am:
23379 * docs/manual/basics-init.xml: Doc updates with an example.
23381 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23382 (gst_init), (parse_one_option), (parse_goption_arg):
23383 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23384 bit of hand merging and debugging to get the GOption stuff working
23387 * tests/Makefile.am:
23388 * tools/Makefile.am:
23389 * tools/gst-inspect.c: (main):
23390 * tools/gst-launch.c: (main):
23391 * tools/gst-run.c: (main):
23392 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23394 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23396 * gst/gstiterator.c: (gst_iterator_new):
23397 Add assertions to make sure passed GType is likely to really
23398 be a GType (as the compiler won't catch it if the size and
23399 GType arguments get mixed up, see #318447).
23401 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23403 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23405 * gst/gstbin.c: (gst_bin_iterate_sorted):
23406 Pass GType and size arguments to gst_iterator_new() in the right
23407 order (maybe we should make _new() take the GType as first argument
23408 just like _new_list()?) (#318447).
23411 2005-10-10 Wim Taymans <wim@fluendo.com>
23413 * gst/gstelement.c: (gst_element_finalize):
23414 And free the GStaticRecMutex too
23416 2005-10-10 Andy Wingo <wingo@pobox.com>
23418 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23419 Allocate and free the mutex properly.
23421 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23423 (GstElement): The state_lock is now recursive. Rebuild your
23424 plugins, suckers. Old macros adapted.
23426 * docs/gst/gstreamer-sections.txt: Doc updates.
23429 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23430 (g_static_rec_cond_wait): Ported from state changes patch, while
23431 we wait on bug #317802 to be solved in a well-distributed GLib.
23433 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23434 gst_element_change_state, variable name changes.
23435 (gst_element_change_state): Split out of gst_element_set_state in
23436 preparation for the state change merge. Doesn't pay attention to
23437 the 'transition' argument.
23438 (gst_element_set_state): Updates, hopefully purely cosmetic.
23439 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23440 state change patch.
23441 (gst_element_get_state_func): Renamed from get_state, cosmetic
23444 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23446 * gst/elements/gstelements.c:
23447 * win32/GStreamer.vcproj:
23449 * win32/dirent.c: (_tseekdir):
23450 * win32/gst-inspect.vcproj:
23451 * win32/gst-launch.vcproj:
23452 * win32/gstconfig.h:
23453 * win32/gstelements.vcproj:
23454 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23455 * win32/gstreamer.def:
23456 * win32/msvc71.sln:
23457 updates for the win32 build (patch from Sebastien Moutte)
23459 2005-10-10 Andy Wingo <wingo@pobox.com>
23461 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23462 gst_bin_get_state, cleaned up (but no logic changes).
23463 (bin_element_is_sink): Comment updates.
23464 (sink_iterator_filter): Remove needless cast.
23465 (gst_bin_iterate_sinks): Doc update.
23466 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23467 cleaned up (but no logic changes).
23469 * check/states/sinks.c (test_src_sink): Cleanups from the state
23471 (test_livesrc_sink): Sync on the state.
23473 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23474 the state change patch.
23476 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23479 * check/gst/gstbin.c: Merge in some style fixes and additional
23480 checks from Wim's state change patch.
23482 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23484 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23485 (gst_type_find_helper):
23486 Check whether we have the requested data already in our list of
23487 cached buffers before pulling a new buffer; also make the buffer
23488 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23490 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23495 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23496 don't use long long, it's not portable. Replacing with
23497 gint64 seems to work; let's hope no skeletons fall out of the closet.
23499 2005-10-10 Andy Wingo <wingo@pobox.com>
23501 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23503 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23505 * docs/gst/gstreamer-sections.txt:
23510 * gst/gstmessage.c: (gst_message_parse_state_changed):
23513 more docs, fix compilation
23515 2005-10-09 Philippe Khalaf <burger@speedy.org>
23516 * gst/gstmessage.c:
23517 Fixed a few forgotten variables on previous commit
23519 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23521 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23522 Fix evil typefind crasher: getrange() might return a short
23523 buffer at the end of a file, but gst_type_find_peek() must
23524 either return the full data as requested or NULL, but
23525 never a short buffer.
23527 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23529 * gst/gstmessage.c: (gst_message_new_state_changed),
23530 (gst_message_parse_state_changed):
23531 * gst/gstmessage.h:
23532 don't use "new", it's a C++ keyword
23534 2005-10-08 Wim Taymans <wim@fluendo.com>
23536 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23537 * gst/gstelement.c: (gst_element_post_message):
23538 * gst/gstpipeline.c: (gst_pipeline_change_state):
23539 Small docs and debug updates.
23541 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23543 * docs/gst/gstreamer-sections.txt:
23544 * gst/gstelementfactory.c:
23546 * gst/gsttaglist.c:
23549 2005-10-08 Wim Taymans <wim@fluendo.com>
23551 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23552 (gst_bin_dispose), (bin_bus_handler):
23553 Fix typos, add comments.
23554 Clear EOS list when going to PAUSED from any direction and do it
23555 in a threadsafe way.
23556 Get base time in a threadsafe way too.
23557 Fix confusing debug in the change_state function.
23558 Various other small cleanups.
23560 * gst/gstelement.c: (gst_element_post_message):
23561 Fix very verbose bus posting code.
23563 * gst/gstpipeline.c: (gst_pipeline_class_init),
23564 (gst_pipeline_set_property), (gst_pipeline_get_property),
23565 (gst_pipeline_change_state):
23566 Small ARG_ -> PROP_ cleanup
23568 2005-10-08 Wim Taymans <wim@fluendo.com>
23570 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23571 Do a less CPU demanding EOS check because we can.
23573 2005-10-08 Wim Taymans <wim@fluendo.com>
23575 * libs/gst/dataprotocol/dataprotocol.c:
23576 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23577 (gst_dp_packet_from_event):
23578 * libs/gst/dataprotocol/dataprotocol.h:
23579 * libs/gst/dataprotocol/dp-private.h:
23580 It's about time we bump the version number.
23581 Since event types don't fit in the guint8 anymore describing
23582 the payload type, make payload type 16 bits wide.
23584 2005-10-08 Wim Taymans <wim@fluendo.com>
23586 * docs/design/part-TODO.txt:
23587 * docs/design/part-clocks.txt:
23588 * docs/design/part-events.txt:
23589 * docs/design/part-gstbin.txt:
23590 * docs/design/part-gstelement.txt:
23591 * docs/design/part-gstpipeline.txt:
23592 * docs/design/part-live-source.txt:
23593 * docs/design/part-messages.txt:
23594 * docs/design/part-overview.txt:
23595 * docs/design/part-states.txt:
23598 2005-10-08 Wim Taymans <wim@fluendo.com>
23602 Fix event quark registration.
23603 Add some space between events so we can insert them in the
23606 2005-10-08 Wim Taymans <wim@fluendo.com>
23608 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23609 (gst_base_sink_handle_buffer):
23610 Better log message.
23613 * gst/gstelement.h:
23616 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23617 (gst_queue_set_property), (gst_queue_get_property):
23619 Remove old unused properties.
23621 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23622 * docs/gst/gstreamer-sections.txt:
23623 * gst/gstmessage.c:
23624 * gst/gstmessage.h:
23625 * gst/gstminiobject.c:
23626 * gst/gstminiobject.h:
23630 lots of new docs and doc fixes
23632 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23634 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23636 * gst/gstregistry.c: (gst_registry_lookup_locked),
23637 (gst_registry_scan_path_level):
23638 * gst/gstregistryxml.c: (load_plugin):
23639 Only ever load one plugin for a given plugin basename.
23640 This ensures correct overriding of GST_PLUGIN_PATH over
23641 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23642 system installed plugins.
23644 2005-10-08 Wim Taymans <wim@fluendo.com>
23646 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23647 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23648 Prepare for doing QOS.
23650 2005-10-08 Wim Taymans <wim@fluendo.com>
23652 * check/gst/gstbin.c: (GST_START_TEST):
23653 * check/pipelines/cleanup.c: (GST_START_TEST):
23654 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23655 Allow new clock message too.
23657 2005-10-08 Wim Taymans <wim@fluendo.com>
23659 * gst/gstmessage.c: (gst_message_new_error),
23660 (gst_message_new_warning), (gst_message_new_tag),
23661 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23662 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23663 (gst_message_new_segment_start), (gst_message_new_segment_done),
23664 (gst_message_parse_state_changed),
23665 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23666 (gst_message_parse_new_clock):
23667 * gst/gstmessage.h:
23668 Also carry the clock in question.
23670 2005-10-08 Wim Taymans <wim@fluendo.com>
23672 * gst/gstmessage.c: (gst_message_new_custom),
23673 (gst_message_new_eos), (gst_message_new_error),
23674 (gst_message_new_warning), (gst_message_new_tag),
23675 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23676 (gst_message_new_new_clock), (gst_message_new_segment_start),
23677 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23678 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23679 * gst/gstmessage.h:
23681 Added clock related messages.
23683 * gst/gstpipeline.c: (gst_pipeline_change_state):
23684 Post message when the clock changed.
23686 * tools/gst-launch.c: (event_loop):
23689 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23691 * tools/gst-inspect.c: (print_element_properties_info):
23692 Can't pass NULL strings to g_print() on windows.
23694 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23696 * docs/Makefile.am:
23697 * docs/gst/Makefile.am:
23698 * docs/gst/gstreamer-docs.sgml:
23699 * docs/gst/running.xml:
23700 * docs/version.entities.in:
23701 add a chapter on running GStreamer.
23702 document GST_DEBUG and GST_PLUGIN* env vars
23704 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23709 remove PLUGINS_BUILDDIR stuff
23710 * gst/gst.c: (init_post):
23711 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23713 remove, it was condescending and not needed
23715 2005-10-08 Wim Taymans <wim@fluendo.com>
23717 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23718 (gst_base_sink_handle_object), (gst_base_sink_event),
23719 (gst_base_sink_wait), (gst_base_sink_handle_event),
23720 (gst_base_sink_change_state):
23721 * gst/base/gstbasesink.h:
23722 Repost EOS message while going to PLAYING if still EOS.
23723 Make sure that when receiving a FLUSH_START we don't attempt
23724 to sync on the clock anymore.
23726 2005-10-08 Wim Taymans <wim@fluendo.com>
23728 * tools/gst-launch.c: (event_loop):
23729 Better message printout.
23731 2005-10-08 Wim Taymans <wim@fluendo.com>
23733 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23734 (gst_bin_child_proxy_get_children_count):
23735 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23736 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23737 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23738 (gst_child_proxy_set_valist):
23739 * gst/parse/grammar.y:
23740 Make ChildProxy threadsafe and fix mem leaks.
23742 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23744 * gst/gst.c: (init_post):
23745 debug the GST_PLUGIN_ env vars
23747 2005-10-08 Wim Taymans <wim@fluendo.com>
23749 * check/gst/gstbin.c: (GST_START_TEST):
23750 * check/gst/gstmessage.c: (GST_START_TEST):
23751 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23752 * gst/gstelement.c: (gst_element_commit_state),
23753 (gst_element_lost_state):
23754 * gst/gstmessage.c: (gst_message_new_state_changed),
23755 (gst_message_parse_state_changed):
23756 * gst/gstmessage.h:
23757 * tools/gst-launch.c: (event_loop):
23758 Added extra field to STATE_CHANGE message with the pending
23759 state, which will be different from the new state soon.
23761 2005-10-08 Wim Taymans <wim@fluendo.com>
23763 * gst/gstbus.c: (gst_bus_pop):
23765 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23766 Small cleanups and doc updates.
23768 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23770 * gst/gst.c: (init_pre):
23771 * gst/gstbin.c: (gst_bin_add_func):
23772 log distributing clocks and base time
23773 * gst/gstregistry.c: (gst_registry_add_plugin),
23774 (gst_registry_scan_path_level), (gst_registry_scan_path):
23775 clean up the debugging output a little
23776 * gst/gstutils.c: (gst_element_state_get_name):
23777 warn about a memleak (I've actually seen this be used, though
23778 it was probably a bug)
23780 2005-10-07 Wim Taymans <wim@fluendo.com>
23782 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23783 (gst_base_src_init), (gst_base_src_default_newsegment),
23784 (gst_base_src_newsegment), (gst_base_src_do_seek),
23785 (gst_base_src_loop), (gst_base_src_start):
23786 * gst/base/gstbasesrc.h:
23787 Make the newsegment event customizable by subclasses.
23789 2005-10-07 Wim Taymans <wim@fluendo.com>
23791 * gst/gstevent.c: (gst_event_new_buffersize),
23792 (gst_event_parse_buffersize):
23794 New event for future idea.
23796 2005-10-07 Andy Wingo <wingo@pobox.com>
23798 * gst/gstelement.c (gst_element_post_message): Doc update.
23800 * docs/gst/gstreamer-sections.txt: Update.
23802 * gst/gstmessage.c (gst_message_new_application): Made into a
23803 function like honest API calls.
23804 (gst_message_new_element): New message type.
23806 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23808 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23809 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23812 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23813 NO_PREROLL from gst_element_change_state to fall through.
23815 2005-10-07 Wim Taymans <wim@fluendo.com>
23817 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23818 (gst_ghost_pad_do_activate_push):
23819 Activating a ghostpad with no internal pad in push mode
23822 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23825 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23826 Fixes compilation on Windows.
23828 2005-10-07 Michael Smith <msmith@fluendo.com>
23830 * tools/gst-inspect.c:
23831 Print out feature and plugin count at the end when printing out
23834 2005-10-04 Michael Smith <msmith@fluendo.com>
23836 * gst/gsterror.c: (_gst_stream_errors_init):
23837 Add another error string used in a few existing plugins.
23840 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23841 * tools/gst-inspect.c: (print_element_info):
23842 When a feature disappears from a plugin (and the feature exists in
23843 the cached registry file), things went horribly wrong. This isn't a
23844 complete fix, we should actually be removing the 'missing' features
23845 from the features list when we load the actual plugin. That's not
23848 2005-10-04 Johan Dahlin <johan@gnome.org>
23850 * check/gst/gstiterator.c: (GST_START_TEST):
23851 * gst/gstbin.c: (gst_bin_iterate_elements),
23852 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23853 * gst/gstelement.c: (gst_element_iterate_pads):
23854 * gst/gstformat.c: (gst_format_iterate_definitions):
23855 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23856 (gst_iterator_new_list), (gst_iterator_filter):
23857 * gst/gstiterator.h:
23858 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23859 Add a GType to GstIterator, update callsites and tests.
23861 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23863 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23864 give events a chance to be handled by event probes when the pad
23867 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23869 * gst/gstevent.c: (gst_event_type_get_name),
23870 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23872 add string representations for event types
23874 2005-10-06 Wim Taymans <wim@fluendo.com>
23876 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23877 Don't use NULL pointers.
23879 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23881 * gst/gst_private.h:
23883 * gst/gstelement.c:
23885 * gst/gstpluginfeature.c:
23886 widen the debug category in output to fit the biggest one we have
23887 add a bus category and use it
23888 play with the colors
23889 fix up some categories
23891 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23893 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23894 add push activation of sink ghost pads.
23895 Andye, please verify
23897 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23899 * gst/gstutils.c: (gst_element_link_pads):
23900 fix a bug in the case where neither element has a pad
23901 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23902 add a test for that case
23904 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23906 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23907 emit have-data before checking for peers. This allows
23908 for probe handlers to connect elements. This helps autopluggers.
23909 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23911 add six checks, linked/unlinked with no/true/false probe
23913 2005-10-04 Wim Taymans <wim@fluendo.com>
23915 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23916 (gst_fake_sink_event), (gst_fake_sink_preroll),
23917 (gst_fake_sink_render), (gst_fake_sink_change_state):
23918 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23919 (gst_fake_src_get_property), (gst_fake_src_create),
23920 (gst_fake_src_stop):
23921 * gst/elements/gstidentity.c: (gst_identity_stop):
23922 Protect last_message with lock.
23924 2005-10-04 Edward Hervey <edward@fluendo.com>
23927 Added precision in the comments for GST_FORMAT_DEFAULT
23929 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23931 * tools/gst-launch.c: (main):
23932 Don't try to run erroneous pipelines.
23934 2005-10-04 Julien MOUTTE <julien@moutte.net>
23936 * gst/gstbus.c: We don't need this header.
23938 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23941 back to development
23943 === release 0.9.3 ===
23945 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23949 Releasing 0.9.3, "Unregistered"
23951 2005-10-03 Andy Wingo <wingo@pobox.com>
23953 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23954 whereby calling a pad's activatepush() function can start a thread
23955 that starts to push or pull before the pad gets the FLUSHING flag
23956 unset. Hack around it by holding the stream lock until the flag is
23957 set. Need to replace this with a proper solution. Together with
23958 the ghost pad fixes, this fixes mp3 playing/tagreading.
23960 * docs/design/part-gstghostpad.txt: Add a note about activation of
23961 proxy pads outside of ghost pads.
23963 * gst/gstghostpad.c: Implement the ghost pad activation design.
23965 2005-10-02 Andy Wingo <wingo@pobox.com>
23967 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23968 It is volatile, after all.
23970 * docs/design/part-gstghostpad.txt: Flesh out activation with
23973 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23976 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23979 Fix (unused) AM_CONDITIONAL tests.
23981 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
23983 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23985 * gst/gstutils.c: (gst_pad_query_convert):
23986 Add assertion that makes sure src_val is >=0, just like
23987 gst_query_new_convert() has. (#315895)
23989 2005-09-30 Edward Hervey <edward@fluendo.com>
23991 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23992 Let's not iterate pads we're not interested in, it avoids getting
23993 sky-high refcounts on sinkpad.
23995 2005-09-30 Wim Taymans <wim@fluendo.com>
23997 * gst/gstelement.c: (gst_element_set_state),
23998 (gst_element_change_state):
23999 Small tweak, element in ASYNC remains ASYNC.
24001 2005-09-30 Wim Taymans <wim@fluendo.com>
24003 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24004 Only error is an error.
24006 * gst/gstbin.c: (gst_bin_change_state):
24009 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24010 Also call pad_block in pad alloc.
24012 * gst/gstutils.c: (gst_flow_get_name):
24015 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24017 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24018 (gst_base_src_get_range):
24019 Fix documentation typos. Add some more debug info.
24021 2005-09-29 David Schleef <ds@schleef.org>
24023 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24024 more end-user friendly.
24025 * tools/gst-inspect.c: (main): Check if command-line argument is
24026 a file and attempt to load that file as a plugin.
24028 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24030 * check/gst/gstbin.c:
24031 * check/states/sinks.c:
24032 fix tests for the new warning
24033 * check/gst/gstpipeline.c:
24034 add a test for pipeline and bus interaction
24035 * gst/gstelement.c:
24036 elements should be NULL if they get disposed; add a warning if not
24038 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24041 for 2.6 refcounting, make debug log more correct by printing
24042 the actual refcounts at the time of swap (Wim)
24044 2005-09-29 Andy Wingo <wingo@pobox.com>
24046 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24047 removes signal watches previously added via
24048 gst_bus_add_signal_watch.
24049 (gst_bus_add_signal_watch): Don't return the source id, just store
24050 it on the bus if there wasn't an id already.
24052 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24053 add_signal_watch and remove_signal_watch.
24055 2005-09-29 Edward Hervey <edward@fluendo.com>
24057 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24058 Better if we actually iterate the list :)
24060 2005-09-29 Wim Taymans <wim@fluendo.com>
24062 * check/gst/gstbin.c: (GST_START_TEST):
24063 Change for new bus API.
24065 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24066 (send_messages), (GST_START_TEST), (gstbus_suite):
24067 Change for new bus signal API.
24069 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24070 (gst_bus_source_prepare), (gst_bus_source_check),
24071 (gst_bus_create_watch), (gst_bus_add_watch_full),
24072 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24073 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24075 Remove support for multiple GSources operating on different
24076 message types as it is too complex and unneeded when using
24078 Added support for receiving signals from the bus.
24080 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24082 * docs/libs/tmpl/gstdataprotocol.sgml:
24083 * docs/manual/advanced-dataaccess.xml:
24084 * gst/elements/gstcapsfilter.c:
24086 rename filter-caps to caps property
24088 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24090 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24091 More robust fraction string parsing.
24093 * docs/pwg/appendix-porting.xml:
24094 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24096 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24098 * gst/gstcaps.c: (gst_caps_do_simplify):
24099 Thou shalt not free a structure and then continue using it
24100 in the next loop iteration.
24102 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24104 Add test case for caps simplification.
24106 2005-09-29 Wim Taymans <wim@fluendo.com>
24108 * check/gst/gstbin.c: (GST_START_TEST):
24111 2005-09-29 Wim Taymans <wim@fluendo.com>
24113 * check/gst/gstbin.c: (GST_START_TEST):
24116 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24117 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24118 (find_element), (gst_bin_sort_iterator_next),
24119 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24120 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24121 (gst_bin_change_state), (gst_bin_dispose):
24122 A bin does not have a bus, it gets the bus from the parent.
24124 * gst/gstelement.c: (gst_element_requires_clock),
24125 (gst_element_provides_clock), (gst_element_is_indexable),
24126 (gst_element_is_locked_state), (gst_element_change_state),
24127 (gst_element_set_bus_func):
24130 * gst/gstpipeline.c: (gst_pipeline_class_init),
24131 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24132 The pipeline provides a bus.
24134 2005-09-28 Johan Dahlin <johan@gnome.org>
24136 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24137 gst_structure_get_enum instead of gst_structure_get_int
24139 * gst/gststructure.c (gst_structure_get_enum): Impl.
24141 * gst/gststructure.h (gst_structure_get_enum): Add
24143 * docs/gst/gstreamer-sections.txt: Ditto
24145 * gst/gstmessage.c (gst_message_new_state_changed): Use
24146 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24147 which does introspection.
24148 Reviewed by Christian Schaller
24150 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24152 * gst/gstinfo.c: (gst_debug_log_default):
24153 don't do dummy g_strdup()s
24154 * libs/gst/controller/gstcontroller.c:
24155 (on_object_controlled_property_changed),
24156 (gst_controlled_property_new), (gst_controller_new_valist),
24157 (gst_controller_new_list),
24158 (gst_controller_remove_properties_valist), (gst_controller_set),
24159 (gst_controller_get), (gst_controller_sync_values),
24160 (gst_controller_get_value_array), (_gst_controller_class_init),
24161 (gst_controller_get_type):
24162 * libs/gst/controller/gstcontroller.h:
24163 * libs/gst/controller/gstinterpolation.c:
24164 (gst_controlled_property_find_timed_value_node):
24165 convert // to /**/ comments
24167 2005-09-28 Wim Taymans <wim@fluendo.com>
24169 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24170 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24171 (gst_bus_sync_signal_handler):
24173 Added async-message and sync-message signals to the bus.
24174 Added helper BusFunc to emit signals for all posted messages.
24176 * gst/gstmessage.c: (gst_message_type_get_name),
24177 (gst_message_type_to_quark), (gst_message_get_type):
24178 * gst/gstmessage.h:
24179 Register quarks for message names.
24181 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24183 * docs/libs/gstreamer-libs-sections.txt:
24184 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24185 (gst_controller_new_list):
24186 * libs/gst/controller/gstcontroller.h:
24187 added another constructor for language bindings
24189 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24191 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24195 * gst/gstinfo.c: (_gst_debug_init):
24196 slightly more readable color for refcount debugging
24198 2005-09-28 Wim Taymans <wim@fluendo.com>
24200 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24201 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24202 (find_element), (gst_bin_sort_iterator_next),
24203 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24204 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24205 (gst_bin_change_state), (gst_bin_dispose):
24206 Small doc fixes. get_clock -> provide_clock.
24208 * gst/gstelement.c: (gst_element_class_init),
24209 (gst_element_provides_clock), (gst_element_provide_clock),
24210 (gst_element_get_clock), (gst_element_commit_state),
24211 (gst_element_lost_state):
24212 * gst/gstelement.h:
24213 Make get/set_clock() symetric. Add provide_clock vmethod since
24214 that is actually what this function does.
24216 * gst/gstpipeline.c: (gst_pipeline_class_init),
24217 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24218 (gst_pipeline_get_clock):
24219 get_clock -> provide_clock.
24221 2005-09-28 Andy Wingo <wingo@pobox.com>
24223 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24224 lieu of real docs...
24226 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24228 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24230 * gst/elements/gstcapsfilter.c:
24231 * gst/elements/gstfakesink.c:
24232 * gst/elements/gstfakesrc.c:
24233 * gst/elements/gstfdsink.c:
24234 * gst/elements/gstfdsrc.c:
24235 * gst/elements/gstfilesink.c:
24236 * gst/elements/gstfilesrc.c:
24237 * gst/elements/gstidentity.c:
24238 * gst/elements/gsttee.c:
24239 * gst/elements/gsttypefindelement.c:
24240 Make element details static.
24242 2005-09-28 Wim Taymans <wim@fluendo.com>
24244 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24245 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24246 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24247 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24248 (gst_bin_change_state), (gst_bin_dispose):
24249 Some documentation updates.
24250 Clean up dispose handlers.
24252 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24253 * gst/gstpad.c: (gst_pad_dispose):
24254 Clean up dispose handler.
24256 * gst/gstpipeline.c: (gst_pipeline_change_state):
24257 Removed spurious UNLOCK.
24259 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24261 * docs/gst/gstreamer-sections.txt:
24262 * gst/base/gstbasesrc.h:
24263 * gst/gstelement.h:
24267 * gst/gstpipeline.c:
24268 * gst/gstpipeline.h:
24271 added two new functions to the docs
24272 documents all undocumented GstXXXFlags
24273 completed some incomplete docs
24275 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24277 * gst/gstbin.c: (gst_bin_dispose):
24278 * gst/gstelement.c: (gst_element_dispose):
24279 remove now useless and leaky resurrection code in dispose
24280 * gst/base/gstbasesrc.c: (gst_base_src_init):
24281 * gst/gstelementfactory.c: (gst_element_factory_create):
24282 * gst/gstobject.c: (gst_object_set_parent):
24285 2005-09-27 Wim Taymans <wim@fluendo.com>
24287 * docs/design/part-TODO.txt:
24290 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24291 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24292 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24293 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24294 (gst_bin_change_state):
24295 * gst/gstelement.h:
24296 Remove element variable, we keep element info in the iterator now.
24298 2005-09-27 Andy Wingo <wingo@pobox.com>
24300 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24303 2005-09-27 Wim Taymans <wim@fluendo.com>
24305 * check/gst/gstbin.c: (GST_START_TEST):
24306 Enable check that works now.
24308 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24309 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24310 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24311 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24312 (gst_bin_change_state):
24314 Redid the state change algorithm using a topological sort algo.
24315 Handles all cases correctly.
24316 Exposed iterator for state change order.
24318 * gst/gstelement.h:
24319 Temp storage for state changes. Need to get rid of this soon.
24321 2005-09-27 Wim Taymans <wim@fluendo.com>
24323 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24324 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24325 (link_fold_func), (gst_pad_proxy_setcaps):
24326 Leak fixes, the fold functions need to unref the passed object and
24327 _get_parent_*() returns ref to parent.
24329 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24331 * check/gst/gstbuffer.c: (test_make_writable):
24332 Plug leak in test case and fix 'make check-valgrind'
24334 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24336 * gst/gstbuffer.c: (gst_subbuffer_init):
24337 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24338 works correctly in all circumstances (we could have just copied
24339 the parent buffer's readonly flag, but conceptually it seems
24340 cleaner to mark all subbuffers as read-only). (based on patch
24341 by Alessandro Decina, #314710).
24343 * check/gst/gstbuffer.c: (create_read_only_buffer),
24344 (test_make_writable), (test_subbuffer_make_writable),
24346 Add some tests for gst_buffer_make_writable().
24348 2005-09-27 Wim Taymans <wim@fluendo.com>
24350 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24351 use gst_object_has_ancestor().
24353 * gst/gstobject.c: (gst_object_has_ancestor):
24355 gst_object_has_ancestor() copied from gstbin.c as it is a
24358 * tests/instantiate/create.c: (create_all_elements):
24359 * tests/lat.c: (handoff_src), (handoff_sink):
24360 * tests/sched/runxml.c: (main):
24361 * tests/seeking/seeking1.c: (main):
24362 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24364 Fix compilation of some tests.
24366 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24369 Remove comment. GST_TYPE_G_ERROR is here to stay,
24370 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24371 (#316961, #300610).
24373 2005-09-26 Wim Taymans <wim@fluendo.com>
24375 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24376 Added check that shows error in state change order.
24378 2005-09-26 Wim Taymans <wim@fluendo.com>
24380 * gst/gstbin.c: (gst_bin_change_state):
24381 Make state change function use 3 queues again, we were
24382 adding elements in the wrong order.
24384 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24387 * gst/gstpad.c: (gst_pad_dispose):
24388 Added some debug info first.
24390 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24392 * docs/design/draft-push-pull.txt:
24393 * docs/design/part-events.txt:
24394 * docs/design/part-overview.txt:
24395 * docs/design/part-scheduling.txt:
24396 Replace all _pull_region() with _pull_range()
24398 2005-09-26 Andy Wingo <wingo@pobox.com>
24400 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24402 * check/gst-libs/controller.c: Update for controller api change.
24405 * tests/Makefile.am:
24406 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24407 over by GLib bug 118439.
24409 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24410 routines to a function.
24412 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24414 * libs/gst/controller/gsthelper.c:
24415 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24416 (gst_object_sync_values): Renamed from sink_values. Ugh.
24418 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24420 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24421 Renamed from controller_key, as it is exported.
24423 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24425 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24430 * gst/gstpadtemplate.h:
24433 * gst/gstqueryutils.c:
24434 * gst/gstqueryutils.h:
24435 remove queryutils headers after moving the two used functions
24436 to gstquery. also fixes build problem for gstsiddec
24438 2005-09-26 Michael Smith <msmith@fluendo.com>
24440 * tools/gst-launch.1.in:
24441 Correct documentation in manpage of debug syntax
24443 2005-09-26 Wim Taymans <wim@fluendo.com>
24445 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24446 (gst_base_src_is_seekable), (gst_base_src_change_state):
24447 Some more debugging info.
24449 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24451 * docs/gst/gstreamer-sections.txt:
24452 * gst/base/gstbasetransform.h:
24456 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24458 * docs/gst/.cvsignore:
24459 * docs/gst/tmpl/.cvsignore:
24460 * docs/gst/tmpl/gstpipeline.sgml:
24461 * docs/gst/tmpl/gstplugin.sgml:
24462 * gst/gstpipeline.c:
24465 inlined the last two docs files
24466 removed the tmpl directory from cvs (no more conflicts here!)
24468 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24470 * docs/gst/gstreamer-sections.txt:
24471 * docs/gst/tmpl/.cvsignore:
24472 * docs/gst/tmpl/gstpad.sgml:
24473 * docs/gst/tmpl/gstpadtemplate.sgml:
24475 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24476 (gst_pad_finalize), (gst_pad_set_pad_template):
24478 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24479 (gst_pad_template_class_init), (gst_pad_template_init),
24480 (gst_pad_template_dispose), (name_is_valid),
24481 (gst_static_pad_template_get), (gst_pad_template_new),
24482 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24483 (gst_pad_template_pad_created):
24484 * gst/gstpadtemplate.h:
24485 inlined two more docs
24486 factored gstpadtemplate out of gstpad
24488 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24490 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24491 (test_children_state_change_order_semi_sink):
24492 Fix test case: we can't rely on a fixed state change order when
24493 going from READY => PAUSED because the sink might commit its
24494 new state first when the first buffer created by the source
24495 reaches the sink before the source has finished its change state.
24496 (Test case still fails at times, see #316856, comment 5 onwards)
24498 2005-09-24 Wim Taymans <wim@fluendo.com>
24500 * docs/design/part-events.txt:
24501 * docs/design/part-gstbus.txt:
24502 * docs/design/part-gstpipeline.txt:
24503 * docs/design/part-messages.txt:
24504 * docs/design/part-overview.txt:
24505 * docs/design/part-segments.txt:
24509 * gst/gstelement.c:
24512 * gst/gstiterator.c:
24513 Various documentation updates.
24515 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24518 Well, that's embarassing. Luckily we weren't using
24519 GST_CLOCK_DIFF anywhere.
24521 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24523 * common/gtk-doc.mak:
24524 don't fail on building XML, FC4 slave shows a bunch of doc
24525 missing bits that I don't get
24527 * gst/gstpipeline.c:
24528 * gst/gststructure.c:
24531 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24533 * docs/design/part-gstbin.txt:
24534 * docs/design/part-gstbus.txt:
24536 Add blurb about how the bus goes into flushing mode and
24537 drops all messages when its bin goes from READY into NULL
24540 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24542 * docs/gst/gstreamer-sections.txt:
24543 * gst/gststructure.c: (gst_structure_get_clock_time):
24544 * gst/gststructure.h:
24545 add a method to get a GstClockTime out of a structure
24547 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24549 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24550 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24551 Added test to check state change order in bins (can still be made
24552 to fail here under heavy disk load; bails out with 'Push on pad
24553 fakesink:sink0, but it was not activated in push mode').
24555 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24556 Fix state change order when there is only a semi sink (#316856)
24558 * gst/gstbus.c: (gst_bus_class_init):
24559 Use _class_peek_parent(), not _class_ref(); fix docs to say
24560 'default main context' instead of 'mainloop' where that is
24563 * gst/gstelement.c: (gst_element_commit_state),
24564 (gst_element_set_state):
24565 Fix typos in debug messages
24567 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24570 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24571 * gst/gstpluginfeature.c:
24573 various doc updates
24574 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24575 change an assert into an error until it gets fixed properly
24577 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24579 * docs/gst/gstreamer-sections.txt:
24580 * docs/gst/tmpl/.cvsignore:
24581 * docs/gst/tmpl/gstelement.sgml:
24582 * docs/gst/tmpl/gstinfo.sgml:
24583 * docs/gst/tmpl/gstobject.sgml:
24584 * gst/gstelement.c:
24585 * gst/gstelement.h:
24588 * gst/gstobject.c: (gst_object_class_init):
24590 inlined 3 more biiiig doc files and added some missing docs on the fly
24592 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24594 * check/gst/.cvsignore:
24595 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24596 * gst/gstregistryxml.c: (load_plugin),
24597 (gst_registry_xml_save_plugin):
24598 put back source in registry. add checks for find_plugin.
24599 * testsuite/states/bin.c: (assert_state), (empty_bin),
24600 (test_adding_one_element), (main):
24601 * testsuite/states/locked.c: (main):
24602 some compile/run fixes
24604 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24606 * check/gst/gstvalue.c: (GST_START_TEST):
24607 fix leaks in the test itself
24609 2005-09-22 Wim Taymans <wim@fluendo.com>
24611 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24612 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24613 (gst_base_sink_query):
24614 Prepare for more accurate position reporting and query
24617 * gst/gstelement.c: (gst_element_send_event),
24618 (gst_element_set_state):
24621 2005-09-22 Wim Taymans <wim@fluendo.com>
24623 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24624 (gst_query_parse_segment):
24626 More documentation.
24627 Add segment query for future use.
24629 2005-09-22 Wim Taymans <wim@fluendo.com>
24631 * gst/gstbin.c: (gst_bin_add_func):
24632 Some more debug info.
24634 * gst/gstelement.c: (gst_element_send_event):
24635 Simplify send_event
24637 * gst/gstelement.h:
24638 Don't know how flags got broken.
24643 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24645 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24646 Add simplistic test suite for GST_TYPE_DATE serialisation and
24649 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24651 * docs/gst/gstreamer-sections.txt:
24652 * gst/gststructure.c: (gst_structure_set_valist),
24653 (gst_structure_get_date):
24654 * gst/gststructure.h:
24655 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24656 (gst_date_copy), (gst_value_compare_date),
24657 (gst_value_serialize_date), (gst_value_deserialize_date),
24658 (gst_value_transform_date_string),
24659 (gst_value_transform_string_date), (_gst_value_initialize):
24661 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24662 bunch of utility functions along with a hack that checks that
24663 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24664 is required. Part of the grand scheme in #170777.
24666 2005-09-22 Andy Wingo <wingo@pobox.com>
24668 * gst/gstconfig.h.in: Psych out gtk-doc.
24670 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24672 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24674 * tools/gst-inspect.c (print_element_list): Plug some
24675 inconsequential leaks.
24677 * gst/gstregistry.c (gst_registry_get_default): Doc.
24679 * check/gst/gstplugin.c:
24680 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24681 * gst/gstelementfactory.c (gst_element_factory_create):
24682 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24685 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24686 (gst_plugin_feature_load): Doc, don't eat refs.
24688 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24689 (gst_plugin_list_free): Doc.
24690 (gst_plugin_load_file): Doc updates.
24692 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24693 accessors returning refcounted objects, return a ref.
24695 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24696 accessor for caps. IDEMPOTENCE. Oh yes.
24698 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24700 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24702 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24703 (_gst_debug_register_funcptr):
24704 Add mutex to serialise access to the hash table with
24705 the function pointer => function name string mapping;
24706 make that hash table static scope (#316809).
24708 * gst/registries/.cvsignore:
24709 Remove left-over file.
24711 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24713 * docs/pwg/appendix-porting.xml:
24714 And something about newsegment events and caps-on-buffers to
24715 the porting guide (feel free to improve).
24717 2005-09-21 Andy Wingo <wingo@pobox.com>
24719 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24720 data and event probes on the same pad.
24721 (test_buffer_probe_once): Test that removing probes from within
24722 the probe functions works.
24724 2005-09-21 Andy Wingo <wingo@pobox.com>
24726 * check/gst/gstutils.c: New file.
24727 (test_buffer_probe_n_times): A simple buffer probe test. More to
24730 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24731 have-data::buffer, not have-data.
24732 (gst_pad_add_event_probe): Likewise for have-data::event.
24733 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24734 peer' isn't quite right yet though.
24735 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24736 (gst_pad_remove_data_probe): Change to take the guint handler_id
24737 as their arg, not the function+data, which is more glib-like.
24739 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24740 the signal emission to indicate if the data is a buffer or an
24742 (gst_pad_get_type): Initialize buffer and event quarks.
24743 (gst_pad_class_init): have-data is now a detailed signal, yes it
24746 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24748 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24749 * gst/gstutils.c: (gst_util_set_value_from_string),
24750 (gst_util_set_object_arg):
24751 Don't put functional code in g_return_if_fail() or
24752 g_return_val_if_fail() statements, otherwise things will
24753 break when G_DISABLE_CHECKS is defined during compilation.
24755 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24757 * docs/gst/tmpl/.cvsignore:
24758 * docs/gst/tmpl/gstvalue.sgml:
24761 inlied another one and added some obvious docs
24763 2005-09-21 Wim Taymans <wim@fluendo.com>
24765 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24766 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24767 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24768 (gst_fdsrc_get_property), (gst_fdsrc_create):
24769 * gst/elements/gstfdsrc.h:
24770 Properly implement fdsrc. Removed signal and timeout,
24771 better implemented somewhere else.
24773 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24775 * docs/gst/tmpl/.cvsignore:
24776 * docs/gst/tmpl/gstimplementsinterface.sgml:
24777 * gst/gstinterface.c:
24780 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24782 * docs/gst/gstreamer-sections.txt:
24783 * docs/gst/tmpl/.cvsignore:
24784 * docs/gst/tmpl/gstenumtypes.sgml:
24785 remove obsolete doc file
24787 2005-09-21 David Schleef <ds@schleef.org>
24789 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24790 little beer, fix a little leak.
24792 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24794 * docs/gst/gstreamer-docs.sgml:
24795 * docs/gst/gstreamer-sections.txt:
24796 * docs/gst/tmpl/.cvsignore:
24800 * gst/gstelement.h:
24801 * gst/gstindex.c: (gst_index_class_init):
24803 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24804 (gst_index_factory_class_init), (gst_index_factory_init),
24805 (gst_index_factory_finalize), (gst_index_factory_new),
24806 (gst_index_factory_destroy), (gst_index_factory_find),
24807 (gst_index_factory_create), (gst_index_factory_make):
24808 * gst/gstindexfactory.h:
24809 * gst/gstpluginfeature.c:
24810 * gst/gstpluginfeature.h:
24811 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24812 more docs inlined, splitted gstindex.{c,h}
24814 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24816 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24819 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24821 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24822 Set sync to FALSE by default.
24824 2005-09-20 Wim Taymans <wim@fluendo.com>
24826 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24827 (gst_base_sink_init):
24828 Make sync property settable from subclass.
24830 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24831 (gst_fake_sink_change_state):
24832 Set sync to FALSE by default.
24834 2005-09-20 Wim Taymans <wim@fluendo.com>
24836 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24837 * tools/gst-launch.c: (main):
24838 The timeout handler should have lower priority than the source
24839 so we don't timeout before popping a message with 0 timeout.
24840 Dump error messages after failed state change.
24842 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24844 * tools/gst-inspect.c: (print_element_properties_info):
24847 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24849 * check/gst/gstevent.c:
24850 * gst/elements/gstfakesink.c:
24851 * gst/elements/gstfakesink.h:
24852 remove the sync property from fakesink.
24853 has the side effect of setting sync TRUE
24854 for fakesink, which is a change. Anyone who knows how
24855 to fix this nicely in a GObject-y way, feel free.
24857 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24859 * docs/gst/gstreamer-docs.sgml:
24860 remove probe refsection
24862 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24864 * check/Makefile.am:
24865 disable valgrinding the controller test again
24866 * docs/gst/gstreamer-sections.txt:
24867 update for api-changes
24869 2005-09-20 Wim Taymans <wim@fluendo.com>
24871 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24872 (gst_base_sink_set_property), (gst_base_sink_get_property),
24873 (gst_base_sink_do_sync):
24874 * gst/base/gstbasesink.h:
24875 Added sync property to basesink to disable clock sync.
24877 2005-09-20 Andy Wingo <wingo@pobox.com>
24879 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24880 eating the caller's refcount.
24882 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24883 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24886 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24887 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24888 of GLib 2.8 public, so we can know which refcount to check in
24891 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24892 (gst_object_init): Only set the gst refcount if we're going ahead
24893 with the refcount hack.
24895 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24897 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24898 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24899 more leaks plumbed, added more debug-logging
24903 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24905 * gst/gstmessage.c:
24906 remove include of gstmemchunk.h
24908 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24910 * gst/gstclock.c: (_gst_clock_id_free):
24911 Commit from the Political Party For More Atomic CVS Commits,
24912 so that people don't waste too much of their day fishing
24913 out obvious leaks out of massive commits.
24914 Oh, and fix a pretty damn obvious leak in the memchunk
24917 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24919 * check/Makefile.am:
24920 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24921 plug mem-leak, re-add to valgrindable tests
24923 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24926 unbreak the build for those who have chronic arthritis
24927 and typing "make check" is just too taxing on the hands
24929 2005-09-20 Andy Wingo <wingo@pobox.com>
24931 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24932 really want it out, you should fix plugins at the same time.
24934 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24937 * docs/gst/gstreamer-sections.txt:
24939 added missing symbols to api docs
24940 disable ref-count hack if we have glib >= 2.8
24942 2005-09-19 David Schleef <ds@schleef.org>
24944 * docs/gst/Makefile.am: Ignore a few more internal headers
24945 * docs/gst/gstreamer-docs.sgml: Remove old sections
24946 * docs/gst/gstreamer-sections.txt: Remove old sections
24947 * docs/gst/tmpl/gstobject.sgml: update
24948 * docs/gst/tmpl/gstplugin.sgml: update
24949 * docs/gst/tmpl/gstpluginfeature.sgml: update
24950 * docs/random/ds/0.9-suggested-changes: update.
24951 * gst/Makefile.am: remove memchunk and trashstack, since they're
24953 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24954 * gst/gst.h: don't include some headers
24955 * gst/gstchildproxy.c: add gstmarshal.h
24956 * gst/gstclock.c: Don't use memchunks
24957 * gst/gstminiobject.c: Add some docs
24958 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24959 * gst/gstobject.h: same
24960 * gst/gstplugin.c: include gstmacros.h
24961 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24962 * gst/gstquery.c: don't use memchunks
24963 * gst/gstregistry.c: rename gst_registry_deinit()
24964 * gst/gstregistry.h: same
24966 2005-09-19 David Schleef <ds@schleef.org>
24968 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24969 * docs/libs/gstreamer-libs-sections.txt:
24970 * docs/libs/tmpl/gstgetbits.sgml:
24971 * docs/libs/tmpl/gstputbits.sgml:
24973 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24975 * win32/gstenumtypes.c:
24976 * win32/gstenumtypes.h:
24979 2005-09-19 Wim Taymans <wim@fluendo.com>
24981 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24982 Automatically PAUSE and RESUME a pipeline when a flushing seek
24985 2005-09-19 Andy Wingo <wingo@pobox.com>
24987 * gst/gstregistry.h: Spacing fixen.
24989 2005-09-19 Wim Taymans <wim@fluendo.com>
24991 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24992 Handle state change failure more correctly.
24994 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24996 * check/Makefile.am:
24997 * check/pipelines/cleanup.c: (run_pipeline):
24998 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25000 enable cleanup again after fixing the leak
25002 some more info on docs
25004 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25006 * check/Makefile.am:
25007 re-enable tests now that leaks are plugged
25009 * check/gst/gstbin.c:
25010 * check/gst/gstpipeline.c:
25011 add some more tests while fixing leaks
25012 * common/check.mak:
25013 make sure binaries are uptodate when valgrinding/gdbing
25015 * gst/gstelementfactory.c:
25016 remove a ref too many, and add a FIXME for when we get
25017 round to disposing of classes
25019 fix the refcounting when loading a plugin from a file and
25020 the code pretends that the pointer is the same even though
25021 of course it can change
25022 * gst/gstpluginfeature.c:
25023 unref plugins marked cached (a bit confusing as a name)
25024 as the docs state should be done
25025 various doc additions to explain refcounting
25026 * gst/gstregistry.c:
25027 * gst/gstregistryxml.c:
25030 2005-09-19 Wim Taymans <wim@fluendo.com>
25032 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25033 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25034 (send_messages), (GST_START_TEST), (gstbus_suite):
25035 * check/gst/gstpipeline.c: (GST_START_TEST):
25036 * check/pipelines/cleanup.c: (run_pipeline):
25037 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25039 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25040 (gst_bus_source_check), (gst_bus_source_dispatch),
25041 (gst_bus_create_watch), (gst_bus_add_watch_full),
25042 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25044 * tools/gst-launch.c: (event_loop):
25045 * tools/gst-md5sum.c: (event_loop):
25046 GstBusHandler -> GstBusFunc, return value has the same meaning as
25047 any other GSource (FALSE == remove source).
25048 _add_watch() and _add_watch_full() now take a MessageType mask to
25049 only handle specific types of messages.
25050 _poll() returns the GstMessage instead of the message type to avoid
25052 _have_pending() takes a MessageType mask now too.
25053 Added testsuite for multiple bus watches.
25054 Fix testsuites and applications for new bus API.
25056 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25058 * check/Makefile.am:
25059 mark a bunch of the tests as to fix until we fix them
25061 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25063 * common/check.mak:
25064 use GST_PLUGIN settings for valgrind tests as well, so we're
25065 valgrinding the correct thing
25066 * gst/gst.c: (init_post):
25069 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25071 * gst/gst.c: (init_post), (gst_deinit):
25072 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25073 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25074 * gst/gstindex.c: (gst_index_factory_class_init),
25075 (gst_index_factory_finalize):
25076 * gst/gstobject.c: (gst_object_dispose):
25077 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25078 (gst_plugin_load_file), (gst_plugin_desc_free):
25079 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25080 (gst_plugin_feature_finalize):
25081 * gst/gstregistry.c: (gst_registry_class_init),
25082 (gst_registry_init), (gst_registry_finalize),
25083 (gst_registry_get_default), (gst_registry_deinit):
25084 * gst/gstregistry.h:
25085 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25086 various cleanups and memleak plugging. make valgrind is happy now.
25088 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25090 * common/check.mak:
25091 add a check-valgrind target
25093 2005-09-18 David Schleef <ds@schleef.org>
25095 * tools/gst-inspect.c: Revert the GOption code.
25097 2005-09-17 David Schleef <ds@schleef.org>
25099 * check/Makefile.am: Fix environment variables.
25100 * check/gst/gstplugin.c: Fix for API changes.
25101 * tools/gst-inspect.c: Fix for API changes.
25102 * tools/gst-xmlinspect.c: Fix for API changes.
25103 * gst/gstelementfactory.c:
25106 * gst/gstpluginfeature.c:
25107 * gst/gstpluginfeature.h:
25108 * gst/gstregistry.c:
25109 * gst/gstregistry.h:
25110 * gst/gstregistryxml.c:
25111 * gst/gsttypefind.c:
25112 * gst/gsttypefindfactory.c:
25113 * gst/indexers/gstfileindex.c:
25114 * gst/indexers/gstmemindex.c:
25115 * gst/schedulers/Makefile.am:
25116 Change registry to keep track of both plugins and features,
25117 removing the feature tracking from plugins themselves.
25119 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25121 * check/Makefile.am:
25122 * tools/gst-register.1.in:
25123 remove gst-register
25125 2005-09-15 David Schleef <ds@schleef.org>
25127 * check/gst/gstplugin.c:
25128 * gst/gstelementfactory.c:
25130 * gst/gstpluginfeature.c:
25131 * gst/gstregistry.c:
25132 Getting tired of debugging. Disabled all the unreffing of
25133 plugins and features, which fixes the segfaults, but of
25134 course leaks like crazy. At least playbin works.
25136 2005-09-15 David Schleef <ds@schleef.org>
25138 * check/gst/gstplugin.c: (register_check_elements),
25139 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25141 * gst/elements/gsttypefindelement.c: Fix refcounting.
25142 * gst/gsttypefind.c:
25143 * gst/gsttypefindfactory.c:
25144 * gst/gsttypefindfactory.h:
25146 2005-09-15 David Schleef <ds@schleef.org>
25148 * gst/gstindex.c: get refcounting correct.
25149 * gst/gstregistry.c: Handle the case where a feature/plugin is
25152 2005-09-15 David Schleef <ds@schleef.org>
25154 * check/Makefile.am:
25155 * check/gst/gstplugin.c: Add test
25156 * gst/gstplugin.c: Fix problems noticed by testsuite
25158 * gst/gstregistry.c:
25159 * gst/gstregistry.h:
25161 2005-09-15 David Schleef <ds@schleef.org>
25163 * gst/gstplugin.c: Implement semi-decent recounting and locking
25164 in plugins and plugin features.
25166 * gst/gstpluginfeature.c:
25167 * gst/gstpluginfeature.h:
25168 * gst/gstregistry.c:
25170 2005-09-15 Michael Smith <msmith@fluendo.com>
25172 * gst/gstregistry.c: (gst_registry_get_feature_list):
25173 Implement this. Makes oggdemux work; decodebin still broken.
25175 2005-09-14 David Schleef <ds@schleef.org>
25177 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25179 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25180 * gst/check/Makefile.am:
25181 * libs/gst/controller/Makefile.am:
25182 * libs/gst/dataprotocol/Makefile.am:
25184 2005-09-14 David Schleef <ds@schleef.org>
25186 * configure.ac: Remove getbits library. Nothing uses it, and
25187 it should be in something like liboil if someone did want
25189 * libs/gst/Makefile.am:
25190 * libs/gst/getbits/Makefile.am:
25191 * libs/gst/getbits/gbtest.c:
25192 * libs/gst/getbits/getbits.c:
25193 * libs/gst/getbits/getbits.h:
25194 * libs/gst/getbits/gstgetbits_generic.c:
25195 * libs/gst/getbits/gstgetbits_i386.s:
25196 * libs/gst/getbits/gstgetbits_inl.h:
25198 2005-09-14 David Schleef <ds@schleef.org>
25200 * gst/Makefile.am: Dist glib-compat.h
25202 2005-09-14 David Schleef <ds@schleef.org>
25204 * configure.ac: Remove gst/registries, since it's no longer used.
25205 * gst/registries/Makefile.am:
25206 * gst/registries/gstlibxmlregistry.c:
25207 * gst/registries/gstlibxmlregistry.h:
25208 * gst/registries/gstxmlregistry.c:
25209 * gst/registries/gstxmlregistry.h:
25210 * gst/registries/registrytest.c:
25212 2005-09-14 David Schleef <ds@schleef.org>
25214 * gst/glib-compat.h:
25215 * gst/gstregistryxml.c:
25216 Convergence is near. Seriously.
25218 2005-09-14 David Schleef <ds@schleef.org>
25220 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25221 * gst/glib-compat.h:
25222 Attempt #4 to appease the buildbots.
25224 2005-09-14 David Schleef <ds@schleef.org>
25226 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25229 2005-09-14 David Schleef <ds@schleef.org>
25231 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25234 2005-09-14 David Schleef <ds@schleef.org>
25236 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25239 2005-09-14 David Schleef <ds@schleef.org>
25241 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25242 * gst/glib-compat.h: Add some functions that are in newer versions
25243 of glib than we care to require.
25244 * gst/gstregistryxml.c: Use them.
25246 2005-09-14 David Schleef <ds@schleef.org>
25248 * po/POTFILES.in: remove gst-register.c
25250 2005-09-14 David Schleef <ds@schleef.org>
25252 * docs/gst/gstreamer-docs.sgml:
25253 * docs/gst/gstreamer-sections.txt:
25254 * docs/gst/gstreamer.types:
25255 * docs/gst/tmpl/gstelement.sgml:
25256 * docs/gst/tmpl/gstplugin.sgml:
25257 * docs/gst/tmpl/gstpluginfeature.sgml:
25258 Documentation updates for registry changes.
25260 2005-09-14 David Schleef <ds@schleef.org>
25262 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25263 because we don't require glib-2.8.
25265 2005-09-14 David Schleef <ds@schleef.org>
25267 * gst/gstregistryxml.c: Added. Essentially moved out of the
25268 registries directory.
25270 2005-09-14 David Schleef <ds@schleef.org>
25272 * check/Makefile.am:
25273 * check/generic/states.c:
25277 * gst/gst_private.h:
25278 * gst/gstelementfactory.c:
25283 * gst/gstpluginfeature.c:
25284 * gst/gstpluginfeature.h:
25285 * gst/gstregistry.c:
25286 * gst/gstregistry.h:
25287 * gst/gstregistrypool.c: remove
25288 * gst/gstregistrypool.h: remove
25289 * gst/gsttypefind.c:
25290 * gst/gsttypefindfactory.c:
25292 * tools/Makefile.am:
25293 * tools/gst-compprep.c:
25294 * tools/gst-inspect.c:
25295 * tools/gst-register.c: remove
25296 * tools/gst-xmlinspect.c:
25297 Registry rewrite. Changes registry from being a file created
25298 by a tool into a simple cache file created automatically by
25299 libgstreamer. Removed gst-register (because it's no longer
25300 needed). Remove registry pools, because we only have one
25301 registry implementation (XML). Fix up other subsystems as
25304 2005-09-13 Michael Smith <msmith@fluendo.com>
25306 * gst/gstconfig.h.in:
25307 Don't Use windows linking attributes for MinGW. Fixes #316157
25309 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25311 * gst/gstutils.c: (set_state_async_thread_func),
25312 (gst_element_set_state_async):
25313 Apparently people think it's better if this function doesn't
25314 try to set the state to whatever state was asked for on the first
25315 call to this function for any object. Seriously.
25317 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25319 * check/gst/gstpipeline.c: (GST_START_TEST):
25320 * docs/gst/gstreamer-sections.txt:
25321 * gst/gstutils.c: (set_state_async_thread_func),
25322 (gst_element_set_state_async):
25324 add a "gst_element_set_state_async" method that
25325 sets the state and starts a thread to make sure the state
25326 change completes as best as it can
25328 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25330 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25331 codify design+behaviour in testsuite after discussion
25333 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25335 * docs/gst/tmpl/gstelement.sgml:
25336 * docs/manual/appendix-quotes.xml:
25338 * gst/gstelement.c: (gst_element_set_state):
25341 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25343 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25344 (gst_base_transform_prepare_output_buf),
25345 (gst_base_transform_handle_buffer):
25346 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25347 (gst_capsfilter_prepare_buf):
25348 Remove the requirement for sub-classes to call the parent
25349 implementation of prepare_output_buffer with a wrapper function.
25351 * gst/gsttaglist.h:
25352 * gst/gsttagsetter.h:
25353 Fix #define wrapper
25355 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25357 * docs/gst/gstreamer-sections.txt:
25360 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25362 * docs/gst/gstreamer-sections.txt:
25363 * docs/gst/tmpl/gstelement.sgml:
25364 * docs/gst/tmpl/gstplugin.sgml:
25365 * gst/gstminiobject.c:
25367 docs now stop throwing warnings
25369 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25371 * docs/gst/gstreamer-sections.txt:
25372 * docs/gst/gstreamer.types:
25373 * docs/gst/tmpl/gstpad.sgml:
25374 * docs/gst/tmpl/gsttypes.sgml:
25375 * gst/base/gstadapter.h:
25376 * gst/base/gstbasesink.h:
25377 * gst/base/gstbasesrc.h:
25383 * gst/gstelement.h:
25385 * gst/gstmessage.h:
25387 * gst/gststructure.c:
25388 * gst/registries/gstlibxmlregistry.h:
25389 various documentation fixes
25391 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25393 * docs/gst/gstreamer-sections.txt:
25394 * docs/gst/tmpl/gstvalue.sgml:
25395 rearrange gstvalue section
25396 * gst/gstutils.c: (gst_element_state_get_name):
25398 * gst/gstvalue.c: (_gst_value_initialize):
25402 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25404 * check/gst-libs/controller.c:
25405 Header include fix.
25406 * gst/base/gstbasetransform.c:
25407 (gst_base_transform_default_prepare_buf),
25408 (gst_base_transform_handle_buffer):
25409 * gst/base/gstbasetransform.h:
25410 Some more basetransform changes and fixes to enable sub-classes
25411 that modify buffer metadata only.
25412 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25413 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25414 (gst_capsfilter_prepare_buf):
25415 If the output pad has fixed allowed caps and input buffers
25416 don't have any, set the fixed caps on outgoing buffers.
25418 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25419 * check/elements/identity.c: (GST_START_TEST):
25420 Make the error a little clearer when the test fails because
25421 identity made a copy of the buffer.
25422 * docs/gst/gstreamer-sections.txt:
25423 New symbols in gstbasetransform.h
25424 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25425 (gst_base_transform_init), (gst_base_transform_transform_size),
25426 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25427 (gst_base_transform_default_prepare_buf),
25428 (gst_base_transform_get_unit_size),
25429 (gst_base_transform_buffer_alloc),
25430 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25431 (gst_base_transform_change_state),
25432 (gst_base_transform_set_passthrough),
25433 (gst_base_transform_set_in_place),
25434 (gst_base_transform_is_in_place):
25435 * gst/base/gstbasetransform.h:
25436 Change BaseTransform to separate in_place operate from same_caps
25437 output. in_place implies that the element can perform the transform
25438 on incoming buffers in-place, even if the caps on the output are
25440 Sub-class elements can now implement special buffer allocation
25441 methods for outgoing buffers if they wish to.
25442 Big documentation addition.
25443 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25444 * gst/elements/gstelements.c:
25445 Changes for basetransform modifications.
25446 * gst/elements/Makefile.am:
25447 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25448 Compile fix. Extra debug output.
25450 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25452 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25454 add tests for valid pad naming
25455 * gst/check/gstcheck.c: (gst_check_log_message_func),
25456 (gst_check_log_critical_func):
25458 remove printing of code, it is fragile when the code contains
25459 % and the line number is enough info
25460 * gst/check/gstcheck.h:
25461 * gst/gstpad.c: (gst_pad_template_new):
25464 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25467 say what CHECK flags we use
25468 * docs/libs/gstreamer-libs.types:
25469 * libs/gst/controller/Makefile.am:
25470 * libs/gst/controller/gst-controller.c:
25471 * libs/gst/controller/gst-controller.h:
25472 * libs/gst/controller/gst-helper.c:
25473 * libs/gst/controller/gst-interpolation.c:
25474 * libs/gst/controller/gstcontroller.c:
25475 * libs/gst/controller/gsthelper.c:
25476 * libs/gst/controller/gstinterpolation.c:
25477 * tools/gst-inspect.c: (print_plugin_info):
25478 we don't use dashes in header names
25480 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25482 * check/Makefile.am:
25483 * check/gst/.cvsignore:
25484 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25485 (gst_pipeline_suite), (main):
25486 adding a test for pipelines and state changes
25487 * gst/gstutils.c: (get_state_func):
25489 * gstreamer.spec.in:
25492 2005-09-08 Michael Smith <msmith@fluendo.com>
25494 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25495 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25496 (gst_file_src_is_seekable), (gst_file_src_get_size),
25497 (gst_file_src_start):
25498 * gst/elements/gstfilesrc.h:
25499 Various fixes for unseekable, unmmapable, and non-normal files, so
25500 that fallback to read() rather than mmap() works.
25501 * gst/gstevent.c: (gst_event_new_newsegment):
25502 Allow newsegment events with segment_start == segment_end, as will
25503 correctly happen if you use filesrc on a zero-size file, for
25506 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25508 * gst/gstplugin.c: (gst_plugin_load_file):
25509 Call g_module_close when we don't load the module
25511 * gst/registries/gstlibxmlregistry.c:
25512 (gst_xml_registry_get_property):
25513 Port leak fix from 0.8
25515 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25517 * docs/gst/gstreamer-docs.sgml:
25518 * docs/gst/tmpl/.cvsignore:
25519 * docs/gst/tmpl/gsttrace.sgml:
25520 * docs/gst/tmpl/gsttrashstack.sgml:
25523 * gst/gstelement.h:
25525 * gst/gstmessage.c:
25526 * gst/gstmessage.h:
25529 * gst/gsttaginterface.c:
25530 * gst/gsttaginterface.h:
25531 * gst/gsttaglist.c:
25532 * gst/gsttaglist.h:
25533 * gst/gsttagsetter.c:
25534 * gst/gsttagsetter.h:
25537 * gst/gsttrashstack.c:
25538 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25539 inlined docs for gsttrace, gsttrashstack
25541 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25544 * gst/elements/gstbufferstore.h:
25545 * gst/elements/gsttypefindelement.c:
25546 * gst/elements/gsttypefindelement.h:
25548 * gst/gsttypefind.c:
25549 * gst/gsttypefind.h:
25550 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25551 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25552 (gst_type_find_factory_dispose),
25553 (gst_type_find_factory_unload_thyself),
25554 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25555 (gst_type_find_factory_get_caps),
25556 (gst_type_find_factory_get_extensions),
25557 (gst_type_find_factory_call_function):
25558 * gst/gsttypefindfactory.h:
25559 * gst/registries/gstlibxmlregistry.c:
25560 * gst/registries/gstxmlregistry.c:
25561 splitted gsttypefind into gsttypefind, gsttypefindfactory
25563 2005-09-07 Andy Wingo <wingo@pobox.com>
25565 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25566 condition whereby the pad's task function is entered before the
25567 pad_mode variable was set.
25569 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25571 * gst/gstpad.c: (gst_pad_alloc_buffer):
25572 Catch misbehaving pad_alloc functions that don't
25573 set up caps and do it for them.
25575 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25577 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25578 test for pipe!=NULL
25579 * docs/gst/tmpl/.cvsignore:
25580 * docs/gst/tmpl/gstmemchunk.sgml:
25581 * docs/gst/tmpl/gstparse.sgml:
25582 * docs/gst/tmpl/gsttaglist.sgml:
25583 * docs/gst/tmpl/gsttagsetter.sgml:
25584 * docs/gst/tmpl/gsttypefind.sgml:
25585 * docs/gst/tmpl/gsttypefindfactory.sgml:
25586 * gst/gstmemchunk.c:
25589 * gst/gsttaginterface.c:
25590 * gst/gsttypefind.c:
25591 * gst/gsttypefind.h:
25594 === release 0.9.2 ===
25596 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25601 releasing 0.9.2, "South"
25603 2005-09-05 Andy Wingo <wingo@pobox.com>
25605 * gst/registries/gstxmlregistry.h:
25606 * gst/registries/gstxmlregistry.c: Um... resurrect...
25608 * gst/registries/gstxmlregistry.h:
25609 * gst/registries/gstxmlregistry.c: and update to newer API.
25610 Incidentally they should be a bit faster now that they don't have
25613 2005-09-05 Andy Wingo <wingo@pobox.com>
25615 * gst/registries/gstxmlregistry.h:
25616 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25617 replaced by the libxml registry a while back
25619 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25621 * docs/gst/tmpl/gstplugin.sgml:
25622 * gst/elements/gstelements.c:
25624 * gst/gstplugin.c: (gst_plugin_register_func),
25625 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25626 (gst_plugin_get_source):
25628 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25629 (gst_xml_registry_save_plugin):
25630 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25631 (gst_xml_registry_save_plugin):
25632 * tools/gst-inspect.c: (print_plugin_info):
25633 add a "source" plugin description field, to represent the source
25634 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25635 will set it to PACKAGE, which is automake's idea of the name of
25636 the source project.
25638 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25643 * docs/Makefile.am:
25644 * docs/faq/Makefile.am:
25645 * docs/gst/tmpl/gstelement.sgml:
25646 * docs/gst/tmpl/gsttypes.sgml:
25647 * docs/htmlinstall.mak:
25648 * docs/manual/Makefile.am:
25649 * docs/pwg/Makefile.am:
25650 reorganize doc build a little
25651 split out docbook and gtk-doc stuff
25652 have two separate --enable's and enable them through autogen
25653 but disable by default in configure (to be similar to other
25655 * gstreamer.spec.in:
25656 clean up docs install
25674 translation updates
25676 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25678 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25681 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25682 (gst_fake_sink_change_state):
25683 Make state change function thread-safe.
25685 * gst/gstpad.c: (gst_pad_alloc_buffer):
25686 Set offset on generic buffer allocated by fallback.
25688 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25690 * docs/gst/gstreamer-sections.txt:
25691 * docs/gst/tmpl/gstelement.sgml:
25693 * libs/gst/controller/gst-controller.c:
25694 (gst_controlled_property_set_interpolation_mode),
25695 (gst_controlled_property_new),
25696 (gst_controller_find_controlled_property):
25697 run the wingo-magic script against the docs
25699 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25701 * docs/gst/gstreamer-docs.sgml:
25702 * docs/gst/gstreamer-sections.txt:
25703 * docs/gst/tmpl/.cvsignore:
25704 * docs/gst/tmpl/gstelementdetails.sgml:
25705 * docs/gst/tmpl/gstelementfactory.sgml:
25708 * gst/gstelementfactory.c:
25709 * gst/gstelementfactory.h:
25710 merged elementdetails docs into elementfactory docs
25713 2005-09-02 Andy Wingo <wingo@pobox.com>
25715 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25716 consider this enum an enum and not a flags.
25718 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25720 * docs/gst/gstreamer-docs.sgml:
25721 * docs/gst/tmpl/.cvsignore:
25722 * docs/gst/tmpl/gstghostpad.sgml:
25723 * docs/gst/tmpl/gstiterator.sgml:
25724 * docs/gst/tmpl/gstmacros.sgml:
25725 * docs/gst/tmpl/gstrealpad.sgml:
25726 * docs/gst/tmpl/gstregistry.sgml:
25727 * docs/gst/tmpl/gstregistrypool.sgml:
25728 * docs/gst/tmpl/gststructure.sgml:
25729 * docs/gst/tmpl/gstsystemclock.sgml:
25730 * docs/gst/tmpl/gsttrace.sgml:
25731 * gst/gstghostpad.c:
25733 * gst/gstmemchunk.c:
25734 * gst/gstmemchunk.h:
25736 * gst/gstregistry.c:
25737 * gst/gstregistrypool.c:
25738 * gst/gststructure.c:
25739 * gst/gstsystemclock.c:
25742 2005-09-02 Andy Wingo <wingo@pobox.com>
25744 * gst/gstelement.h (GstState): Renamed from GstElementState,
25745 changed to be a normal enum instead of flags.
25746 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25747 munged to be GST_STATE_CHANGE_*.
25748 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25749 work with the new state representation.
25750 (GstStateChange): New enumeration of possible state transitions.
25751 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25752 (GstElementClass::change_state): Pass the GstStateChange along as
25753 an argument. Helps language bindings, so they don't have to use
25754 tricky lock-needing macros like GST_STATE_CHANGE ().
25756 * scripts/update-states (file): New script. Run it on a file to
25757 update it for state naming and API changes. Updates files in
25760 * All files updated for the new API.
25762 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25764 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25765 * gst/gstutils.c: (gst_util_set_value_from_string),
25766 (gst_util_set_object_arg):
25767 fix a bunch of unchecked return values
25768 * tools/gst-complete.c: (main):
25769 * gstreamer.spec.in:
25772 2005-09-01 Wim Taymans <wim@fluendo.com>
25774 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25775 (gst_base_sink_event), (gst_base_sink_do_sync),
25776 (gst_base_sink_handle_event):
25777 * gst/base/gstbasesink.h:
25778 Handle newsegments more correctly.
25783 * gst/gstevent.c: (gst_event_new_newsegment):
25784 A newsegment cannot have a start_time of -1
25786 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25788 * win32/gstenumtypes.c:
25789 * win32/gstenumtypes.h:
25792 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25794 * libs/gst/controller/gst-controller.c:
25795 (gst_controlled_property_set_interpolation_mode),
25796 (gst_controlled_property_new):
25797 fixed boolean again
25799 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25801 * docs/faq/gst-uninstalled:
25806 * gst/gstutils.c: (gst_element_link_filtered):
25808 add gst_element_link_filtered
25810 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25812 * docs/gst/gstreamer-docs.sgml:
25813 * docs/gst/gstreamer-sections.txt:
25814 * docs/gst/tmpl/.cvsignore:
25815 * docs/gst/tmpl/gsterror.sgml:
25816 * docs/gst/tmpl/gstfilter.sgml:
25817 * docs/gst/tmpl/gsturihandler.sgml:
25818 * docs/gst/tmpl/gsturitype.sgml:
25819 * docs/gst/tmpl/gstutils.sgml:
25820 * docs/gst/tmpl/gstxml.sgml:
25825 * gst/gsturitype.c:
25828 inlined more docs, fixed double id-ref
25830 2005-08-31 Wim Taymans <wim@fluendo.com>
25832 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25833 (gst_base_transform_handle_buffer):
25834 Passthrough elements don't need the caps as they don't care.
25836 2005-08-31 Wim Taymans <wim@fluendo.com>
25838 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25839 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25840 Don't leak refcounts on buffers.
25842 2005-08-31 Wim Taymans <wim@fluendo.com>
25844 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25845 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25846 (gst_base_transform_chain), (gst_base_transform_change_state):
25847 * gst/base/gstbasetransform.h:
25848 Handle the case where we are not negotiated more gracefully.
25850 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25852 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25853 (gst_file_src_map_region):
25854 Set READONLY flag on mmap'ed buffers, otherwise
25855 gst_buffer_make_writable() won't work properly (#314708).
25857 2005-08-31 Wim Taymans <wim@fluendo.com>
25859 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25860 passthrough elements can even do inplace on non writable
25861 buffers (as they don't touch them).
25863 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25865 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25866 (gst_test_mono_source_set_property),
25867 (gst_test_mono_source_class_init), (GST_START_TEST),
25868 (gst_controller_suite):
25869 more tests (hehe I have the most)
25871 describe popping messages whenusing mulltiple sources
25872 * libs/gst/controller/gst-controller.c:
25873 (gst_controlled_property_set_interpolation_mode),
25874 (gst_controlled_property_new):
25875 * libs/gst/controller/gst-controller.h:
25876 * libs/gst/controller/gst-interpolation.c:
25877 implement boolean properties
25879 2005-08-31 Wim Taymans <wim@fluendo.com>
25881 * gst/gstminiobject.c: (gst_mini_object_ref):
25882 Cannot assert that the refcount has to be positive
25883 since a disposed object can be resurrected.
25885 2005-08-31 Wim Taymans <wim@fluendo.com>
25887 * gst/gstpad.c: (gst_pad_init):
25888 Revert change, need to first fix badly behaving
25891 2005-08-30 Wim Taymans <wim@fluendo.com>
25893 * check/elements/fakesrc.c: (setup_fakesrc):
25894 * check/elements/identity.c: (setup_identity):
25895 Activate pads before using them.
25897 2005-08-30 Wim Taymans <wim@fluendo.com>
25899 * gst/base/gstadapter.c: (gst_adapter_flush):
25900 Flushing out 0 bytes is ok for this function.
25902 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25903 no newsegment gives a warning and sets the start/stop to
25906 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25907 (gst_base_transform_set_passthrough):
25910 * gst/gstminiobject.c: (gst_mini_object_ref):
25911 Check refcount here too.
25913 * gst/gstpad.c: (gst_pad_init):
25914 Pads are initially flushing and refusing data.
25916 * gst/gstutils.c: (gst_element_link_pads_filtered):
25917 When adding a capsfilter element make sure it has the
25918 same state as the parent bin.
25920 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25922 * docs/gst/tmpl/.cvsignore:
25923 * docs/gst/tmpl/gstformat.sgml:
25924 * docs/gst/tmpl/gstversion.sgml:
25928 * gst/gstversion.h.in:
25929 more docs and two more inlined
25931 2005-08-30 Wim Taymans <wim@fluendo.com>
25933 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25934 Don't sync to clock.
25936 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25938 * docs/gst/gstreamer-sections.txt:
25939 ultral33t func10ns deserve to appear in the docs actually
25940 * docs/gst/tmpl/.cvsignore:
25941 * docs/gst/tmpl/gstcompat.sgml:
25942 * docs/gst/tmpl/gstconfig.sgml:
25943 * gst/check/gstcheck.c:
25945 * gst/gstconfig.h.in:
25948 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25950 * docs/gst/tmpl/.cvsignore:
25951 * docs/gst/tmpl/gstquery.sgml:
25952 * docs/gst/tmpl/gstutils.sgml:
25955 inlined and extended docs
25957 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25959 * check/gst-libs/controller.c: (GST_START_TEST),
25960 (gst_controller_suite):
25962 * docs/gst/tmpl/gstutils.sgml:
25963 * docs/libs/gstreamer-libs-sections.txt:
25964 * docs/libs/tmpl/gstdataprotocol.sgml:
25966 * examples/controller/audio-example.c: (main):
25967 controller example works now
25970 * tools/gst-inspect.c: (print_element_properties_info):
25971 show param spec flags
25973 2005-08-29 Andy Wingo <wingo@pobox.com>
25975 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25977 2005-08-28 Andy Wingo <wingo@pobox.com>
25979 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25980 as having two arguments instead of just one. Allows superclasses
25981 to access information on subclasses -- see the terrible for() loop
25982 in gtype.c:g_type_create_instance for the reason why. All callers
25985 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25987 * docs/design/part-messages.txt:
25989 * docs/gst/tmpl/.cvsignore:
25990 * docs/gst/tmpl/gstcaps.sgml:
25991 * docs/gst/tmpl/gstclock.sgml:
25997 * gst/gstmessage.c:
25998 added descriptions for bus and message
25999 inline caps and clock docs
26001 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26003 * gst/gstmessage.c:
26004 * gst/gstmessage.h:
26007 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26009 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26012 2005-08-26 Andy Wingo <wingo@pobox.com>
26014 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26015 element_set_state's return val.
26016 (test_2_elements): Add test that's been disabled for months.
26018 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26019 can-activate-pull properties.
26021 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26022 can-activate-pull properties. Implement is_seekable so fakesrc can
26023 operate in pull mode.
26025 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26027 (gst_base_sink_activate, gst_base_sink_activate_pull)
26028 (gst_base_sink_activate_push): Make activation mode choosing work.
26030 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26031 is right. Make pull mode work. Post an eos before pausing in pull
26033 (gst_base_sink_change_state): Pay attention to the core's
26034 change_state() return val.
26036 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26037 has-getrange properties. Cleanups.
26039 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26040 has_getrange and replace with can_activate_pull and
26043 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26044 locking comments. Remove has_loop, has_chain and replace with
26045 can_activate_pull and can_activate_push.
26047 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26050 * examples/Makefile.am:
26051 * examples/metadata/Makefile.am:
26052 * examples/metadata/read-metadata.c: (message_loop),
26053 (have_pad_handler), (make_pipeline), (print_tag), (main):
26054 Add metadata reading example that loops over a list of filenames,
26055 dumping any tags found.
26057 * gst/gstbus.c: (gst_bus_dispose):
26058 * gst/gstelement.c: (gst_element_dispose):
26059 Release a few potentially-held references in dispose.
26061 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26063 * docs/gst/tmpl/gstminiobject.sgml:
26064 do *not* add tmpl/*.sgml files to CVS!
26066 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26068 * libs/gst/bytestream/.cvsignore:
26069 * libs/gst/bytestream/Makefile.am:
26070 * libs/gst/bytestream/adapter.c:
26071 * libs/gst/bytestream/adapter.h:
26072 * libs/gst/bytestream/bytestream.c:
26073 * libs/gst/bytestream/bytestream.h:
26074 * libs/gst/bytestream/filepad.c:
26075 * libs/gst/bytestream/filepad.h:
26076 removing obsolete files
26078 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26080 * docs/gst/gstreamer-docs.sgml:
26081 * docs/libs/gstreamer-libs-docs.sgml:
26082 disabed additional index entries again, as this makes docs-gen just
26083 slow and they aren't useful yet
26084 * docs/libs/gstreamer-libs-sections.txt:
26085 little -section.txt cleanup for libs
26087 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26089 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26090 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26091 fix up some debugging
26092 (gst_base_transform_get_unit_size),
26093 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26094 (gst_base_transform_handle_buffer):
26095 * gst/base/gstbasetransform.h:
26096 handle and store timed NEWSEGMENT events so that subclasses that
26097 calculate time by counting samples have a segment_start time they
26098 need to add to their timestamps - see audioresample
26100 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26103 removed ';' from the end of macro defs
26104 * docs/gst/gstreamer-docs.sgml:
26105 * docs/gst/gstreamer-sections.txt:
26106 * docs/gst/tmpl/.cvsignore:
26108 * gst/gstelement.c: (gst_element_class_init),
26109 (gst_element_set_state), (activate_pads),
26110 (gst_element_save_thyself):
26111 * gst/gstevent.c: (gst_event_new_newsegment):
26113 * gst/gstiterator.c:
26114 * gst/gstiterator.h:
26117 * gst/gstutils.c: (gst_pad_query_convert):
26119 fixed parameter name mismatches between source, header and docs
26120 added some more docs, resolved the last batch of unused elements in
26121 docs (now someone needs to doc them)
26123 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26125 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26126 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26127 don't walk through the plugins backwards. Where is all this
26128 reversed logic coming from ?
26130 2005-08-25 Wim Taymans <wim@fluendo.com>
26132 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26133 (gst_base_transform_transform_size),
26134 (gst_base_transform_configure_caps),
26135 (gst_base_transform_get_unit_size),
26136 (gst_base_transform_buffer_alloc),
26137 (gst_base_transform_change_state):
26138 * gst/base/gstbasetransform.h:
26139 Cache caps unit_size.
26140 Make sure we cannot negotiate up and downstream at the
26143 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26145 * gst/gst.c: (init_pre), (init_post):
26146 register the installed plugin path after the env var
26147 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26148 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26149 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26150 directories, so the tests can prefer uninstalled over installed
26152 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26154 * gst/base/gstbasetransform.h:
26159 2005-08-25 Wim Taymans <wim@fluendo.com>
26161 * gst/gstbin.c: (bin_bus_handler):
26162 Be a bit more conservative about the posted message.
26164 * gst/gstbus.c: (gst_bus_post):
26165 Some cleanups, warn wrong return values.
26167 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26169 * check/gst/gstbin.c: (GST_START_TEST):
26170 * gst/gstbin.c: (bin_bus_handler):
26171 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26172 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26173 (gst_message_new_warning), (gst_message_new_tag),
26174 (gst_message_new_state_changed), (gst_message_new_segment_start),
26175 (gst_message_new_segment_done), (gst_message_new_custom):
26176 * gst/gstmessage.h:
26177 * tools/gst-launch.c: (event_loop):
26178 * tools/gst-md5sum.c: (event_loop):
26179 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26181 2005-08-25 Wim Taymans <wim@fluendo.com>
26183 * check/generic/states.c: (GST_START_TEST):
26184 Cleanup can be done at the end.
26186 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26187 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26188 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26189 Oh boy.. Thanks for finding this, Thomas.
26191 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26193 * docs/gst/gstreamer.types:
26194 added missing types
26196 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26198 * docs/gst/gstreamer-docs.sgml:
26199 * docs/gst/gstreamer-sections.txt:
26200 * docs/gst/tmpl/.cvsignore:
26202 * gst/gstiterator.c:
26204 * gst/registries/gstxmlregistry.h:
26205 added missing classes and symbols (123 more to go)
26206 removed removed symbols from section file
26207 fixed many doc-comments
26209 2005-08-24 Wim Taymans <wim@fluendo.com>
26211 * check/generic/states.c: (GST_START_TEST):
26212 Make sure all tasks are stopped.
26214 * check/gst/gstbin.c: (GST_START_TEST):
26215 Unref after usage for proper valgrinding.
26217 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26218 Really wait for the task to stop before destroying the
26221 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26222 (gst_queue_src_activate_push):
26223 Small cleanups. Don't stop the task when we did not start
26226 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26227 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26228 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26231 Protect the stream lock with the object lock.
26232 Disallow setting the stream lock when running.
26233 Add cleanup_all to wait for the threadpool to finish.
26234 Remove code to autoallocate a mutex if none was provided.
26235 Add _join() to wait for a task to stop.
26236 Protect the thread pool with a global lock.
26238 2005-08-24 Wim Taymans <wim@fluendo.com>
26240 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26241 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26242 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26243 * gst/base/gstbasesink.h:
26244 Handle newsegment events correctly.
26245 Drop buffers out of the segment range.
26247 2005-08-22 Andy Wingo <wingo@pobox.com>
26249 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26250 macro, implements an interface and gstimplementsinterface for a
26253 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26255 * check/Makefile.am:
26256 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26257 add a test that does a bunch of state changes on elements
26258 needs some fixing for valgrind
26259 * check/states/sinks.c: (gst_object_suite):
26262 add prototype for gst_caps_is_equal_fixed
26264 * gst/gstregistrypool.c:
26267 2005-08-24 Andy Wingo <wingo@pobox.com>
26269 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26270 convert a negative value. Doesn't make much sense. Mostly this is
26271 here to force callers to ensure -1 maps to -1.
26273 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26275 * docs/pwg/advanced-types.xml:
26276 Well done to Michael for catching my deliberate introduction
26277 of this spelling mistake.
26278 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26279 * gst/gstelement.h:
26280 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26281 unlink pads before removing the element from the bin.
26283 2005-08-24 Andy Wingo <wingo@pobox.com>
26285 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26286 the same thing as GST_DEBUG=*:4.
26287 (parse_debug_level, parse_debug_category): New helper parsers.
26289 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26291 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26292 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26293 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26294 (gst_base_transform_buffer_alloc),
26295 (gst_base_transform_handle_buffer):
26296 use gboolean return values and pointers to size so we can use the
26297 full GST_BUFFER_SIZE range (guint) for buffer sizes
26298 use GstPadDirection for transform_caps
26299 * gst/base/gstbasetransform.h:
26300 rename get_size to get_unit_size since that's what it is
26301 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26302 use GstPadDirection for transform_caps
26303 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26305 cleanup and debugging
26307 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26309 * gst/gstelement.c: (gst_element_class_init),
26310 (gst_element_set_state), (activate_pads),
26311 (gst_element_save_thyself):
26312 * tools/gst-compprep.c: (main):
26313 * tools/gst-inspect.c: (print_element_properties_info):
26314 * tools/gst-xmlinspect.c: (print_element_properties):
26315 Fixed long standing mem-leak
26317 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26319 * check/gst/gstbin.c: (GST_START_TEST):
26320 * gst/gstbin.c: (bin_bus_handler):
26321 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26322 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26323 (gst_message_new_warning), (gst_message_new_tag),
26324 (gst_message_new_state_changed), (gst_message_new_segment_start),
26325 (gst_message_new_segment_done), (gst_message_new_custom):
26326 * gst/gstmessage.h:
26327 * tools/gst-launch.c: (event_loop):
26328 * tools/gst-md5sum.c: (event_loop):
26329 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26330 that applications can sensibly post custom messages with references
26331 to their own objects.
26333 2005-08-24 Andy Wingo <wingo@pobox.com>
26335 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26338 2005-08-24 Wim Taymans <wim@fluendo.com>
26340 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26341 (gst_base_transform_transform_caps),
26342 (gst_base_transform_transform_size),
26343 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26344 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26345 (gst_base_transform_handle_buffer):
26346 * gst/base/gstbasetransform.h:
26347 Many fixes and new features added by Thomas. Can now also do
26348 transforms with variable sizes and a custom fixate_caps function.
26350 2005-08-24 Wim Taymans <wim@fluendo.com>
26352 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26356 Cast to ClockTime before formatting to time.
26361 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26363 * check/gst-libs/controller.c: (GST_START_TEST),
26364 (gst_controller_suite):
26365 * docs/gst/tmpl/gstcaps.sgml:
26366 * docs/gst/tmpl/gstghostpad.sgml:
26367 * docs/gst/tmpl/gstquery.sgml:
26368 * docs/gst/tmpl/gstutils.sgml:
26369 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26370 (gst_object_sink_values), (gst_object_get_value_arrays),
26371 (gst_object_get_value_array):
26372 gracefully handle helper method calls to objects that are not beeing
26373 controlled, added test case for that
26375 2005-08-23 Wim Taymans <wim@fluendo.com>
26377 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26378 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26379 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26380 (gst_event_parse_qos), (gst_event_new_seek),
26381 (gst_event_parse_seek):
26383 Some more debugging output and doc cleanups.
26385 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26386 Fix possible deadlock.
26388 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26390 * docs/gst/gstreamer-docs.sgml:
26391 * docs/gst/gstreamer-sections.txt:
26392 * docs/gst/gstreamer.types:
26393 * docs/gst/tmpl/.cvsignore:
26396 * gst/gstelement.c:
26398 added 100 symbols from gstreamer-unused.txt to the right sections
26399 fixed more broken comments
26400 added GstBus to docs
26402 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26404 * docs/gst/gstreamer-sections.txt:
26405 * docs/gst/tmpl/.cvsignore:
26406 * docs/gst/tmpl/gstbin.sgml:
26407 * docs/gst/tmpl/gstbuffer.sgml:
26408 * gst/base/gstbasesrc.c:
26409 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26412 * tools/gst-launch.1.in:
26413 inlined more doc comments, added missing comments and fixed comments
26416 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26418 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26422 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26424 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26425 * gst/gststructure.h:
26426 add a fixate function for booleans; add a FIXME that these func
26427 names should probably be gst_structure_fixate_*
26429 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26431 * docs/gst/gstreamer-docs.sgml:
26432 * docs/gst/gstreamer-sections.txt:
26434 * gst/gstbin.c: (gst_bin_get_type),
26435 (gst_bin_child_proxy_get_child_by_index),
26436 (gst_bin_child_proxy_get_children_count),
26437 (gst_bin_child_proxy_init):
26438 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26439 (gst_child_proxy_get_child_by_index),
26440 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26441 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26442 (gst_child_proxy_get), (gst_child_proxy_set_property),
26443 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26444 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26445 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26446 * gst/gstchildproxy.h:
26447 * gst/parse/grammar.y:
26448 * tools/gst-inspect.c: (print_interfaces),
26449 (print_element_properties_info), (print_element_info):
26450 ported gstchildproxy over from 0.8
26451 ported gst-inspect fixes and enhancements over from 0.8
26453 2005-08-22 Wim Taymans <wim@fluendo.com>
26455 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26456 (gst_base_transform_handle_buffer):
26457 Also call the transform function if we have ANY caps.
26459 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26462 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26464 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26465 Don't pretend to handle seek events if the source is not seekable
26467 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26469 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26470 Remove extra parameter to debug output
26472 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26473 (gst_base_src_do_seek), (gst_base_src_activate_push):
26474 Fix seek event handling.
26476 * gst/gstpipeline.c: (gst_pipeline_change_state):
26477 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26478 (gst_queue_src_activate_push):
26479 Don't start the src pad task on FLUSH_STOP if the pad
26483 2005-08-22 Wim Taymans <wim@fluendo.com>
26485 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26486 Added check for gst_static_caps_get() refcounting.
26488 2005-08-22 Wim Taymans <wim@fluendo.com>
26490 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26491 Make _static_caps_get() refcounting sane.
26493 * gst/gstelement.c: (gst_element_set_state):
26494 Add g_return_val_if_fail() to protect against segfaults.
26496 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26498 * docs/gst/tmpl/gstevent.sgml:
26501 inlined remaining docs, added missing doc comments
26503 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26505 * check/gst/gstbin.c: (GST_START_TEST):
26506 since we don't know when preroll is done, use refcount range
26508 * gst/check/gstcheck.h:
26509 add macro for checking refcount range
26511 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26513 * check/Makefile.am:
26514 clean up environment for when registry gets built versus
26515 when actual tests are run; valgrind seems to not report
26516 leaks if GST_PLUGIN_PATH is set to some specific values
26517 * check/gst/gstbin.c: (GST_START_TEST):
26518 add more refcounting checks; maybe this exposes a
26520 * common/check.mak:
26521 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26522 * gst/check/gstcheck.h:
26523 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26524 (gst_bin_change_state):
26525 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26526 add/fix debugging/whitespace
26528 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26530 * check/gst/gstevent.c: (event_probe), (test_event),
26532 Er, don't call gst_bin_watch_for_state_change you idiot.
26534 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26536 * check/Makefile.am:
26537 Use CHECK_CFLAGS and CHECK_LIBS
26538 * check/gst/gstevent.c: (event_probe), (test_event),
26541 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26542 (gst_base_src_start), (gst_base_src_stop),
26543 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26544 (gst_base_src_change_state):
26545 Sprinkle gst_base_src_stop liberally around error paths to fix
26546 problems reusing a source after failed state changes.
26547 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26548 (helper_find_suggest), (gst_type_find_helper):
26549 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26551 * docs/gst/tmpl/gstevent.sgml:
26552 Migrate part of the docs from the SGML file. Wait for ensonic to
26553 tell me how I did it wrong ;)
26554 * tools/gst-typefind.c: (main):
26555 Extra robustness to state changes between files.
26557 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26559 * check/Makefile.am:
26560 don't valgrind the controller test - it's leaking - Stefan, HELP
26561 * gst/check/gstcheck.c: (gst_check_message_error),
26562 (gst_check_chain_func), (gst_check_setup_element),
26563 (gst_check_teardown_element), (gst_check_setup_src_pad),
26564 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26565 (gst_check_teardown_sink_pad):
26566 * gst/check/gstcheck.h:
26567 add a bunch of methods to set up elements, and src and sink pads
26568 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26569 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26572 * gst/gstmessage.c:
26574 whitespace/doc fixes
26576 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26578 * gst/gstelement.h:
26579 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26580 be handled by the application and not always printed as well
26582 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26584 * check/Makefile.am:
26586 * gst/check/gstcheck.c: (gst_check_message_error):
26587 * gst/check/gstcheck.h:
26588 add a fail_unless_equals_int
26589 add fail_unless for error messages
26591 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26593 * check/Makefile.am:
26595 * common/Makefile.am:
26596 * common/check.mak:
26598 factor out some of the common stuff so we can use it
26600 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26602 * check/Makefile.am:
26603 * check/gst/gstiterator.c: (GST_START_TEST):
26604 * check/gst/gstsystemclock.c: (GST_START_TEST),
26605 (gst_systemclock_suite):
26606 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26608 valgrind more tests
26610 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26612 * check/elements/.cvsignore:
26613 * check/elements/gstfakesrc.c:
26614 rename to name of element
26615 * check/elements/identity.c: (chain_func), (event_func),
26616 (setup_identity), (cleanup_identity), (GST_START_TEST),
26617 (identity_suite), (main):
26618 add a test for identity
26619 * check/Makefile.am:
26620 * pkgconfig/Makefile.am:
26621 * pkgconfig/gstreamer-check.pc.in:
26622 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26626 move the check stuff to a library that gets installed
26627 * check/gst-libs/controller.c: (GST_START_TEST):
26628 * check/gst-libs/gdp.c:
26629 * check/gst/gst.c: (GST_START_TEST):
26630 * check/gst/gstbin.c:
26631 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26632 * check/gst/gstbus.c:
26633 * check/gst/gstcaps.c: (GST_START_TEST):
26634 * check/gst/gstelement.c:
26635 * check/gst/gstghostpad.c:
26636 * check/gst/gstiterator.c:
26637 * check/gst/gstmessage.c:
26638 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26639 * check/gst/gstobject.c:
26640 * check/gst/gstpad.c: (GST_START_TEST):
26641 * check/gst/gststructure.c: (GST_START_TEST):
26642 * check/gst/gstsystemclock.c: (GST_START_TEST),
26643 (gst_systemclock_suite):
26644 * check/gst/gsttag.c: (gst_tag_suite):
26645 * check/gst/gstvalue.c:
26646 * check/pipelines/cleanup.c:
26647 * check/pipelines/simple_launch_lines.c:
26648 * check/states/sinks.c:
26649 change include statement
26651 * docs/gst/gstreamer-sections.txt:
26652 * docs/gst/tmpl/gstpad.sgml:
26653 document more pad stuff
26654 * gst/gstminiobject.c: (gst_mini_object_ref),
26655 (gst_mini_object_unref):
26658 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26660 * docs/gst/tmpl/gst.sgml:
26662 eliminate another tmpl file, fix spelling in the long-description
26664 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26666 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26667 (test_event), (timediff), (gstevents_suite):
26668 Should fix build on 64-bit arch's
26670 2005-08-18 Andy Wingo <wingo@pobox.com>
26672 Make sure that when a pipeline goes to PLAYING, that data has
26673 actually hit the sink.
26675 * check/states/sinks.c (test_sink): A sink that doesn't get any
26676 data shouldn't return SUCCESS for going to either PLAYING or
26677 PAUSED. Test also the return values on the way back down.
26679 * gst/gstelement.c (gst_element_set_state): When changing the
26680 state of an element currently changing state asynchronously, go to
26681 lost-state after commiting the pending state. Makes future calls
26682 to get_state continue to return ASYNC.
26684 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26685 ASYNC when going to PLAYING if we still don't have preroll, as can
26686 happen with live sources.
26688 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26690 * docs/pwg/advanced-types.xml:
26691 Hack long paragraph into 2 chunks as a workaround for buggy
26692 jadetex version in sid and breezy that loops infinitely and
26695 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26697 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26698 (test_event), (timediff), (gstevents_suite):
26699 Provide more error margin in clock measurements to allow for
26700 g_get_current_time inaccuracies.
26702 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26704 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26705 (test_event), (timediff), (gstevents_suite):
26706 Fix error message output so I might be able to tell why the
26707 test works here but fails on the build farm.
26709 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26711 * check/Makefile.am:
26712 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26713 (test_event), (timediff), (gstevents_suite), (main):
26716 * docs/design/part-seeking.txt:
26717 Spelling correction
26719 * docs/gst/tmpl/gstevent.sgml:
26720 * docs/gst/tmpl/gstfakesrc.sgml:
26723 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26724 Treat a buffer-without-newsegment the same as a receiving
26725 a newsegment not in time format, and disable syncing to the clock
26728 * gst/gstbus.c: (gst_bus_set_sync_handler):
26729 Assert if anyone tries to replace the existing sync_handler for bus,
26730 as only the owner should be setting it.
26733 Have a fixed set of custom event enums with events identified by
26734 their structure name (as in 0.8), rather than a free-for-all
26735 allowing collisions between enum values from different plugins.
26737 * gst/gstpad.c: (gst_pad_class_init):
26740 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26741 Handle out-of-band downstream events from the sending thread.
26743 2005-08-17 Andy Wingo <wingo@pobox.com>
26745 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26746 play-timeout==0 to mean no timeout at all. In that case, don't
26747 bother with a get_state or a warning, just return directly, even
26750 * gst/base/gstbasetransform.c: Debug changes.
26753 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26754 ensure bins post state change messages. A bit of a hack but I can't
26755 think of a way to avoid it.
26757 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26759 2005-08-16 Andy Wingo <wingo@pobox.com>
26761 * gst/base/gstadapter.h:
26762 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26763 peek() but you own the data. Not terribly efficient atm.
26765 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26767 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26768 (gst_element_found_tags):
26770 Add two utility functions for tag handling.
26772 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26774 * docs/manual/advanced-dataaccess.xml:
26775 * docs/manual/basics-helloworld.xml:
26776 Fix docs to use _bin_add() before _link(), which fixes the examples
26777 with recent core versions (reported by Madhan Raj M
26778 <raj_madan@rediffmail.com>, #313199).
26780 2005-08-16 Wim Taymans <wim@fluendo.com>
26782 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26783 Added subtract checks.
26785 * docs/design/part-events.txt:
26786 Some more docs about newsegment
26788 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26791 * gst/gstcaps.c: (gst_caps_to_string):
26792 Add comments, cleanups.
26794 * gst/gstelement.c: (gst_element_save_thyself):
26797 * gst/gstvalue.c: (gst_value_collect_int_range),
26798 (gst_string_unwrap), (gst_value_union_int_int_range),
26799 (gst_value_union_int_range_int_range),
26800 (gst_value_intersect_int_int_range),
26801 (gst_value_intersect_int_range_int_range),
26802 (gst_value_intersect_double_double_range),
26803 (gst_value_intersect_double_range_double_range),
26804 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26805 (gst_value_subtract_int_range_int),
26806 (gst_value_subtract_double_range_double),
26807 (gst_value_subtract_double_range_double_range),
26808 (gst_value_subtract_from_list), (gst_value_subtract_list),
26809 (gst_value_can_compare), (gst_value_compare_fraction):
26810 Cleanups, add comments, remove unneeded asserts.
26812 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26814 * tools/gst-launch.c: (event_loop):
26815 don't convert NULL structures to strings
26817 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26819 * docs/gst/gstreamer-sections.txt:
26820 made some defines private
26821 * docs/gst/tmpl/gstconfig.sgml:
26822 * docs/gst/tmpl/gstqueue.sgml:
26823 * docs/gst/tmpl/gsttaglist.sgml:
26824 * docs/gst/tmpl/gsttypes.sgml:
26825 * docs/gst/tmpl/gstutils.sgml:
26826 * docs/pwg/appendix-porting.xml:
26827 * gst/base/gstbasesink.h:
26828 * gst/base/gstbasesrc.c:
26829 * gst/base/gstbasesrc.h:
26830 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26831 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26832 * gst/gstelement.c: (gst_element_class_init):
26833 * gst/gstpad.c: (gst_pad_class_init):
26834 * gst/gstqueue.c: (gst_queue_class_init):
26835 * gst/gstxml.c: (gst_xml_class_init):
26836 documented all undocumented signal inline
26837 * libs/gst/controller/gst-controller.h:
26840 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26842 * docs/pwg/appendix-porting.xml:
26843 Document _set_link_function -> _set_setcaps_function.
26845 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26847 * check/Makefile.am:
26848 add a .check target for running the check
26849 * check/gst-libs/controller.c: (GST_START_TEST):
26851 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26852 complete checks for gstbuffer; would be nice if I could get the
26853 gcov stuff to work so I can see if I actually completed gstbuffer.c
26854 * check/gstcheck.h:
26855 add ASSERT_BUFFER_REFCOUNT
26857 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26859 * docs/gst/gstreamer-sections.txt:
26860 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26862 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26863 spew out a warning if a tag that is already registered
26864 is re-registered, unless it is re-registered with a
26865 different type (#308438).
26867 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26869 * docs/pwg/appendix-porting.xml:
26870 * docs/pwg/building-state.xml:
26871 Add some paragraphs about state changes in 0.9 to the PWG
26872 and the porting guide, in particular about the new meaning
26873 of GST_STATE_PAUSED and how to write state change functions
26874 with concurrent access by multiple threads in mind.
26876 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26878 * docs/gst/gstreamer-docs.sgml:
26879 * docs/libs/gstreamer-libs-docs.sgml:
26880 added deprecation and since indexes
26881 * libs/gst/controller/gst-controller.c:
26882 * libs/gst/controller/gst-helper.c:
26886 2005-08-11 Wim Taymans <wim@fluendo.com>
26888 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26889 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26890 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26891 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26892 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26893 (gst_ghost_pad_set_target):
26894 Actually implement (re)setting the target on a ghostpad
26895 as described in the docs.
26897 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26899 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26900 Check whether GST_DEBUG_NO_COLOR environment variable is
26901 set and disable coloured debug output if that is the case.
26903 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26905 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26906 (gst_type_find_helper):
26907 The memory returned by gst_type_find_peek() needs to
26908 stay valid until the end of a typefind function, and
26909 typefind functions may keep results from different
26910 offsets around, so we can't just unref the buffer from
26911 the previous _peek(), but have to save all buffers
26912 returned by _peek() until typefinding is done and only
26915 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26917 * docs/gst/gstreamer-sections.txt:
26919 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26921 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26923 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26924 Fix a pretty good memleak.
26926 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26928 * gst/gstiterator.h:
26929 Fix wrong include and 'make distcheck'.
26931 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26933 * gst/gstbin.c: (bin_bus_handler):
26934 Use gst_element_post_message() instead.
26936 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26938 * gst/base/gstadapter.h:
26939 * gst/base/gstbasesink.h:
26940 * gst/base/gstbasesrc.h:
26941 * gst/base/gstbasetransform.h:
26942 * gst/base/gstcollectpads.h:
26943 * gst/base/gstpushsrc.h:
26944 * gst/gstiterator.h:
26945 Add padding to our base elements' class and instance structs and
26946 to GstIterator (you will need to rebuild all plugins and apps!)
26948 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26950 * gst/gstbin.c: (bin_bus_handler):
26951 Make default message forwarding from child->bus to bin->bus
26952 threadsafe and make it not emit warnings if the parent has no bus.
26954 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26956 * gst/gstelement.c: (activate_pads):
26957 On paused->ready, set pad->caps to NULL, as is the documented
26958 behaviour in this state change. Fixes playback of series of
26959 media files when visualization is enabled in Totem.
26961 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26963 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26964 Allow NULL as filter-caps (which means "any").
26966 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26968 * docs/libs/gstreamer-libs-sections.txt:
26969 * libs/gst/controller/gst-controller.c:
26970 * libs/gst/controller/gst-controller.h:
26971 * libs/gst/controller/gst-helper.c:
26972 adding more entries to the docs and fix small doc-bugs
26974 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26976 * docs/gst/gstreamer-docs.sgml:
26977 * docs/gst/gstreamer-sections.txt:
26978 * docs/gst/gstreamer.types:
26979 * docs/gst/tmpl/gstbasesink.sgml:
26980 * docs/gst/tmpl/gstbasesrc.sgml:
26981 * docs/gst/tmpl/gstbasetransform.sgml:
26982 * docs/gst/tmpl/gstfakesrc.sgml:
26983 * gst/base/gstcollectpads.c:
26984 * gst/base/gstcollectpads.h:
26985 * libs/gst/controller/gst-controller.c:
26986 * libs/gst/controller/gst-controller.h:
26987 * libs/gst/controller/gst-helper.c:
26988 * libs/gst/controller/gst-interpolation.c:
26989 * libs/gst/controller/lib.c:
26990 added long/short desc for controller docs
26991 added collectpads base class docs
26992 added correct includes to base-class docs
26994 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26996 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26997 (gst_test_mono_source_set_property),
26998 (gst_test_mono_source_class_init), (GST_START_TEST),
26999 (gst_controller_suite):
27000 * docs/gst/gstreamer-docs.sgml:
27001 * docs/gst/gstreamer-sections.txt:
27002 * docs/gst/gstreamer.types:
27003 * docs/libs/gstreamer-libs-docs.sgml:
27004 * docs/libs/gstreamer-libs-sections.txt:
27005 * gst/base/gstadapter.c:
27006 * libs/gst/controller/gst-controller.c:
27007 (gst_controlled_property_new), (gst_controlled_property_free),
27008 (gst_controller_new_valist),
27009 (gst_controller_remove_properties_valist),
27010 (gst_controller_sink_values), (_gst_controller_finalize):
27011 * libs/gst/controller/gst-controller.h:
27012 * libs/gst/controller/gst-helper.c:
27013 (gst_object_control_properties), (gst_object_uncontrol_properties),
27014 (gst_object_get_controller), (gst_object_set_controller),
27015 (gst_object_sink_values), (gst_object_get_value_arrays),
27016 (gst_object_get_value_array):
27017 more tests (and fixes) for the controller
27018 more docs for the controller
27019 integrated companies docs for the adapter
27021 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
27023 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27024 (GST_START_TEST), (fakesrc_suite):
27025 add tests for sizetype
27027 2005-08-04 Andy Wingo <wingo@pobox.com>
27029 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27030 fixes buffer_alloc proxying among other things.
27032 * gst/base/gstbasetransform.c:
27033 * gst/base/gstbasetransform.h:
27034 Revert patch to gstbasetransform from 7-28 removing
27037 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27038 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27039 Semantics changed, should return not the size of the output buffer
27040 but the byte size of a buffer with a given caps.
27042 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27044 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27045 out) are not the pad caps until setcaps finishes.
27046 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27047 not-in-place case as well. Deal with changing from in-place to
27048 not-in-place within calling pad_alloc_buffer. Still a bit
27049 concerned about the overhead here...
27051 2005-08-03 Andy Wingo <wingo@pobox.com>
27053 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27054 fixating is an error.
27056 2005-08-04 Edward Hervey <edward@fluendo.com>
27058 * gst/base/gstadapter.h:
27059 Added gst_adapter_get_type() to the header
27061 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27063 * check/Makefile.am:
27064 * check/gst-libs/controller.c:
27065 * libs/gst/controller/gst-controller.c:
27066 (gst_controller_new_valist):
27067 added check test suite for the controller
27068 * gst/base/gstpushsrc.c:
27071 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27073 * docs/gst/Makefile.am:
27074 * docs/gst/gstreamer-docs.sgml:
27075 * docs/gst/gstreamer-sections.txt:
27076 * docs/gst/gstreamer.types:
27077 * docs/gst/tmpl/gstfakesrc.sgml:
27079 * gst/base/gstbasesink.c:
27080 * gst/base/gstbasesink.h:
27081 * gst/base/gstbasesrc.c:
27082 * gst/base/gstbasesrc.h:
27083 * gst/base/gstbasetransform.c:
27084 * gst/base/gstpushsrc.c:
27085 * gst/base/gstpushsrc.h:
27086 add short/long description docs to base classes
27087 add pushsrc to the docs
27088 remove consolidated doc fragments
27090 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27093 * docs/libs/Makefile.am:
27094 * docs/libs/gstreamer-libs-docs.sgml:
27095 * docs/libs/gstreamer-libs-sections.txt:
27096 * docs/libs/gstreamer-libs.types:
27097 * examples/Makefile.am:
27098 * examples/controller/.cvsignore:
27099 * examples/controller/Makefile.am:
27100 * examples/controller/audio-example.c: (main):
27101 * libs/gst/Makefile.am:
27102 * libs/gst/controller/.cvsignore:
27103 * libs/gst/controller/Makefile.am:
27104 * libs/gst/controller/gst-controller.c:
27105 (on_object_controlled_property_changed), (gst_timed_value_compare),
27106 (gst_timed_value_find),
27107 (gst_controlled_property_set_interpolation_mode),
27108 (gst_controlled_property_new), (gst_controlled_property_free),
27109 (gst_controller_find_controlled_property),
27110 (gst_controller_new_valist), (gst_controller_new),
27111 (gst_controller_remove_properties_valist),
27112 (gst_controller_remove_properties), (gst_controller_set),
27113 (gst_controller_set_from_list), (gst_controller_unset),
27114 (gst_controller_get), (gst_controller_get_all),
27115 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27116 (gst_controller_get_value_array),
27117 (gst_controller_set_interpolation_mode),
27118 (_gst_controller_finalize), (_gst_controller_init),
27119 (_gst_controller_class_init), (gst_controller_get_type):
27120 * libs/gst/controller/gst-controller.h:
27121 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27122 (g_object_uncontrol_properties), (g_object_get_controller),
27123 (g_object_set_controller), (g_object_sink_values),
27124 (g_object_get_value_arrays), (g_object_get_value_array):
27125 * libs/gst/controller/gst-interpolation.c:
27126 (gst_controlled_property_find_timed_value_node),
27127 (interpolate_none_get), (interpolate_trigger_get),
27128 (interpolate_trigger_get_value_array):
27129 * libs/gst/controller/lib.c: (gst_controller_init):
27130 * pkgconfig/Makefile.am:
27131 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27132 * pkgconfig/gstreamer-control.pc.in:
27133 * testsuite/Makefile.am:
27134 * testsuite/controller/.cvsignore:
27135 * testsuite/controller/Makefile.am:
27136 * testsuite/controller/interpolator.c: (main):
27137 added controller code
27138 removed dparam pc files
27140 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27141 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27142 (gst_collectpads_stop):
27143 Broadcast the condition when shutting down, to make sure we wake all
27144 threads up. Shut down pads on finalize, for safety.
27146 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27147 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27148 (gst_base_transform_handle_buffer),
27149 (gst_base_transform_change_state):
27150 Handle PAUSED->READY->PAUSED transition after negotiation
27152 * gst/gstmessage.c: (gst_message_init):
27153 Extra piece of debug for new messages.
27155 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27158 * docs/gst/tmpl/gstbasesrc.sgml:
27159 * docs/gst/tmpl/gstelement.sgml:
27160 * docs/gst/tmpl/gstevent.sgml:
27161 * docs/gst/tmpl/gstfakesrc.sgml:
27162 * docs/gst/tmpl/gstformat.sgml:
27163 * docs/gst/tmpl/gstghostpad.sgml:
27164 * docs/gst/tmpl/gstpad.sgml:
27165 * docs/gst/tmpl/gstquery.sgml:
27166 * docs/gst/tmpl/gststructure.sgml:
27167 * docs/gst/tmpl/gsttaglist.sgml:
27168 * docs/gst/tmpl/gstvalue.sgml:
27169 * docs/libs/gstreamer-libs-docs.sgml:
27170 * docs/libs/gstreamer-libs-sections.txt:
27171 * docs/libs/gstreamer-libs.types:
27172 * libs/gst/Makefile.am:
27173 * libs/gst/control/.cvsignore:
27174 * libs/gst/control/Makefile.am:
27175 * libs/gst/control/control.c:
27176 * libs/gst/control/control.h:
27177 * libs/gst/control/dparam.c:
27178 * libs/gst/control/dparam.h:
27179 * libs/gst/control/dparam_smooth.c:
27180 * libs/gst/control/dparam_smooth.h:
27181 * libs/gst/control/dparamcommon.h:
27182 * libs/gst/control/dparammanager.c:
27183 * libs/gst/control/dparammanager.h:
27184 * libs/gst/control/dplinearinterp.c:
27185 * libs/gst/control/dplinearinterp.h:
27186 * libs/gst/control/unitconvert.c:
27187 * libs/gst/control/unitconvert.h:
27188 * testsuite/Makefile.am:
27189 * testsuite/dynparams/.cvsignore:
27190 * testsuite/dynparams/Makefile.am:
27191 * testsuite/dynparams/dparamstest.c:
27192 * tools/Makefile.am:
27193 * tools/gst-inspect.c: (print_element_info), (main):
27194 * tools/gst-xmlinspect.c: (print_element_info), (main):
27195 deactivate and remove dparams (libgstcontrol)
27197 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27199 * gst/elements/gsttypefindelement.c:
27200 (gst_type_find_element_have_type), (gst_type_find_element_init),
27201 (stop_typefinding), (gst_type_find_element_handle_event),
27202 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27203 * gst/elements/gsttypefindelement.h:
27204 Set caps on all outgoing buffers, not just the first one.
27206 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27208 * gst/elements/gsttypefindelement.c:
27209 (gst_type_find_element_have_type),
27210 (gst_type_find_element_check_set_buffer_caps),
27211 (gst_type_find_element_init), (stop_typefinding),
27212 (gst_type_find_element_handle_event),
27213 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27214 * gst/elements/gsttypefindelement.h:
27215 Set caps on first outgoing buffer when we've found the type.
27217 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27219 * docs/gst/gstreamer-docs.sgml:
27220 * docs/gst/gstreamer-sections.txt:
27221 * docs/gst/tmpl/gstscheduler.sgml:
27222 * docs/gst/tmpl/gstschedulerfactory.sgml:
27223 Remove some old cruft from docs.
27225 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27228 Fix inline docs for GstPadLinkReturn.
27230 * gst/gststructure.c: (gst_structure_has_name):
27231 * gst/gststructure.h:
27232 * docs/gst/gstreamer-sections.txt:
27233 New API: gst_structure_has_name().
27235 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27238 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27239 and _LARGEFILE_SOURCE in config.h as required. Do not
27240 export those flags in our .pc files any longer (#142209).
27242 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27244 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27245 (gst_file_sink_do_seek), (gst_file_sink_event),
27246 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27247 Redo seek/tell calls with large file support in mind; add some
27248 debugging messages; add log message that tells us when large
27249 file support is unavailable or not enabled for some reason.
27251 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27252 Add log message that tells us when large file support
27253 is unavailable or not enabled for some reason.
27255 2005-07-29 Wim Taymans <wim@fluendo.com>
27257 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27258 Added test for removing an element with ghostpad from a bin.
27259 Fixed test as current implementation does the right thing.
27261 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27262 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27263 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27264 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27265 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27266 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27267 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27268 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27269 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27270 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27271 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27272 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27273 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27274 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27275 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27276 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27277 * gst/gstghostpad.h:
27278 Clean up ghostpads, remove properties for internal stuff.
27281 Prepare for switching targets, not all use cases work yet.
27283 2005-07-29 Wim Taymans <wim@fluendo.com>
27285 * docs/design/part-gstghostpad.txt:
27288 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27289 (gst_bin_remove_func):
27290 Unlinking pads while holding the bin LOCK is not a good
27293 * gst/gstpad.c: (gst_pad_class_init),
27294 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27295 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27296 No prob setting template after creating the pad.
27298 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27300 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27301 (gst_bus_peek), (gst_bus_source_dispatch),
27302 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27303 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27304 gst_bus_poll may be called from other threads. Handle
27305 this nicely by not making poll_data disappear off the
27306 stack once gst_bus_poll returns.
27307 gst_bus_peek now increments the refcount on the returned
27310 2005-07-29 Wim Taymans <wim@fluendo.com>
27312 * docs/design/part-gstghostpad.txt:
27313 Overview of current GhostPad datastructures and use
27314 cases for changing the target.
27316 2005-07-28 Wim Taymans <wim@fluendo.com>
27318 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27319 Added checks for hierarchy consistency whan adding linked
27322 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27323 Added check to test element scheduling without bin/pipeline.
27325 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27326 First add elements to bin, then link.
27328 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27329 (gst_bin_remove_func):
27330 Unlink pads from elements added/removed from bin to maintain
27331 hierarchy consistency.
27333 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27335 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27336 (gst_base_transform_handle_buffer):
27337 * gst/base/gstbasetransform.h:
27338 Remove broken delay_configure (fixes renegotiation of software
27339 scaling pipelines); remove some leftover printf()s.
27341 2005-07-28 Wim Taymans <wim@fluendo.com>
27343 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27344 Added some more tests for wrong hierarchy
27346 * docs/design/part-overview.txt:
27349 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27352 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27353 (gst_element_dispose):
27354 Some more cleanups.
27356 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27357 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27358 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27359 (gst_pad_set_caps), (gst_pad_send_event):
27360 Check for correct hierarchy when linking pads. Moving to
27361 strict requirement for ghostpads when linking elements in
27365 Clean ups. Added WRONG_HIERARCHY return value.
27367 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27369 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27370 Better debug if no transform is possible.
27372 2005-07-27 Wim Taymans <wim@fluendo.com>
27374 * docs/random/wtay/network-transp:
27375 Some old doc I had.
27377 2005-07-27 Wim Taymans <wim@fluendo.com>
27379 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27380 (gst_dp_event_from_packet):
27381 Fix serialization of seek events.
27383 2005-07-27 Wim Taymans <wim@fluendo.com>
27385 * check/gst-libs/gdp.c: (GST_START_TEST):
27386 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27387 Fix compilation and fix event serialization.
27389 2005-07-27 Wim Taymans <wim@fluendo.com>
27392 * docs/design/part-TODO.txt:
27393 * docs/design/part-events.txt:
27396 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27397 (gst_base_sink_event), (gst_base_sink_do_sync),
27398 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27399 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27400 (gst_base_src_do_seek), (gst_base_src_event_handler),
27401 (gst_base_src_loop):
27402 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27403 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27404 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27405 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27406 (gst_base_transform_set_passthrough),
27407 (gst_base_transform_is_passthrough):
27408 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27409 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27415 * gst/gstelement.c: (gst_element_seek):
27416 * gst/gstelement.h:
27417 Update gst_element_seek.
27419 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27420 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27421 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27422 (gst_event_new_eos), (gst_event_new_newsegment),
27423 (gst_event_parse_newsegment), (gst_event_new_tag),
27424 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27425 (gst_event_parse_qos), (gst_event_new_seek),
27426 (gst_event_parse_seek), (gst_event_new_navigation):
27428 Make GstEvent use GstStructure. Add parsing code, make sure the
27429 API is sufficiently generic.
27430 Mark possible directions of events and serialization.
27432 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27433 (_gst_message_copy), (gst_message_new_segment_start),
27434 (gst_message_new_segment_done), (gst_message_new_custom),
27435 (gst_message_parse_segment_start),
27436 (gst_message_parse_segment_done):
27439 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27440 (gst_pad_set_caps), (gst_pad_send_event):
27441 Update for new events.
27442 Catch events sent in wrong directions.
27444 * gst/gstqueue.c: (gst_queue_link_src),
27445 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27446 (gst_queue_handle_src_query):
27451 Remove event code from this file.
27453 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27454 (gst_dp_event_from_packet):
27457 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27459 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27460 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27461 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27462 Make debugging actually useful.
27464 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27466 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27467 (gst_pad_fixate_caps):
27468 Implement default fixation once again, so that gst_pad_fixate()
27469 actually does anything at all. This probably needs to be some
27470 sort of a last resort, and use profile-based fixation first, but
27471 since that doesn't exist yet, this is the best we have. Fixes
27472 visualization in Totem.
27474 2005-07-22 Wim Taymans <wim@fluendo.com>
27476 * docs/design/part-events.txt:
27479 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27480 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27481 (gst_base_sink_activate_pull):
27482 Some more comments.
27484 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27485 (gst_fake_src_create):
27486 Fix handoff marshall.
27488 * gst/elements/gstidentity.c: (gst_identity_class_init),
27489 (gst_identity_transform_ip):
27490 We're a real inplace element.
27492 * gst/gstbus.c: (gst_bus_post):
27493 Added some comments.
27495 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27496 * tests/muxing/case1.c: (main):
27497 * tests/sched/dynamic-pipeline.c: (main):
27498 * tests/sched/interrupt1.c: (main):
27499 * tests/sched/interrupt2.c: (main):
27500 * tests/sched/interrupt3.c: (main):
27501 * tests/sched/runxml.c: (main):
27502 * tests/sched/sched-stress.c: (main):
27503 * tests/seeking/seeking1.c: (event_received), (main):
27504 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27506 * tests/threadstate/threadstate3.c: (main):
27507 * tests/threadstate/threadstate4.c: (main):
27508 * tests/threadstate/threadstate5.c: (main):
27511 2005-07-21 Wim Taymans <wim@fluendo.com>
27513 * docs/design/part-seeking.txt:
27514 Some small additions.
27516 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27517 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27518 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27519 * gst/base/gstbasesink.h:
27520 discont values are gint64, handle the math correctly.
27522 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27523 Make the basesrc report error if the source pad is not linked.
27525 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27526 (gst_queue_loop), (gst_queue_handle_src_query),
27527 (gst_queue_src_activate_push):
27528 Make queue collect data even if the srcpad is not linked.
27529 Start pushing out data as soon as it is linked.
27531 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27533 Added gst_flow_get_name() to ease error reporting.
27535 2005-07-20 Wim Taymans <wim@fluendo.com>
27537 * gst/gstmessage.c: (gst_message_new_segment_start),
27538 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27539 (gst_message_parse_segment_done):
27540 * gst/gstmessage.h:
27541 Added a bunch of messages for advanced seeking.
27543 * gst/parse/grammar.y:
27544 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27545 (gst_dpman_state_changed):
27546 Fix some new-pad -> pad-added signals
27548 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27550 * docs/manual/appendix-porting.xml:
27551 * docs/pwg/appendix-porting.xml:
27552 Document new-pad/state-change signal renames and the FixedList
27555 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27557 * docs/manual/advanced-autoplugging.xml:
27558 * docs/manual/basics-helloworld.xml:
27559 * docs/manual/basics-pads.xml:
27560 * docs/random/ds/0.9-suggested-changes:
27561 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27562 * gst/gstelement.h:
27566 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27567 (gst_structure_parse_array), (gst_structure_parse_value):
27568 * gst/gstvalue.c: (gst_type_is_fixed),
27569 (gst_value_list_prepend_value), (gst_value_list_append_value),
27570 (gst_value_list_get_size), (gst_value_list_get_value),
27571 (gst_value_transform_array_string), (gst_value_serialize_array),
27572 (gst_value_deserialize_array), (gst_value_intersect_array),
27573 (gst_value_is_fixed), (_gst_value_initialize):
27575 GstElement::new-pad -> pad-added, GstElement::state-change ->
27576 state-changed, GstValueFixedList -> GstValueArray, add format and
27577 flags as their own arguments in gst_element_seek() (should improve
27578 "bindeability"), remove function generators since they don't work
27579 under a whole bunch of compilers (they were deprecated already
27582 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27584 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27585 (_gst_debug_register_funcptr):
27587 Fix illegal cast on some platforms (#309253).
27589 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27591 * gst/gstmessage.c: (gst_message_new_custom):
27592 * gst/gstmessage.h:
27593 Add _new_custom, make _new_application a macro to _new_custom.
27595 2005-07-20 Wim Taymans <wim@fluendo.com>
27597 * gst/base/gstbasesrc.c: (gst_base_src_init),
27598 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27599 * gst/base/gstbasesrc.h:
27600 Add a gboolean to decide when to push out a discont.
27602 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27603 (gst_queue_loop), (gst_queue_handle_src_query),
27604 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27605 (gst_queue_set_property), (gst_queue_get_property):
27608 * tests/threadstate/threadstate1.c: (main):
27609 Make a thread test compile and run... very silly..
27612 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27614 * docs/manual/appendix-porting.xml:
27615 Mention removal of libgstgconf-0.9.la and existence of gconf
27618 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27620 * docs/pwg/advanced-clock.xml:
27621 * docs/pwg/appendix-porting.xml:
27622 * docs/pwg/intro-preface.xml:
27623 * docs/pwg/other-base.xml:
27624 * docs/pwg/other-manager.xml:
27625 * docs/pwg/other-nton.xml:
27626 * docs/pwg/other-ntoone.xml:
27627 * docs/pwg/other-oneton.xml:
27628 * docs/pwg/pwg.xml:
27629 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27630 demuxer), remove n-to-n (was never written), fix some code examples
27631 and links and update the porting section to include all this.
27633 2005-07-19 Wim Taymans <wim@fluendo.com>
27635 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27636 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27637 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27638 (gst_queue_src_activate_push), (gst_queue_change_state),
27639 (gst_queue_get_property):
27641 Propagate GstFlowReturn more intelligently upstream and output
27642 an ERROR/EOS when streaming stopped due to fatal error.
27644 2005-07-19 Wim Taymans <wim@fluendo.com>
27646 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27647 Don't block forever for the state change to complete, the
27648 pipeline already did with a sensible timeout.
27650 2005-07-19 Wim Taymans <wim@fluendo.com>
27652 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27653 Make sure we never call the create function is we
27656 2005-07-19 Andy Wingo <wingo@pobox.com>
27658 * gst/parse/parse.l: Attempt to solve bug #172815.
27660 2005-07-19 Wim Taymans <wim@fluendo.com>
27662 * docs/design/part-clocks.txt:
27663 * docs/design/part-events.txt:
27664 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27665 Small docs updates.
27666 Only update the seeking values when we are not
27669 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27671 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27672 Oops, ignore the result of gst_pad_push_event here.
27674 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27676 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27677 (gst_base_src_activate_push):
27678 Send discont event from the loop function, as pads
27679 aren't activated yet in the activate_push handler.
27681 * gst/gstbin.c: (bin_bus_handler):
27682 Don't leak element name.
27684 2005-07-18 Andy Wingo <wingo@pobox.com>
27686 * configure.ac: Use AS_LIBTOOL_TAGS.
27688 2005-07-18 Wim Taymans <wim@fluendo.com>
27690 * docs/gst/gstreamer.types:
27691 Remove deleted types.
27693 2005-07-18 Wim Taymans <wim@fluendo.com>
27695 * check/elements/gstfakesrc.c: (GST_START_TEST):
27698 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27699 (init_popt_callback):
27701 * gst/gst_private.h:
27702 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27703 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27706 * gst/gstconfig.h.in:
27707 * gst/gstelement.c: (gst_element_class_init),
27708 (gst_element_set_base_time), (gst_element_get_base_time),
27709 (iterator_fold_with_resync), (gst_element_change_state),
27710 (gst_element_dispose), (gst_element_get_bus):
27711 * gst/gstelement.h:
27712 * gst/gstelementfactory.h:
27713 * gst/gsterror.c: (_gst_core_errors_init):
27716 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27718 * gst/gstinfo.c: (_gst_debug_init):
27719 * gst/gstmessage.c: (_gst_message_copy):
27720 * gst/gstmessage.h:
27721 * gst/gstminiobject.h:
27724 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27725 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27728 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27729 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27730 (gst_pipeline_get_last_stream_time):
27731 * gst/gstpipeline.h:
27732 * gst/gstpluginfeature.h:
27734 * gst/gstscheduler.c:
27735 * gst/gstscheduler.h:
27736 * gst/gststructure.h:
27737 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27738 (gst_task_finalize), (gst_task_func), (gst_task_create),
27739 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27740 (gst_task_stop), (gst_task_pause):
27742 * gst/gsttypefind.h:
27744 * gst/registries/gstlibxmlregistry.c: (load_feature),
27745 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27746 * gst/registries/gstxmlregistry.c:
27747 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27748 * gst/schedulers/threadscheduler.c:
27749 * libs/gst/control/dparammanager.h:
27750 * tools/gst-inspect.c: (print_element_list),
27751 (print_plugin_features), (print_element_features):
27752 * tools/gst-xmlinspect.c: (print_element_list),
27753 (print_plugin_info), (main):
27754 Removed plugable schedulers.
27755 Removed Scheduler/Manager from elements.
27756 Removed gsttypes.h, rearranged includes.
27757 Removed dependency pad<->element, element<>pipeline, and
27758 various others, fix includes.
27759 implement gst_pad_get_parent() with gst_object_get_parent()
27760 Make GstTask sefcontained.
27761 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27763 Fix endless loop in iterator_fold_with_resync.
27766 2005-07-18 Wim Taymans <wim@fluendo.com>
27772 2005-07-18 Wim Taymans <wim@fluendo.com>
27775 No more cothreads.h
27777 2005-07-18 Wim Taymans <wim@fluendo.com>
27781 Let's remove these.
27783 2005-07-18 Wim Taymans <wim@fluendo.com>
27785 * docs/design/part-dynamic.txt:
27786 * docs/design/part-events.txt:
27787 * docs/design/part-seeking.txt:
27788 Some more docs in the works.
27790 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27791 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27792 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27793 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27794 (gst_base_transform_handle_buffer),
27795 (gst_base_transform_sink_activate_push),
27796 (gst_base_transform_src_activate_pull),
27797 (gst_base_transform_set_passthrough),
27798 (gst_base_transform_is_passthrough):
27801 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27804 * gst/gstevent.c: (gst_event_finalize):
27807 * gst/gstutils.c: (gst_element_unlink),
27808 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27809 (gst_pad_proxy_setcaps):
27811 Add _get_parent_element() to get a pads parent as an element.
27813 2005-07-18 Wim Taymans <wim@fluendo.com>
27815 * check/gst/gstbin.c: (GST_START_TEST):
27818 2005-07-18 Wim Taymans <wim@fluendo.com>
27820 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27821 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27822 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27823 (gst_base_sink_event), (gst_base_sink_do_sync),
27824 (gst_base_sink_chain), (gst_base_sink_loop),
27825 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27826 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27828 Fix logic for returning ASYNC when not prerolled.
27830 2005-07-18 Wim Taymans <wim@fluendo.com>
27832 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27833 Fix nasty refcount bug.
27835 2005-07-16 Philippe Khalaf <burger@speedy.org>
27837 * gst/elements/gstfdsrc.c:
27838 * gst/elements/gstfdsrc.h:
27839 * gst/elements/gstelements.c:
27840 * gst/elements/Makefile.am:
27841 Ported fdsrc to 0.9.
27843 2005-07-16 Wim Taymans <wim@fluendo.com>
27845 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27846 (gst_base_sink_do_sync):
27849 2005-07-16 Wim Taymans <wim@fluendo.com>
27851 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27852 (gst_base_sink_event), (gst_base_sink_get_times),
27853 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27854 * gst/base/gstbasesink.h:
27855 Store and use discont values when syncing buffers as described
27858 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27859 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27860 (gst_base_src_activate_push):
27861 Push discont event when starting.
27863 * gst/elements/gstidentity.c: (gst_identity_transform):
27866 * gst/gstbin.c: (gst_bin_change_state):
27867 Small cleanups in base_time distribution.
27869 * gst/gstelement.c: (gst_element_set_base_time),
27870 (gst_element_get_base_time), (gst_element_change_state):
27871 * gst/gstelement.h:
27872 Added methods for the base_time of the element.
27875 * gst/gstpipeline.c: (gst_pipeline_send_event),
27876 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27877 (gst_pipeline_get_last_stream_time):
27878 * gst/gstpipeline.h:
27880 Handle seeking as described in design doc, remove stream_time
27882 Cleanups clock and stream_time selection code. Added accessors
27883 for the stream_time.
27886 2005-07-16 Andy Wingo <wingo@pobox.com>
27888 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27891 2005-07-16 Wim Taymans <wim@fluendo.com>
27893 * check/gst/gstbin.c: (GST_START_TEST):
27894 Make elements silent as the deep_notify refs the
27895 parent, which might make the test fail.
27897 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27898 Don't hold the lock for too long.
27900 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27902 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27903 Don't unref the caps we passed to gst_caps_make_writable() after
27904 passing them. gst_caps_make_writable() will do that for us.
27906 2005-07-15 Andy Wingo <wingo@pobox.com>
27908 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27911 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27912 own marshalling function for the handoff signal. Properly type the
27913 buffer as a buffer. Fixes some warnings. Should do a more general
27915 (gst_identity_class_init): Plug into the right marshaller.
27917 2005-07-15 Wim Taymans <wim@fluendo.com>
27919 * docs/design/part-TODO.txt:
27920 * docs/design/part-clocks.txt:
27921 * docs/design/part-element-sink.txt:
27922 * docs/design/part-events.txt:
27923 * docs/design/part-gstpipeline.txt:
27924 Updated docs, mostly DISCONT related.
27926 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27928 * docs/pwg/building-pads.xml:
27929 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27931 2005-07-15 Andy Wingo <wingo@pobox.com>
27933 * tools/gst-typefind.c: Update, add copyright block.
27935 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27936 Normalize and truncate caps before fixation.
27939 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27940 discards all but the first structure from its argument.
27942 2005-07-15 Wim Taymans <wim@fluendo.com>
27944 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27945 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27946 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27947 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27948 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27949 (gst_base_transform_chain), (gst_base_transform_change_state),
27950 (gst_base_transform_set_passthrough),
27951 (gst_base_transform_is_passthrough):
27952 * gst/base/gstbasetransform.h:
27953 Make passthrough work using the bufferpools.
27954 Changed API a bit, subclasses have to write into a buffer
27955 provided by the base class.
27956 More debug info in nego functions.
27958 * gst/elements/gstidentity.c: (gst_identity_init),
27959 (gst_identity_transform):
27960 Port to new base class.
27962 2005-07-15 Wim Taymans <wim@fluendo.com>
27964 * gst/gstmessage.c: (gst_message_new_state_changed):
27965 * tools/gst-launch.c: (event_loop), (main):
27966 Totally dump messages in -launch with the -m option.
27967 Fix message name for State messages,
27969 2005-07-14 Wim Taymans <wim@fluendo.com>
27971 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27972 Post error messages on errors.
27974 2005-07-14 Wim Taymans <wim@fluendo.com>
27976 * gst/gstcaps.c: (gst_caps_do_simplify):
27980 Define error for stream stopped.
27982 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27983 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27984 Do proper return values.
27986 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27987 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27988 (gst_pad_get_range):
27989 Better return values.
27992 Reorganise return values, add macro to check for fatal errors.
27994 * gst/gstqueue.c: (gst_queue_chain):
27995 Return proper GstFlowReturn values,
27997 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
27999 * docs/gst/gstreamer-sections.txt:
28000 * docs/gst/gstreamer.types:
28001 * docs/gst/tmpl/gst.sgml:
28002 * docs/gst/tmpl/gstbasesink.sgml:
28003 * docs/gst/tmpl/gstbasesrc.sgml:
28004 * docs/gst/tmpl/gstbasetransform.sgml:
28005 * docs/gst/tmpl/gstbin.sgml:
28006 * docs/gst/tmpl/gstbuffer.sgml:
28007 * docs/gst/tmpl/gstcaps.sgml:
28008 * docs/gst/tmpl/gstclock.sgml:
28009 * docs/gst/tmpl/gstcompat.sgml:
28010 * docs/gst/tmpl/gstconfig.sgml:
28011 * docs/gst/tmpl/gstelement.sgml:
28012 * docs/gst/tmpl/gstelementdetails.sgml:
28013 * docs/gst/tmpl/gstelementfactory.sgml:
28014 * docs/gst/tmpl/gstenumtypes.sgml:
28015 * docs/gst/tmpl/gsterror.sgml:
28016 * docs/gst/tmpl/gstevent.sgml:
28017 * docs/gst/tmpl/gstfakesink.sgml:
28018 * docs/gst/tmpl/gstfakesrc.sgml:
28019 * docs/gst/tmpl/gstfilesink.sgml:
28020 * docs/gst/tmpl/gstfilesrc.sgml:
28021 * docs/gst/tmpl/gstfilter.sgml:
28022 * docs/gst/tmpl/gstformat.sgml:
28023 * docs/gst/tmpl/gstghostpad.sgml:
28024 * docs/gst/tmpl/gstimplementsinterface.sgml:
28025 * docs/gst/tmpl/gstindex.sgml:
28026 * docs/gst/tmpl/gstindexfactory.sgml:
28027 * docs/gst/tmpl/gstinfo.sgml:
28028 * docs/gst/tmpl/gstiterator.sgml:
28029 * docs/gst/tmpl/gstmacros.sgml:
28030 * docs/gst/tmpl/gstmemchunk.sgml:
28031 * docs/gst/tmpl/gstminiobject.sgml:
28032 * docs/gst/tmpl/gstobject.sgml:
28033 * docs/gst/tmpl/gstpad.sgml:
28034 * docs/gst/tmpl/gstpadtemplate.sgml:
28035 * docs/gst/tmpl/gstparse.sgml:
28036 * docs/gst/tmpl/gstpipeline.sgml:
28037 * docs/gst/tmpl/gstplugin.sgml:
28038 * docs/gst/tmpl/gstpluginfeature.sgml:
28039 * docs/gst/tmpl/gstquery.sgml:
28040 * docs/gst/tmpl/gstqueue.sgml:
28041 * docs/gst/tmpl/gstregistry.sgml:
28042 * docs/gst/tmpl/gstregistrypool.sgml:
28043 * docs/gst/tmpl/gstscheduler.sgml:
28044 * docs/gst/tmpl/gstschedulerfactory.sgml:
28045 * docs/gst/tmpl/gststructure.sgml:
28046 * docs/gst/tmpl/gstsystemclock.sgml:
28047 * docs/gst/tmpl/gsttaglist.sgml:
28048 * docs/gst/tmpl/gsttagsetter.sgml:
28049 * docs/gst/tmpl/gsttrace.sgml:
28050 * docs/gst/tmpl/gsttrashstack.sgml:
28051 * docs/gst/tmpl/gsttypefind.sgml:
28052 * docs/gst/tmpl/gsttypefindfactory.sgml:
28053 * docs/gst/tmpl/gsttypes.sgml:
28054 * docs/gst/tmpl/gsturihandler.sgml:
28055 * docs/gst/tmpl/gsturitype.sgml:
28056 * docs/gst/tmpl/gstutils.sgml:
28057 * docs/gst/tmpl/gstvalue.sgml:
28058 * docs/gst/tmpl/gstversion.sgml:
28059 * docs/gst/tmpl/gstxml.sgml:
28060 * docs/libs/tmpl/gstcontrol.sgml:
28061 * docs/libs/tmpl/gstdataprotocol.sgml:
28062 * docs/libs/tmpl/gstdparam.sgml:
28063 * docs/libs/tmpl/gstdplinint.sgml:
28064 * docs/libs/tmpl/gstdpman.sgml:
28065 * docs/libs/tmpl/gstdpsmooth.sgml:
28066 * docs/libs/tmpl/gstgetbits.sgml:
28067 * docs/libs/tmpl/gstunitconvert.sgml:
28068 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28069 (gst_push_src_base_init), (gst_push_src_class_init),
28070 (gst_push_src_init), (gst_push_src_create):
28071 * gst/base/gstpushsrc.h:
28072 * gst/elements/gstelements.c:
28073 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28074 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28075 (gst_fake_sink_init), (gst_fake_sink_set_property),
28076 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28077 (gst_fake_sink_event), (gst_fake_sink_preroll),
28078 (gst_fake_sink_render), (gst_fake_sink_change_state):
28079 * gst/elements/gstfakesink.h:
28080 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28081 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28082 (gst_fake_src_base_init), (gst_fake_src_class_init),
28083 (gst_fake_src_init), (gst_fake_src_event_handler),
28084 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28085 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28086 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28087 (gst_fake_src_create_buffer), (gst_fake_src_create),
28088 (gst_fake_src_start), (gst_fake_src_stop):
28089 * gst/elements/gstfakesrc.h:
28090 * gst/elements/gstfilesink.c: (_do_init),
28091 (gst_file_sink_base_init), (gst_file_sink_class_init),
28092 (gst_file_sink_init), (gst_file_sink_dispose),
28093 (gst_file_sink_set_location), (gst_file_sink_set_property),
28094 (gst_file_sink_get_property), (gst_file_sink_open_file),
28095 (gst_file_sink_close_file), (gst_file_sink_query),
28096 (gst_file_sink_event), (gst_file_sink_render),
28097 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28098 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28099 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28100 * gst/elements/gstfilesink.h:
28101 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28102 (gst_file_src_class_init), (gst_file_src_init),
28103 (gst_file_src_finalize), (gst_file_src_set_location),
28104 (gst_file_src_set_property), (gst_file_src_get_property),
28105 (gst_file_src_map_region), (gst_file_src_map_small_region),
28106 (gst_file_src_create_mmap), (gst_file_src_create_read),
28107 (gst_file_src_create), (gst_file_src_is_seekable),
28108 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28109 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28110 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28111 (gst_file_src_uri_handler_init):
28112 * gst/elements/gstfilesrc.h:
28113 more autistic cleanliness in functions/names/defines
28115 2005-07-13 Andy Wingo <wingo@pobox.com>
28117 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28118 source couldn't negotiate.
28120 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28124 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28125 function. I am channeling Hades. Put your boots on suckers!!!
28127 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28129 * testsuite/caps/Makefile.am:
28130 * testsuite/caps/value_compare.c:
28131 * testsuite/caps/value_intersect.c:
28132 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28133 move two testsuite apps over to the check dir
28135 2005-07-12 Wim Taymans <wim@fluendo.com>
28137 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28138 Added more debug info in the negotiate process.
28140 * gst/gstmessage.h:
28141 Prepare for segment playback.
28143 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28149 * tools/gst-launch.c: (main):
28150 NULL pipeline on errors.
28152 2005-07-12 Andy Wingo <wingo@pobox.com>
28154 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28155 not it comes from a malloc region. Make sure our copy gets freed.
28157 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28159 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28160 * check/gst/gstmessage.c: (GST_START_TEST):
28161 * check/gst/gststructure.c: (GST_START_TEST),
28162 (gst_structure_suite), (main):
28164 * gst/gstelement.c: (gst_element_message_full):
28165 clean up GError and debug string now that they get copied
28166 * gst/gstmessage.c: (gst_message_new_error),
28167 (gst_message_new_warning), (gst_message_parse_error),
28168 (gst_message_parse_warning):
28169 use GST_TYPE_G_ERROR for structure_new, and take copies of
28170 arguments, so that we don't mess up refcounting
28172 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28174 * check/Makefile.am:
28175 add per-test valgrind targets
28176 * check/gst-libs/gdp.c: (GST_START_TEST),
28177 (gst_data_protocol_suite), (main):
28180 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28182 * check/Makefile.am:
28183 instate more valgrindable tests
28184 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28185 (GST_START_TEST), (fakesrc_suite):
28186 * check/gst/gstpad.c: (GST_START_TEST):
28187 * check/gst/gststructure.c: (GST_START_TEST):
28189 * docs/gst/tmpl/gstminiobject.sgml:
28190 * gst/gstpad.c: (gst_pad_finalize):
28191 fix the static mutex leak
28193 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28195 * check/Makefile.am:
28196 add two more tests for valgrinding
28197 * check/gst/gstvalue.c: (GST_START_TEST):
28198 test refcount of deserialized buffer, found a leak
28199 * docs/gst/gstreamer-docs.sgml:
28200 * docs/gst/gstreamer-sections.txt:
28201 * docs/gst/gstreamer.types:
28202 * docs/gst/tmpl/gstminiobject.sgml:
28203 add miniobject to docs
28204 * gst/gstminiobject.c:
28206 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28207 (gst_string_unwrap):
28208 fix a hard-to-find invalid write for one of the tests
28209 fix a leak for deserialized buffers
28211 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28213 * docs/pwg/advanced-events.xml:
28214 * docs/pwg/advanced-request.xml:
28215 * docs/pwg/advanced-scheduling.xml:
28216 * docs/pwg/appendix-porting.xml:
28217 * docs/pwg/building-boiler.xml:
28218 * docs/pwg/intro-preface.xml:
28219 * docs/pwg/other-ntoone.xml:
28220 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28221 of example code and explanation for pad activation, loop() and
28222 getrange() functions and a bit more. Remove old comments pointing
28224 * examples/pwg/Makefile.am:
28225 Add loop/getrange examples.
28227 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28230 check for valgrind binary + some fixes
28232 valgrind suppressions for the tests
28233 * check/Makefile.am:
28234 add a valgrind: target that valgrinds the unit tests
28235 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28236 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28237 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28238 * check/gst/gstghostpad.c:
28240 * check/gst/gstdata.c:
28242 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28243 (thread_unref), (gst_mini_object_suite), (main):
28245 * gst/gst.c: (gst_deinit):
28247 add a method to clean up.
28248 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28249 (gst_system_clock_obtain):
28250 allow for disposing the system clock.
28251 * tools/gst-launch.c: (main):
28254 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28256 * docs/gst/tmpl/gstbasesrc.sgml:
28257 * docs/gst/tmpl/gstfakesrc.sgml:
28258 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28259 (gst_base_src_init), (gst_base_src_set_property),
28260 (gst_base_src_get_property), (gst_base_src_get_range),
28261 (gst_base_src_start):
28262 * gst/base/gstbasesrc.h:
28263 add num-buffers property
28264 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28265 (gst_fakesrc_init), (gst_fakesrc_set_property),
28266 (gst_fakesrc_get_property), (gst_fakesrc_create),
28267 (gst_fakesrc_start):
28268 remove num-buffers property
28270 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28272 * docs/gst/gstreamer-sections.txt:
28273 * docs/gst/tmpl/gstbasesink.sgml:
28274 * docs/gst/tmpl/gstbasesrc.sgml:
28275 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28276 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28277 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28278 (gst_base_sink_set_property), (gst_base_sink_get_property),
28279 (gst_base_sink_handle_object), (gst_base_sink_event),
28280 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28281 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28282 (gst_base_sink_loop), (gst_base_sink_deactivate),
28283 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28284 (gst_base_sink_change_state):
28285 * gst/base/gstbasesink.h:
28286 * gst/base/gstbasesrc.h:
28287 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28288 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28289 (gst_filesink_init):
28290 more macro splitting
28292 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28294 * gst/gstelement.c: (gst_element_get_bus):
28296 * tools/gst-launch.c: (check_intr), (event_loop):
28299 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28301 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28304 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28306 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28307 (gst_base_src_finalize):
28308 add finalize method and clean up properly
28309 * gst/gstpipeline.c: (gst_pipeline_dispose):
28312 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28314 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28316 add more things to check
28317 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28318 * gst/gstelement.c:
28321 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28323 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28324 (GST_START_TEST), (fakesrc_suite):
28325 * check/gst-libs/gdp.c: (GST_START_TEST):
28326 * check/gst/gst.c: (GST_START_TEST):
28327 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28328 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28329 * check/gst/gstbus.c: (GST_START_TEST):
28330 * check/gst/gstcaps.c: (GST_START_TEST):
28331 * check/gst/gstdata.c: (GST_START_TEST):
28332 * check/gst/gstelement.c: (GST_START_TEST):
28333 * check/gst/gstghostpad.c: (GST_START_TEST):
28334 * check/gst/gstiterator.c: (GST_START_TEST):
28335 * check/gst/gstmessage.c: (GST_START_TEST):
28336 * check/gst/gstobject.c: (GST_START_TEST):
28337 * check/gst/gstpad.c: (GST_START_TEST):
28338 * check/gst/gststructure.c: (GST_START_TEST):
28339 * check/gst/gstsystemclock.c: (GST_START_TEST),
28340 (gst_systemclock_suite):
28341 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28342 * check/gst/gstvalue.c: (GST_START_TEST):
28343 * check/pipelines/cleanup.c: (GST_START_TEST):
28344 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28345 * check/states/sinks.c: (GST_START_TEST):
28346 * check/gstcheck.c: (gst_check_init):
28347 * check/gstcheck.h:
28348 add debugging category
28349 use GST_START_TEST now, so we add a debug line
28351 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28353 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28354 add test for state change message on a bin
28355 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28357 * gst/gstbin.c: (gst_bin_init):
28358 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28359 * gst/gstelement.c: (gst_element_post_message),
28360 (gst_element_set_state):
28361 * gst/gstelementfactory.c: (gst_element_factory_create):
28362 * gst/gstmessage.c: (gst_message_new):
28363 * gst/gstscheduler.c:
28364 various debugging additions and cleanups
28366 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28368 * check/Makefile.am:
28369 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28371 adding tests for elements
28372 * gst/gstelement.c: (gst_element_dispose):
28374 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28376 * gst/registries/gstlibxmlregistry.c: (load_feature):
28377 plug more leaks. A simple gst_init() now is leakfree, yay.
28379 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28381 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28382 (gst_xml_registry_load):
28383 plug another memleak
28385 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28388 use GST_SET_ERROR_CFLAGS
28389 * docs/faq/cvs.xml:
28390 change to ERROR_CFLAGS
28392 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28395 make GST_ERROR_CFLAGS overridable and re-enable Werror
28396 * docs/faq/cvs.xml:
28397 add a note about error CFLAGS
28398 * docs/gst/tmpl/gstfakesrc.sgml:
28399 * gst/elements/gstfakesrc.c:
28400 comment out some unused code
28401 * gst/gst.c: (split_and_iterate):
28402 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28406 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28408 * common/Makefile.am:
28409 * common/gtk-doc.mak:
28410 * docs/gst/Makefile.am:
28411 factor out gtk-doc.mak
28413 2005-07-07 Wim Taymans <wim@fluendo.com>
28415 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28416 (gst_thread_scheduler_dispose):
28417 Unlock the STREAM_LOCK completely.
28419 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28421 * check/Makefile.am:
28422 * check/elements/.cvsignore:
28423 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28424 (START_TEST), (fakesrc_suite), (main):
28425 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28426 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28427 (gst_fakesrc_create), (gst_fakesrc_start):
28428 * gst/elements/gstfakesrc.h:
28429 adding a first element test
28431 2005-07-07 Andy Wingo <wingo@pobox.com>
28433 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28436 2005-07-07 Wim Taymans <wim@fluendo.com>
28442 2005-07-07 Wim Taymans <wim@fluendo.com>
28444 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28445 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28446 Allow subclasses to implement their own negotiation.
28448 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28450 * docs/design/part-gstbin.txt:
28451 * docs/design/part-gstpipeline.txt:
28452 Update design notes to reflect the movement of
28453 responsibility for bus handling from GstPipeline to
28456 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28459 Remove unnecessary queue2/3/4 examples.
28461 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28463 * examples/Makefile.am:
28464 * examples/helloworld/helloworld.c: (event_loop), (main):
28465 * examples/queue/queue.c: (event_loop), (main):
28466 * examples/queue2/queue2.c: (main):
28467 Update a couple of the examples to work again.
28469 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28470 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28471 Spelling corrections and extra debug.
28473 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28474 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28475 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28477 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28478 (gst_pipeline_change_state):
28479 * gst/gstpipeline.h:
28480 Move the bus handler for children to the GstBin, and create a
28481 separate bus for receiving messages from children to the one the
28482 bus sends 'upwards' on.
28484 2005-07-06 Wim Taymans <wim@fluendo.com>
28487 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28488 (gst_base_sink_handle_object), (gst_base_sink_loop),
28489 (gst_base_sink_change_state):
28490 * gst/base/gstbasesink.h:
28491 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28492 (gst_base_src_init), (gst_base_src_setcaps),
28493 (gst_base_src_getcaps), (gst_base_src_loop),
28494 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28495 (gst_base_src_start), (gst_base_src_change_state):
28496 * gst/base/gstbasesrc.h:
28497 Make basesrc negotiate.
28498 Handle the case where preroll fails in basesink.
28501 2005-07-06 Wim Taymans <wim@fluendo.com>
28503 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28504 Implement the fixate function.
28505 Clean up acceptcaps.
28507 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28509 * docs/pwg/building-filterfactory.xml:
28510 * docs/pwg/pwg.xml:
28511 Remove never-written filter-factory chapter; I'll add the various
28512 base classes to part 4 ("other element types") later on.
28514 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28516 * docs/pwg/advanced-negotiation.xml:
28517 * docs/pwg/building-boiler.xml:
28518 * docs/pwg/building-pads.xml:
28519 * docs/pwg/pwg.xml:
28520 * examples/pwg/Makefile.am:
28521 Add a chapter on caps negotiation, simplify the original code
28522 samples a bit w.r.t. caps negotiation, add link to the advanced
28523 section. Add a bunch of examples showing different use cases of
28524 different types of caps negotiation. Upstream renegotiation isn't
28525 fully documented yet since nobody knows how that works.
28527 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28529 * check/gst/gstpad.c:
28530 * check/gstcheck.c:
28531 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28532 if pad has no parent, return NULL as list of internal links
28534 2005-07-05 Andy Wingo <wingo@pobox.com>
28536 * gst/elements/gstfilesrc.c:
28537 * gst/elements/gstfakesrc.c:
28538 * gst/base/gstpushsrc.c:
28539 * gst/base/gstbasesrc.h:
28540 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28542 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28545 better report generation target (lcov needs a patch)
28547 2005-07-05 Andy Wingo <wingo@pobox.com>
28549 * gst/elements, testsuite: Null if we got it...
28551 2005-07-05 Wim Taymans <wim@fluendo.com>
28554 * libs/gst/dataprotocol/Makefile.am:
28555 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28556 * libs/gst/dataprotocol/dataprotocol.h:
28557 * pkgconfig/Makefile.am:
28558 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28559 * pkgconfig/gstreamer-dataprotocol.pc.in:
28560 Ported dataprotol to 0.9.
28561 Added pkgconfig files.
28563 2005-07-05 Andy Wingo <wingo@pobox.com>
28565 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28566 Default to returning TRUE for the case when tranform_caps returns
28567 a fixed caps, like for identity or volume.
28569 * check/gst/gstbus.c (pound_bus_with_messages):
28570 * check/gst/gstmessage.c (START_TEST):
28571 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28572 message API change.
28574 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28575 logic weaks here: always run transform_caps, trying passthrough
28576 operation only if the original caps intersects with the transform.
28578 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28579 source and sink caps.
28581 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28582 Intersect the peer caps with the pad template before going into
28584 (gst_base_transform_transform_caps): More debugging.
28586 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28589 2005-07-04 Edward Hervey <edward@fluendo.com>
28593 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28596 2005-07-04 Andy Wingo <wingo@pobox.com>
28598 * check/gst/gstpad.c: Only set explicit caps on pads.
28600 2005-07-01 Andy Wingo <wingo@pobox.com>
28602 * tests/network-clock.scm: Commentary update.
28604 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28605 Didn't really make sense, not implementable with basetransform,
28607 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28608 attempt at implementing the sync property, needs an unlock method.
28610 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28611 New func, by default returns the same caps (the identity
28613 (gst_base_transform_getcaps): Uses transform_caps to return
28614 something sensible.
28615 (gst_base_transform_setcaps): Complicated logic to get caps on
28616 both pads, even if they are different, and to call set_caps once
28617 for every time both pads get their caps set.
28618 (gst_base_transform_handle_buffer): Give the ref to the transform
28619 function. Allows in-place modification of the buffer.
28621 * gst/base/gstbasetransform.h (transform_caps): New class method.
28622 Given caps on one side, what can I do on the other.
28623 (set_caps): Take two caps, one for each side of the element.
28626 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28627 caps in place. This is safe because we can check the mutability of
28628 the caps, and a good idea because fixate functions are just called
28629 as a matter of last resort. (Not actually implemented.)
28630 (gst_pad_set_caps): If the caps we're setting is actually the same
28631 as the existing pad caps, just update the pointer without calling
28632 setcaps. Assert that caps is either NULL or fixed, as per the
28635 * gst/gstghostpad.c: Update for fixate changes.
28637 2005-07-02 Andy Wingo <wingo@pobox.com>
28640 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28641 two refcounts makes it immutable, which is enough. Doc more.
28643 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28645 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28646 Put the mini_object into GValue as a mini_object,
28647 not a gpointer, since that's how we declared
28650 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28652 * examples/pwg/Makefile.am:
28653 Fix buildbot again.
28655 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28657 * docs/pwg/building-testapp.xml:
28659 * examples/pwg/Makefile.am:
28662 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28665 * examples/Makefile.am:
28666 * examples/pwg/Makefile.am:
28667 * examples/pwg/extract.pl:
28668 Enable building the PWG examples.
28669 * docs/pwg/advanced-interfaces.xml:
28670 Add URI interface stub.
28671 * docs/pwg/advanced-types.xml:
28672 * docs/pwg/other-autoplugger.xml:
28673 * docs/pwg/appendix-porting.xml:
28674 * docs/pwg/pwg.xml:
28675 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28676 * docs/pwg/building-boiler.xml:
28677 * docs/pwg/building-chainfn.xml:
28678 * docs/pwg/building-pads.xml:
28679 * docs/pwg/building-props.xml:
28680 * docs/pwg/building-state.xml:
28681 * docs/pwg/building-testapp.xml:
28682 Update the building-*.xml parts for 0.9 changes. All examples
28683 code blocks compile in examples/pwg/*.
28685 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28687 * docs/manual/advanced-autoplugging.xml:
28688 * docs/manual/appendix-checklist.xml:
28689 * docs/manual/appendix-integration.xml:
28690 * docs/manual/highlevel-components.xml:
28691 Fix playbin/decodebin examples, update docs a bit, mention bus
28692 instead of signals in various places, mention kmplayer and
28693 kaffeine since they have a working GStreamer backend in the KDE
28696 2005-06-30 Wim Taymans <wim@fluendo.com>
28699 * docs/design/draft-ghostpads.txt:
28700 * docs/design/draft-push-pull.txt:
28701 * docs/design/draft-query.txt:
28702 * docs/design/part-TODO.txt:
28703 * docs/design/part-query.txt:
28704 Added CHANGES-0.9 doc, updated status of other docs.
28709 2005-06-30 Wim Taymans <wim@fluendo.com>
28711 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28712 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28713 (gst_base_sink_change_state):
28714 * gst/base/gstbasesink.h:
28715 Some tweaks, only EOS and a buffer complete a preroll.
28717 2005-06-30 Andy Wingo <wingo@pobox.com>
28719 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28720 activate_push down to the internal pad as well.
28722 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28724 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28726 * gst/gsttaginterface.c:
28727 Some documentation fixes (#307394 and #307397).
28729 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28731 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28733 * gst/gstvalue.c: (gst_value_intersect_list):
28734 Fix memleak (#309125).
28736 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28738 * docs/manual/advanced-dataaccess.xml:
28739 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28740 * docs/manual/basics-pads.xml:
28741 Add reference for filtered caps to above chapter.
28743 2005-06-30 Wim Taymans <wim@fluendo.com>
28745 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28746 (gst_bin_change_state):
28748 Lame attempt at making the state change function a bit
28751 2005-06-30 Wim Taymans <wim@fluendo.com>
28753 * docs/design/part-clocks.txt:
28754 * docs/design/part-element-sink.txt:
28755 * docs/design/part-events.txt:
28756 * docs/design/part-preroll.txt:
28757 * docs/design/part-states.txt:
28758 Some more tweeks and additions to the docs.
28760 2005-06-30 Wim Taymans <wim@fluendo.com>
28762 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28763 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28764 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28765 (gst_pad_check_pull_range), (gst_pad_get_range),
28766 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28768 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28769 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28770 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28771 (gst_pad_remove_buffer_probe):
28772 Removed atomic operations, use existing LOCK.
28773 Move exception handling out of main code path.
28775 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28777 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28778 (silly_return_true_function), (gst_pad_class_init),
28779 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28780 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28781 (gst_pad_send_event):
28782 Fix accumulator, add default value by using _emitv() instead
28783 of _emit() for signal emission.
28785 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28787 * docs/manual/advanced-dataaccess.xml:
28788 * examples/manual/Makefile.am:
28790 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28793 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28795 * gst/elements/gstfilesink.c: (gst_filesink_render):
28796 Simplify code so that we don't have to handle short
28797 writes and return GST_FLOW_ERROR if an error occured.
28799 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28801 * docs/gst/gstreamer-docs.sgml:
28802 Remove probes more.
28804 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28806 * docs/gst/gstreamer-sections.txt:
28807 * docs/gst/tmpl/gstpad.sgml:
28808 * docs/gst/tmpl/gstprobe.sgml:
28810 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28811 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28812 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28813 (gst_pad_push_event), (gst_pad_send_event):
28815 * gst/gstutils.c: (gst_pad_add_data_probe),
28816 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28817 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28818 (gst_pad_remove_buffer_probe):
28820 Remove old probes, add new g-signal-based probes and some utility
28823 2005-06-29 Edward Hervey <edward@fluendo.com>
28825 * gst/gstelementfactory.c:
28828 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28829 the definition to the header file.
28831 2005-06-29 Andy Wingo <wingo@pobox.com>
28833 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28834 plugins from the source directory.
28836 2005-06-29 Wim Taymans <wim@fluendo.com>
28838 * docs/gst/tmpl/gstbuffer.sgml:
28839 * docs/gst/tmpl/gstclock.sgml:
28840 Some fixings for blantently wrong text.
28842 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28844 * check/Makefile.am:
28845 * gst/gst.c: (add_path_func), (init_pre):
28846 * gst/gstregistry.c: (gst_registry_add_path):
28847 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28848 only scan the GST_PLUGIN_PATH locations, and not add
28851 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28853 * docs/gst/gstreamer-sections.txt:
28854 * docs/gst/tmpl/gstbasesrc.sgml:
28855 * gst/gstelement.c:
28856 * gst/gstelement.h:
28861 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28863 * docs/manual/advanced-autoplugging.xml:
28864 Fix autoplugging example.
28866 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28868 * docs/manual/advanced-autoplugging.xml:
28869 * docs/manual/mime-world.fig:
28870 Try to get autoplugging working, fix type detection. Fix text
28871 in hello-world image.
28873 2005-06-29 Wim Taymans <wim@fluendo.com>
28875 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28876 (gst_base_sink_change_state):
28880 map SIGNAL and BROADCAST to the right function.
28883 Remove redundant braces.
28885 * gst/gstpad.c: (gst_pad_set_caps):
28886 Don't call setcaps function when reseting caps to NULL.
28888 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28889 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28890 (gst_system_clock_id_unschedule):
28891 Use BROADCAST as this is what we do.
28893 2005-06-29 Wim Taymans <wim@fluendo.com>
28895 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28896 We are actually prerolling before commiting the state
28899 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28901 * docs/manual/advanced-clocks.xml:
28902 * docs/manual/advanced-interfaces.xml:
28903 * docs/manual/advanced-metadata.xml:
28904 * docs/manual/advanced-position.xml:
28905 * docs/manual/advanced-schedulers.xml:
28906 * docs/manual/advanced-threads.xml:
28907 * docs/manual/appendix-porting.xml:
28908 * docs/manual/basics-bins.xml:
28909 * docs/manual/basics-bus.xml:
28910 * docs/manual/basics-elements.xml:
28911 * docs/manual/basics-helloworld.xml:
28912 * docs/manual/basics-pads.xml:
28913 * docs/manual/highlevel-components.xml:
28914 * docs/manual/manual.xml:
28915 * docs/manual/thread.fig:
28916 Update (until threads/scheduling) Application Development Manual;
28917 remove GstThread, add GstBus, add simple porting checklist, add
28918 documentation for tag writing, clocks, make all examples until this
28919 part compile and run.
28920 * examples/manual/Makefile.am:
28921 Update from changes to Application Development Manual; add bus
28922 example, remove thread example.
28924 2005-06-28 Wim Taymans <wim@fluendo.com>
28926 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28927 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28928 (gst_bus_source_dispatch):
28929 Add debugging messages.
28930 Make internal methods static.
28931 Handle the case where the bus is flushed in the handler.
28933 * gst/gstelement.c: (gst_element_get_bus):
28934 Fix refcount in _get_bus();
28936 * gst/gstpipeline.c: (gst_pipeline_change_state),
28937 (gst_pipeline_get_clock_func):
28938 Clock refcounting fixes.
28939 Handle the case where preroll timed out more gracefully.
28941 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28942 Clean up the internal thread in dispose. This is needed
28943 for subclasses that actually get disposed.
28945 * gst/schedulers/threadscheduler.c:
28946 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28947 (gst_thread_scheduler_dispose):
28948 Free thread pool in dispose.
28950 2005-06-28 Andy Wingo <wingo@pobox.com>
28952 * tests/network-clock-utils.scm (debug, print-event): New utils.
28954 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28955 (*packet-loss*): Unified loss probability.
28956 (network-time): Report out-of-band events.
28958 * tests/plot-data: Add support for out-of-band events. Hack it
28959 into this script instead of passing it down the pipe; should fix
28962 2005-06-28 Wim Taymans <wim@fluendo.com>
28964 * docs/gst/gstreamer.types:
28965 * docs/gst/tmpl/gstbasesrc.sgml:
28966 * docs/gst/tmpl/gstpad.sgml:
28969 2005-06-28 Wim Taymans <wim@fluendo.com>
28971 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28972 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28973 (gst_proxy_pad_do_fixatecaps):
28974 Correctly proxy the check_pull_range function.
28976 2005-06-28 Andy Wingo <wingo@pobox.com>
28978 * tests/network-clock.scm: Removed need for slib.
28980 2005-06-28 Wim Taymans <wim@fluendo.com>
28982 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28983 (gst_basesink_preroll_queue_flush):
28984 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28985 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28986 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28987 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28988 (gst_proxy_pad_set_property):
28991 * gst/gstqueue.c: (gst_queue_init):
28992 The deprecated pad loop function is removed now.
28994 2005-06-28 Andy Wingo <wingo@pobox.com>
28996 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28997 New parameters, simulate network packet loss.
28999 * tests/network-clock-utils.scm: Initialize the RNG.
29001 2005-06-28 Wim Taymans <wim@fluendo.com>
29003 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29004 (gst_basesink_event), (gst_basesink_deactivate):
29005 Flushing the preroll queue always needs to unlock the waiters.
29007 2005-06-28 Edward Hervey <edward@fluendo.com>
29009 * gst/gstpipeline.c: (gst_pipeline_send_event):
29010 Wheen a seek was successful on a pipeline, set the stream_time to the
29011 seek offset in order to have a synchronized stream_time.
29013 2005-06-28 Wim Taymans <wim@fluendo.com>
29015 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29016 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29017 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29018 (gst_proxy_pad_do_fixatecaps):
29019 Call wrapper function instead of just calling the function
29020 pointers. This takes care of any locking and whatmore.
29022 2005-06-28 Wim Taymans <wim@fluendo.com>
29024 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29025 (gst_pad_pull_range):
29027 CONNECTED -> LINKED.
29029 2005-06-28 Andy Wingo <wingo@pobox.com>
29031 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29032 source-munging commit!!!
29034 * gst/gstobject.c (gst_object_unref, gst_object_ref)
29035 (gst_object_sink): Take gpointer arguments, not GstObject --
29036 avoids casts. Like GLib.
29038 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29041 2005-06-27 Andy Wingo <wingo@pobox.com>
29043 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29046 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29047 returns a sorted copy of the trace list.
29048 (gst_alloc_trace_print_live): New API, only prints traces with
29049 live objects. Sort the list.
29050 (gst_alloc_trace_print_all): Sort the list.
29051 (gst_alloc_trace_print): Align columns.
29053 * gst/elements/gstttypefindelement.c:
29054 * gst/elements/gsttee.c:
29055 * gst/base/gstbasesrc.c:
29056 * gst/base/gstbasesink.c:
29057 * gst/base/gstbasetransform.c:
29058 * gst/gstqueue.c: Adapt for pad activation changes.
29060 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29062 (gst_pipeline_dispose): Drop ref on sched.
29064 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29065 (gst_pad_activate_default): Push mode by default.
29066 (pre_activate_switch, post_activate_switch): New stubs, things to
29067 do before and after switching activation modes on pads.
29068 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29069 the pad's activate function to choose which mode to activate.
29070 Shortcut on deactivation and call the right function directly.
29071 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29073 (gst_pad_activate_push): New API, same for push mode.
29074 (gst_pad_set_activate_function)
29075 (gst_pad_set_activatepull_function)
29076 (gst_pad_set_activatepush_function): Setters for new API.
29078 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29079 Trace all miniobjects.
29080 (gst_mini_object_make_writable): Unref the arg if we copy, like
29081 gst_caps_make_writable.
29083 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29085 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29086 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29087 Adapt for new pad API.
29089 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29091 * gst/gstelement.h:
29092 * gst/gstelement.c (gst_element_iterate_src_pads)
29093 (gst_element_iterate_sink_pads): New API functions.
29095 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29096 should fold into gstiterator.c in some form.
29097 (gst_element_pads_activate): Simplified via use of fold and
29098 delegation of decisions to gstpad->activate.
29100 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29103 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29104 class once in init, like gstmessage. Didn't run into this issue
29105 but it seems correct. Don't initialize a trace, gstminiobject does
29108 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29109 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29111 (assert_live_count): New util function, uses alloc traces to check
29114 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29115 To be modified when unlink drops the internal pad.
29117 2005-06-27 Wim Taymans <wim@fluendo.com>
29119 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29120 (gst_bin_change_state):
29121 Cleanup the get_state() function a little, make sure it
29122 iterates the same set of elements.
29123 Added stub iterate_state_order().
29125 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29127 * docs/gst/gstreamer-docs.sgml:
29128 * docs/gst/gstreamer-sections.txt:
29129 * docs/gst/gstreamer.types:
29130 * docs/gst/tmpl/gstbasesink.sgml:
29131 * docs/gst/tmpl/gstbasesrc.sgml:
29132 * docs/gst/tmpl/gstbasetransform.sgml:
29133 * docs/gst/tmpl/gstelement.sgml:
29134 * docs/gst/tmpl/gstiterator.sgml:
29135 * gst/base/gstbasesrc.c:
29136 * gst/base/gstbasesrc.h:
29137 * gst/base/gstbasetransform.h:
29138 * gst/gstelement.c:
29139 * gst/gstiterator.h:
29140 adding basetransform and iterator docs
29142 2005-06-27 Andy Wingo <wingo@pobox.com>
29144 * docs/design/part-activation.txt: Notes on how activation should
29145 work -- not quite implemented yet.
29147 2005-06-25 Wim Taymans <wim@fluendo.com>
29149 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29150 At least get the chain function correct, needs more
29153 2005-06-25 Wim Taymans <wim@fluendo.com>
29155 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29156 (gst_basesink_handle_object), (gst_basesink_event),
29157 (gst_basesink_do_sync), (gst_basesink_handle_event),
29158 (gst_basesink_change_state):
29160 Right, two problems here: ghostpads don't take locks and
29161 glib _rec_mutex_lock_full() with depth==0 still locks.
29162 Catch illegal locking and g_warn them.
29164 2005-06-25 Wim Taymans <wim@fluendo.com>
29166 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29167 Have to check for completion now...
29169 2005-06-25 Wim Taymans <wim@fluendo.com>
29171 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29172 (gst_basesink_handle_object), (gst_basesink_event),
29173 (gst_basesink_do_sync), (gst_basesink_handle_event),
29174 (gst_basesink_change_state):
29176 Unlock STREAM_LOCK whatever the recursion was.
29178 2005-06-25 Wim Taymans <wim@fluendo.com>
29180 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29181 (gst_basesink_preroll_queue_empty),
29182 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29183 (gst_basesink_event), (gst_basesink_do_sync),
29184 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29185 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29186 (gst_basesink_change_state):
29187 Reworked the base sink, handle event and buffer serialisation
29188 correctly and removed possible deadlock.
29189 Handle EOS correctly.
29191 2005-06-25 Wim Taymans <wim@fluendo.com>
29193 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29194 (gst_pipeline_change_state):
29195 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29196 Allow elements to post EOS in the state change function.
29197 Fix up -launch, make it exit the poll loop when the
29198 pipeline actually changed state.
29199 Fix up warning parsing in -launch.
29201 2005-06-25 Wim Taymans <wim@fluendo.com>
29203 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29204 (gst_tee_sink_activate):
29205 Core takes STREAM_LOCK for us now.
29207 2005-06-25 Wim Taymans <wim@fluendo.com>
29209 * gst/gstelement.c: (gst_element_get_state_func),
29210 (gst_element_set_state):
29211 * gst/gstelement.h:
29212 * gst/gstmessage.c: (gst_message_parse_error),
29213 (gst_message_parse_warning):
29214 Keep track of current target state while performing a state
29215 change so that subclasses can do something interesting.
29216 Fix parsing of warning/error messages when GError is NULL.
29218 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29220 * docs/gst/Makefile.am:
29221 * docs/gst/gstreamer-docs.sgml:
29222 * docs/gst/gstreamer-sections.txt:
29223 * docs/gst/gstreamer.types:
29224 * docs/gst/tmpl/gstbasesink.sgml:
29225 * docs/gst/tmpl/gstbasesrc.sgml:
29226 * docs/gst/tmpl/gstbin.sgml:
29227 * docs/gst/tmpl/gstcompat.sgml:
29228 * docs/gst/tmpl/gstfakesink.sgml:
29229 * docs/gst/tmpl/gstfakesrc.sgml:
29230 * docs/gst/tmpl/gstfilesink.sgml:
29231 * docs/gst/tmpl/gstfilesrc.sgml:
29232 * docs/gst/tmpl/gstindex.sgml:
29233 * docs/manual/appendix-quotes.xml:
29234 * gst/base/gstbasesrc.h:
29235 * gst/elements/gstfakesrc.h:
29236 * gst/gstmessage.h:
29237 start pulling in base classes and elements in our docs
29239 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29241 * docs/gst/Makefile.am:
29242 * docs/libs/Makefile.am:
29243 fixed make distcheck with gtk-doc 1.3
29245 2005-06-23 Wim Taymans <wim@fluendo.com>
29247 * gst/gstelement.c: (gst_element_get_state_func),
29248 (gst_element_set_state), (gst_element_change_state):
29249 When the state did not change, also report NO_PREROLL
29252 2005-06-23 Wim Taymans <wim@fluendo.com>
29254 * gst/gstpad.c: (gst_pad_event_default):
29255 * gst/gstqueue.c: (gst_queue_loop):
29256 No unsafe task pausing please.
29258 2005-06-23 Wim Taymans <wim@fluendo.com>
29260 * gst/schedulers/threadscheduler.c:
29261 (gst_thread_scheduler_task_start),
29262 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29263 Ref the task before pushing it on the threadpool. This
29264 makes sure that we have a ref when the threadfunction is
29267 2005-06-23 Andy Wingo <wingo@pobox.com>
29269 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29270 offset is greater than the file's size.
29272 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29273 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29274 * gst/gstobject.c (gst_object_class_init): Make the class lock
29275 recursive. Wim won't let me drop deep_notify. Decodebin works
29276 again, whoopdy doo.
29278 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29279 internal pad, and hacks accordingly. Doesn't do it on the target
29280 pad because we change its caps. Probably catches all cases of
29282 (gst_ghost_pad_set_property): Connect to notify::caps as
29285 * tests/network-clock.scm (plot-simulation): Pipe data to the
29286 elite python skript.
29288 * tests/network-clock-utils.scm (define-parameter): New macro,
29289 defines a parameter that can be set via the command line.
29290 (set-parameter!, parse-parameter-arguments): Command line args
29293 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29296 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29298 * gst/elements/gsttypefindelement.c:
29299 (gst_type_find_element_handle_event):
29300 Don't restart typefinding on a discont.
29301 * gst/gstelement.c: (gst_element_set_state):
29302 Debug spelling fix.
29303 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29304 Allow changing mode of an active pad.
29305 Debug output fixes.
29306 * gst/registries/gstlibxmlregistry.c: (load_feature):
29307 Don't cast a static pad template to a normal pad template.
29309 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29311 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29312 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29313 remove gst_strtoll completely, since it didn't actually do
29314 anything more than what g_ascii_strtoull already does.
29315 check for range errors when deserializing
29316 do a cast for the unsigned cases; but further fixing needs
29317 a decision on what the interpretation of "(int)" and
29318 deserialization should be for values that fall outside the
29319 type's boundaries (ie, refuse, or interpret as casting)
29321 2005-06-23 Wim Taymans <wim@fluendo.com>
29323 * check/Makefile.am:
29324 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29325 * docs/design/part-live-source.txt:
29326 * docs/design/part-states.txt:
29327 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29328 (gst_basesrc_set_live), (gst_basesrc_is_live),
29329 (gst_basesrc_get_range), (gst_basesrc_activate),
29330 (gst_basesrc_change_state):
29331 * gst/base/gstbasesrc.h:
29332 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29333 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29334 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29335 * gst/gstelement.c: (gst_element_get_state_func),
29336 (gst_element_set_state):
29337 * gst/gstelement.h:
29339 * tools/gst-launch.c: (event_loop), (main):
29340 Added support for live sources and other elements that
29342 Updated design docs, added live-source design doc.
29343 Implemented live source functionality in basesrc
29344 Fix error condition in _bin_get_state()
29345 Implement live source handling in -launch.
29346 Added check for live sources.
29347 Fixed case in GstBin where elements were changed state
29351 2005-06-23 Andy Wingo <wingo@pobox.com>
29353 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29354 borken refcounting.
29356 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29357 gst_caps_replace takes care of this for us.
29359 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29360 gst_pad_set_caps on the target, not just its setcaps() function.
29362 * tests/network-clock.scm:
29363 * tests/network-clock-utils.scm: A network clock simulator.
29364 Something of an algorithmic testbed before doing something in C.
29366 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29368 * check/Makefile.am:
29369 * check/gst/capslist.h:
29370 copy over from 0.8, and add two with bitmasks specified with
29372 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29373 add test to parse everything from capslist.h
29374 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29376 add test for structure deserialization
29377 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29378 add tests for deserialization of strings to int types
29379 * gst/gststructure.c: (gst_structure_nth_field_name):
29380 * gst/gststructure.h:
29381 add a way to get the name of a field referenced by index
29382 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29383 instead of checking if the resulting long long lies between
29384 min and max, we check if the long long would fit into
29385 a number of bytes for the final type.
29386 This fixes cases where a string represents 2^32 - 1, which
29387 when cast to int would be the (valid) -1, but is bigger than
29390 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29392 * gst/parse/grammar.y:
29393 add a log line for type deserialization
29395 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29397 * check/gst/gstvalue.c: (START_TEST):
29398 * gst/gstvalue.c: (gst_value_deserialize):
29399 return long long, not int, so gint64 deserialization actually
29400 works. Is there any flag that makes the compiler check this ?
29403 2005-06-22 Wim Taymans <wim@fluendo.com>
29406 Added convenience macros for setting buffers in GValue.
29408 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29410 * check/gst/.cvsignore:
29411 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29412 add a test deserializing int64, and comment part out because
29415 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29417 * check/Makefile.am:
29418 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29419 * testsuite/Makefile.am:
29420 * testsuite/caps/Makefile.am:
29421 * testsuite/caps/value_serialize.c:
29422 * testsuite/test_gst_init.c:
29423 move a value_serialize test over
29425 2005-06-20 Wim Taymans <wim@fluendo.com>
29430 * gst/gstvalue.c: (gst_value_compare_buffer),
29431 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29432 (gst_value_compare_flags), (gst_value_serialize_flags),
29433 (gst_value_deserialize_flags), (_gst_value_initialize):
29434 Fix serialisation of buffers, they are not boxed types anymore
29436 2005-06-20 Wim Taymans <wim@fluendo.com>
29438 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29439 Testcase to show error in buffer-on-caps serialisation.
29441 2005-06-20 Andy Wingo <wingo@pobox.com>
29443 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29444 will be adding to later.
29446 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29447 if its socks fill with rocks.
29448 (gst_system_clock_obtain): Set the name on object construction.
29449 Avoid double-checked locking.
29451 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29453 * gst/gsturi.c: (gst_element_make_from_uri):
29454 Fix potential endless loop.
29456 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29458 * check/Makefile.am:
29460 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29462 move over from testsuite dir and clean up
29465 * testsuite/Makefile.am:
29466 * testsuite/tags/.cvsignore:
29467 * testsuite/tags/Makefile.am:
29468 * testsuite/tags/merge.c:
29469 remove testsuite/tags
29471 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29473 * docs/gst/gstreamer-sections.txt:
29474 * docs/gst/tmpl/gstenumtypes.sgml:
29475 * win32/gstenumtypes.c:
29476 clean up documentation build a little
29478 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29480 * check/gstcheck.h:
29481 add macros for checking refcounts on objects and caps
29482 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29483 add some more unit tests
29484 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29485 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29486 fix leaked refcounts (I hope :)) so unittest works
29490 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29492 * configure.ac: back to HEAD
29494 === release 0.9.1 ===
29496 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29502 2005-06-17 Andy Wingo <wingo@pobox.com>
29504 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29505 assert; it's always possible that the pad gets deactivated in
29506 between the checks in gstpad.c and the implementation. Rely on
29507 finish_preroll() to return a FLUSHING or similar instead of on the
29510 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29511 clock and post an EOS message if we come out of finish_preroll in
29514 2005-06-16 David Schleef <ds@schleef.org>
29516 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29517 (gst_capsfilter_set_property): Allow NULL as possible value
29518 for filter_caps property, indicating GST_CAPS_ANY.
29520 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29522 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29524 * gst/schedulers/Makefile.am:
29526 * gstreamer.spec.in:
29529 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29531 * gstreamer.spec.in:
29534 2005-06-08 Andy Wingo <wingo@pobox.com>
29536 * gst/gstutils.c: RPAD fixes all around.
29537 (gst_element_link_pads): Refcounting fixes.
29539 * tools/gst-inspect.c:
29540 * tools/gst-xmlinspect.c:
29542 * gst/base/gsttypefindhelper.c:
29543 * gst/base/gstbasesink.c:
29544 * gst/gstqueue.c: RPAD fixes.
29546 * gst/gstghostpad.h:
29547 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29548 pads. The tricky thing is they provide both source and sink
29549 interfaces, since they proxy the internal pad for the external
29550 pad, and vice versa. Implement with lower-level ProxyPad objects,
29551 with the interior proxy pad as a child of the exterior ghost pad.
29552 Should write a doc on this.
29554 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29555 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29558 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29559 pads are real pads. No ghost pads in this file. Not documenting
29560 the myriad s/RPAD/PAD/ and REALIZE fixes.
29561 (gst_pad_class_init): Add properties for "direction" and
29562 "template". Both are construct-only, so they can't change during
29563 the life of the pad. Fixes properly deriving from GstPad.
29564 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29565 derived objects, just set properties when creating the objects via
29567 (gst_pad_get_parent): Implement as a function, return NULL if the
29568 parent is not an element.
29569 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29570 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29572 * gst/gstobject.c (gst_object_class_init): Make name a construct
29573 property. Don't set it in the object init.
29575 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29576 with UNKNOWN direction.
29577 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29578 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29579 (gst_element_remove_pad): Remove ghost-pad special cases.
29580 (gst_element_pads_activate): Remove rpad cruft.
29582 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29583 catch the pad's-parent-not-an-element case.
29585 * gst/gst.h: Include gstghostpad.h.
29587 * gst/gst.c (init_post): No more real, ghost pads.
29589 * gst/Makefile.am: Add gstghostpad.[ch].
29591 * check/Makefile.am:
29592 * check/gst/gstbin.c:
29593 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29594 into a bin creates ghost pads, and that the refcounts are right.
29595 Partly moved from gstbin.c.
29597 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29599 * check/gst-libs/.cvsignore:
29600 * check/gst/.cvsignore:
29601 * check/pipelines/.cvsignore:
29603 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29604 (START_TEST), (cleanup_suite), (main):
29605 add some tests related to cleanup after running pipelines
29607 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29609 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29610 add a testsuite for GstBuffer
29612 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29614 * gst/gstminiobject.h:
29615 add defines for accessing the refcount
29617 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29619 * Makefile.am: added support for html unit test coverage reports
29621 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29623 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29624 Free existing caps if the capsfilter changes. Add a FIXME about
29625 setting those caps on the pads.
29627 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29628 Before adding a ghost pad to a parent bin, check that there isn't
29629 already one for the element on the bin. Prevents infinite recursion
29630 when using decodebin in parse pipelines. Andy says he'll rewrite the
29631 way this works anyway, so ignore the hack.
29633 2005-06-02 Andy Wingo <wingo@pobox.com>
29635 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29636 file size, pass it on to the type find helper.
29638 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29639 segment_start and segment_end properly according to the seek
29640 method. Segment_end is still a bit flaky because offset can be
29641 negative for CUR and END cases, but it takes -1 as an "unset"
29644 2005-06-02 Wim Taymans <wim@fluendo.com>
29646 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29647 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29648 (gst_basesink_activate):
29649 * gst/base/gstbasesink.h:
29650 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29651 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29652 (gst_pad_query), (gst_pad_start_task):
29654 * gst/gstqueue.c: (gst_queue_bufferalloc),
29655 (gst_queue_handle_sink_event), (gst_queue_chain):
29656 Bufferalloc: return GstFlowReturn to more accuratly report
29657 why allocation failed.
29659 2005-06-02 Wim Taymans <wim@fluendo.com>
29661 * gst/gstpipeline.c: (gst_pipeline_send_event):
29662 Take snapshot of state without blocking.
29664 2005-06-02 Wim Taymans <wim@fluendo.com>
29666 * docs/design/part-TODO.txt:
29667 * docs/design/part-caps.txt:
29668 * docs/design/part-clocks.txt:
29669 * docs/design/part-negotiation.txt:
29670 * docs/design/part-preroll.txt:
29673 2005-05-30 Wim Taymans <wim@fluendo.com>
29675 * gst/elements/gstidentity.c: (gst_identity_event),
29676 (gst_identity_transform), (gst_identity_get_property):
29677 Protect last_message property as it is accessed from
29680 2005-05-30 Wim Taymans <wim@fluendo.com>
29682 * gst/gstelement.c: (gst_element_init),
29683 (gst_element_pads_activate), (gst_element_change_state):
29684 Slicker pad activation code.
29686 2005-05-30 Wim Taymans <wim@fluendo.com>
29689 * gst/gstelement.h:
29690 * gst/gstelementfactory.h:
29692 Move elementfactory methods to separate .h file.
29694 2005-05-30 Wim Taymans <wim@fluendo.com>
29696 * docs/design/part-overview.txt:
29697 * gst/gstsystemclock.h:
29698 Small typo fixes, doc updates.
29700 2005-05-30 Wim Taymans <wim@fluendo.com>
29702 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29703 (init_popt_callback):
29704 Remove cpu-opt flag.
29706 2005-05-30 Wim Taymans <wim@fluendo.com>
29708 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29709 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29711 Avoid typechecking in places where not needed.
29712 Added accessor for malloc_data.
29714 2005-05-30 Wim Taymans <wim@fluendo.com>
29716 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29717 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29718 (gst_pad_configure_sink), (gst_pad_configure_src),
29719 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29720 (gst_pad_start_task):
29721 Propagate errors from _set_caps() in configure_src/sink
29722 functions instead of returning TRUE.
29723 FLUSH events can travel up and downstream
29726 2005-05-30 Wim Taymans <wim@fluendo.com>
29728 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29729 (gst_basesink_activate):
29730 Handle EOS in preroll.
29732 2005-05-30 Wim Taymans <wim@fluendo.com>
29734 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29735 (gst_queue_loop), (gst_queue_handle_src_event):
29736 Remove old pieces of code
29737 Flushing the queue in an upstream event is a very bad idea.
29739 2005-05-26 Andy Wingo <wingo@pobox.com>
29741 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29742 gst_value_set_mini_object so as to add a ref on the object (which
29743 will be removed when the value is unset).
29745 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29746 arg type in ::handoff.
29748 * gst/gstelement.c (gst_element_change_state): Also deactivate
29749 pads in READY->NULL, just in case the element didn't make it to
29750 PAUSED. Wingo tested, Wim approved.
29752 2005-05-26 Wim Taymans <wim@fluendo.com>
29754 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29755 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29756 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29757 A flushing pad cannot be used to alloc_buffer from.
29759 2005-05-26 Wim Taymans <wim@fluendo.com>
29761 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29762 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29763 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29764 (gst_bus_create_watch), (gst_bus_add_watch_full):
29766 Implement a real GSource and use g_main_context_wakeup() to
29767 signal new messages instead of the socketpair.
29769 2005-05-25 Wim Taymans <wim@fluendo.com>
29771 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29772 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29773 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29774 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29775 (gst_pad_send_event), (gst_pad_start_task):
29776 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29777 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29778 (gst_queue_sink_activate), (gst_queue_src_activate),
29779 (gst_queue_change_state):
29781 Fix state changes for non sinks. We now change sinks, then elements
29782 with unconnected srcpads, then the rest.
29783 More efficient queue unlocking in flush and state changes.
29784 Set the pad activate mode even if it does not have an activate
29787 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29789 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29790 Don't go in pull mode for non-seekable sources.
29791 * gst/elements/gsttypefindelement.h:
29792 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29793 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29794 (free_entry), (stop_typefinding),
29795 (gst_type_find_element_handle_event), (find_peek),
29796 (gst_type_find_element_chain), (do_pull_typefind),
29797 (gst_type_find_element_change_state):
29798 Allow typefinding (w/o seeking) in push-mode, simplified version
29799 of what was in 0.8.
29800 * gst/gstutils.c: (gst_buffer_join):
29802 gst_buffer_join() from 0.8.
29804 2005-05-25 Wim Taymans <wim@fluendo.com>
29806 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29807 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29808 (gst_pad_send_event), (gst_pad_start_task):
29809 Disable attempt at mode switching until it is figured out.
29811 2005-05-25 Wim Taymans <wim@fluendo.com>
29813 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29814 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29815 (gst_basesink_finish_preroll), (gst_basesink_chain),
29816 (gst_basesink_loop), (gst_basesink_activate),
29817 (gst_basesink_change_state):
29818 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29819 (gst_basesrc_get_range), (gst_basesrc_loop),
29820 (gst_basesrc_activate):
29821 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29822 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29823 (gst_real_pad_init), (gst_real_pad_set_property),
29824 (gst_real_pad_get_property), (gst_pad_set_active),
29825 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29826 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29827 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29828 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29829 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29830 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29831 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29832 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29833 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29834 (gst_pad_stop_task):
29836 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29837 (gst_queue_loop), (gst_queue_src_activate):
29838 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29839 (gst_task_get_state):
29841 * gst/schedulers/threadscheduler.c:
29842 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29843 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29845 Remove ACTIVE pad flag, use FLUSHING everywhere
29846 Added _pad_chain(), _pad_get_range() to call chain/getrange
29848 Add locks around IS_FLUSHING when reading.
29849 Take STREAM lock in chain(), get_range() functions so plugins
29850 don't need to take it anymore.
29854 2005-05-25 Wim Taymans <wim@fluendo.com>
29856 * tools/gst-launch.c: (event_loop):
29857 Unref message after using its contents instead of
29860 2005-05-24 Wim Taymans <wim@fluendo.com>
29862 * docs/design/draft-ghostpads.txt:
29863 * docs/design/draft-push-pull.txt:
29864 * docs/design/draft-query.txt:
29865 * docs/design/part-overview.txt:
29866 Docs updates, added general overview doc.
29868 2005-05-21 David Schleef <ds@schleef.org>
29870 * docs/gst/tmpl/old/GstBin.sgml:
29871 * docs/gst/tmpl/old/GstBuffer.sgml:
29872 * docs/gst/tmpl/old/GstCaps.sgml:
29873 * docs/gst/tmpl/old/GstClock.sgml:
29874 * docs/gst/tmpl/old/GstCompat.sgml:
29875 * docs/gst/tmpl/old/GstData.sgml:
29876 * docs/gst/tmpl/old/GstElement.sgml:
29877 * docs/gst/tmpl/old/GstEvent.sgml:
29878 * docs/gst/tmpl/old/GstIndex.sgml:
29879 * docs/gst/tmpl/old/GstStructure.sgml:
29880 * docs/gst/tmpl/old/GstTag.sgml:
29881 * docs/gst/tmpl/old/cothreads.sgml:
29882 * docs/gst/tmpl/old/cothreads_compat.sgml:
29883 * docs/gst/tmpl/old/gettext.sgml:
29884 * docs/gst/tmpl/old/gobject2gtk.sgml:
29885 * docs/gst/tmpl/old/grammar.tab.sgml:
29886 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29887 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29888 * docs/gst/tmpl/old/gst_private.sgml:
29889 * docs/gst/tmpl/old/gstaggregator.sgml:
29890 * docs/gst/tmpl/old/gstarch.sgml:
29891 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29892 * docs/gst/tmpl/old/gstbufferstore.sgml:
29893 * docs/gst/tmpl/old/gstdata_private.sgml:
29894 * docs/gst/tmpl/old/gstdisksink.sgml:
29895 * docs/gst/tmpl/old/gstdisksrc.sgml:
29896 * docs/gst/tmpl/old/gstelementfactory.sgml:
29897 * docs/gst/tmpl/old/gstextratypes.sgml:
29898 * docs/gst/tmpl/old/gstfakesink.sgml:
29899 * docs/gst/tmpl/old/gstfakesrc.sgml:
29900 * docs/gst/tmpl/old/gstfdsink.sgml:
29901 * docs/gst/tmpl/old/gstfdsrc.sgml:
29902 * docs/gst/tmpl/old/gstfilesink.sgml:
29903 * docs/gst/tmpl/old/gstfilesrc.sgml:
29904 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29905 * docs/gst/tmpl/old/gstidentity.sgml:
29906 * docs/gst/tmpl/old/gstindexfactory.sgml:
29907 * docs/gst/tmpl/old/gstmarshal.sgml:
29908 * docs/gst/tmpl/old/gstmd5sink.sgml:
29909 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29910 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29911 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29912 * docs/gst/tmpl/old/gstpipefilter.sgml:
29913 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29914 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29915 * docs/gst/tmpl/old/gstshaper.sgml:
29916 * docs/gst/tmpl/old/gstspider.sgml:
29917 * docs/gst/tmpl/old/gstspideridentity.sgml:
29918 * docs/gst/tmpl/old/gststatistics.sgml:
29919 * docs/gst/tmpl/old/gsttee.sgml:
29920 * docs/gst/tmpl/old/gsttimecache.sgml:
29921 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29922 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29923 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29924 * docs/gst/tmpl/old/types.sgml:
29925 I didn't intend to add these or check them in.
29927 2005-05-19 David Schleef <ds@schleef.org>
29929 * configure.ac: Use -no-common everywhere. In a sane world, it
29930 would be the default in libtool, because without it, you can't
29931 build DLLs on Windows.
29932 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29933 * docs/gst/gstreamer-sections.txt:
29934 * docs/gst/tmpl/gstcpu.sgml:
29935 * docs/gst/tmpl/gstdata.sgml:
29936 * docs/gst/tmpl/gstthread.sgml:
29938 2005-05-19 David Schleef <ds@schleef.org>
29940 * gst/gstminiobject.c: (gst_value_set_mini_object),
29941 (gst_value_take_mini_object), (gst_value_get_mini_object):
29942 * gst/gstminiobject.h: Add GValue set/get functions.
29944 2005-05-19 Wim Taymans <wim@fluendo.com>
29946 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29947 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29948 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29950 * gst/gstbus.c: (gst_bus_post):
29951 * gst/gstelement.c: (gst_element_get_random_pad):
29952 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29953 Make subbufer unref the parent in finalize.
29954 some more debugging info.
29957 2005-05-19 Wim Taymans <wim@fluendo.com>
29959 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29960 (gst_basesink_init), (gst_basesink_finalize),
29961 (gst_basesink_activate), (gst_basesink_change_state):
29962 Don't free preroll queue too early.
29964 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29968 Hi, I'm outdated. Please shoot me.
29970 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29972 * gst/gstpipeline.c: (gst_pipeline_send_event):
29973 Do not access variables after they have been deleted.
29975 2005-05-19 Wim Taymans <wim@fluendo.com>
29977 * tools/gst-inspect.c: (print_plugin_features):
29978 A plugin feature does unfortunatly not use the
29981 2005-05-18 Wim Taymans <wim@fluendo.com>
29983 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29984 Port _span() functions to new subbuffers.
29986 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29988 * gst/gstbin.c: (gst_bin_add_func):
29989 Fix clock settery in bins when adding kids after the clock has
29992 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29994 * gst/elements/gstidentity.c: (gst_identity_class_init):
29995 Workaround until signals support GstMiniObject.
29997 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
30000 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30002 2005-05-18 Wim Taymans <wim@fluendo.com>
30004 * gst/base/Makefile.am:
30005 * gst/base/gstadapter.c: (gst_adapter_base_init),
30006 (gst_adapter_class_init), (gst_adapter_init),
30007 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30008 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30009 (gst_adapter_flush), (gst_adapter_available),
30010 (gst_adapter_available_fast):
30011 * gst/base/gstadapter.h:
30012 Ported and added adapter to the base classes.
30014 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30017 * gst/gstmessage.c:
30018 Make sure the class is reffed/unreffed once before threads can be
30019 used. Fixes #304551.
30021 2005-05-17 Wim Taymans <wim@fluendo.com>
30023 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30024 (gst_basesink_chain_unlocked), (gst_basesink_activate):
30025 * gst/gstminiobject.c: (gst_mini_object_get_type),
30026 (gst_mini_object_free):
30027 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30028 (gst_pad_push), (gst_pad_push_event):
30029 * gst/gstqueue.c: (gst_queue_change_state):
30030 Don't queue buffers in basesink when we are flushing.
30031 Unref buffer when flushing in basesink.
30032 Flush queue when going to READY
30033 Unref buffer when _push() returns an error.
30034 Don't free MiniObject instance when refcount is incremented
30035 in _finalize() so that we can recover objects.
30037 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
30039 * docs/manual/advanced-schedulers.xml:
30040 * docs/manual/appendix-checklist.xml:
30041 * docs/pwg/advanced-clock.xml:
30042 * docs/pwg/advanced-interfaces.xml:
30043 * docs/pwg/advanced-request.xml:
30044 * docs/pwg/advanced-types.xml:
30045 * docs/pwg/intro-preface.xml:
30046 * examples/plugins/example.c: (gst_example_get_type),
30047 (gst_example_class_init), (gst_example_chain),
30048 (gst_example_set_property), (gst_example_get_property),
30049 (gst_example_change_state), (plugin_init):
30050 * examples/plugins/example.h:
30053 2005-05-17 Wim Taymans <wim@fluendo.com>
30055 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30056 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30057 * gst/gstqueue.c: (gst_queue_change_state):
30058 Clear queue when going to READY.
30059 Remove IN_SETCAPS flag too.
30061 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30063 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30064 Remove implicit cast from gboolean to GstElementStateReturn;
30065 make sure we still return failure in paused => ready case if
30066 the parent class fails to change state and our own stop
30069 2005-05-17 Wim Taymans <wim@fluendo.com>
30071 * tools/gst-launch.c: (event_loop):
30072 Message was unreffed too soon.
30074 2005-05-16 Andy Wingo <wingo@pobox.com>
30076 * gst/gstbin.c (sink_iterator_filter): Err... um...
30078 * check/gst/gstbin.c (test_ghost_pads): New test for the
30079 ghosting-if-elements-not-in-same-bin behavior.
30081 2005-05-16 David Schleef <ds@schleef.org>
30083 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30084 accessing refcount directly.
30086 2005-05-15 David Schleef <ds@schleef.org>
30088 * check/Makefile.am: remove GstData checks
30089 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30090 * gst/Makefile.am: add miniobject, remove data
30091 * gst/gst.h: add miniobject, remove data
30092 * gst/gstdata.c: remove
30093 * gst/gstdata.h: remove
30094 * gst/gstdata_private.h: remove
30095 * gst/gsttypes.h: remove GstEvent and GstMessage
30096 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30097 * gst/gstmarshal.list: change BOXED -> OBJECT
30099 Implement GstMiniObject.
30100 * gst/gstminiobject.c:
30101 * gst/gstminiobject.h:
30103 Modify to be subclasses of GstMiniObject.
30104 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30105 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30106 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30107 (gst_subbuffer_get_type), (gst_subbuffer_init),
30108 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30111 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30112 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30113 (_gst_event_copy), (gst_event_new):
30115 * gst/gstmessage.c: (_gst_message_initialize),
30116 (gst_message_get_type), (gst_message_class_init),
30117 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30118 (gst_message_new), (gst_message_new_error),
30119 (gst_message_new_warning), (gst_message_new_tag),
30120 (gst_message_new_state_changed), (gst_message_new_application):
30121 * gst/gstmessage.h:
30122 * gst/gstprobe.c: (gst_probe_perform),
30123 (gst_probe_dispatcher_dispatch):
30125 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30126 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30127 (_gst_query_copy), (gst_query_new):
30129 Update elements for GstData -> GstMiniObject changes
30131 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30132 (gst_queue_chain), (gst_queue_loop):
30133 * gst/elements/gstbufferstore.c:
30134 (gst_buffer_store_add_buffer_func),
30135 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30136 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30137 (gst_fakesink_render):
30138 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30139 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30140 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30141 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30142 (gst_filesrc_create_read):
30143 * gst/elements/gstidentity.c: (gst_identity_class_init):
30144 * gst/elements/gsttypefindelement.c:
30145 (gst_type_find_element_src_event), (free_entry_buffers),
30146 (gst_type_find_element_handle_event):
30147 * libs/gst/dataprotocol/dataprotocol.c:
30148 (gst_dp_header_from_buffer):
30149 * libs/gst/dataprotocol/dataprotocol.h:
30150 * libs/gst/dataprotocol/dp-private.h:
30152 2005-05-15 David Schleef <ds@schleef.org>
30154 * gst/elements/gstelements.c: Don't include headers that were
30157 2005-05-15 David Schleef <ds@schleef.org>
30159 * gst/elements/Makefile.am: Remove some elements that don't
30160 need to be in the core (or even exist at all).
30161 * gst/elements/gstaggregator.c:
30162 * gst/elements/gstaggregator.h:
30163 * gst/elements/gstmd5sink.c:
30164 * gst/elements/gstmd5sink.h:
30165 * gst/elements/gstmultifilesrc.c:
30166 * gst/elements/gstmultifilesrc.h:
30167 * gst/elements/gstpipefilter.c:
30168 * gst/elements/gstpipefilter.h:
30169 * gst/elements/gstshaper.c:
30170 * gst/elements/gstshaper.h:
30171 * gst/elements/gststatistics.c:
30172 * gst/elements/gststatistics.h:
30173 * po/POTFILES.in: Remove above files.
30175 2005-05-14 Andy Wingo <wingo@pobox.com>
30177 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30178 so as to get the refs right.
30179 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30180 unreffing objects that don't pass the filter.
30182 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30183 gst_element_set_bus.
30184 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30185 normal cases, this will destroy the bus.
30187 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30190 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30193 2005-05-13 Andy Wingo <wingo@pobox.com>
30195 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30196 gst_pad_link, call pad_link_maybe_ghosting,
30197 (pad_link_maybe_ghosting): Links pads, making sure that the
30198 elements being linked are in the same bin.
30199 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30200 Helpers for pad_link_maybe_ghosting.
30202 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30205 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30207 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30209 * docs/design/part-element-source.txt:
30212 2005-05-12 Wim Taymans <wim@fluendo.com>
30214 * gst/base/gstbasesink.c: (gst_basesink_init),
30215 (gst_basesink_activate):
30216 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30217 (gst_basesrc_is_seekable):
30218 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30219 (bin_element_is_sink), (gst_bin_change_state):
30220 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30221 * gst/gstelement.h:
30222 Identify sinks by their flag to avoid overly complicated
30224 Do state changes even for elements not reachable from the
30226 BaseSink is a sink now :)
30227 Some more debugging info in the basesrc.
30230 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30232 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30233 Implement _query on a bin, similar to _send_event.
30235 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30237 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30238 Discont event offset format should be GST_FORMAT_BYTES,
30239 not GST_FORMAT_TIME.
30241 2005-05-12 Wim Taymans <wim@fluendo.com>
30243 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30244 Same fix as Ronald's but without the signal.
30246 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30248 * gst/gstutils.c: (gst_element_query_position):
30249 No, an element is not a pad.
30251 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30253 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30254 (gst_bin_get_state):
30255 If a child is removed from a bin while we remove the child from
30256 the bin and while we're retrieving its state, signal this to the
30257 get_state function so we abort the wait (instead of waiting for
30258 a timeout) and can immediately re-iterate over all other elements.
30260 2005-05-12 Wim Taymans <wim@fluendo.com>
30262 * gst/base/Makefile.am:
30263 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30264 (gst_basesrc_start):
30265 * gst/base/gstbasesrc.h:
30266 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30267 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30268 (gst_pushsrc_init), (gst_pushsrc_create):
30269 * gst/base/gstpushsrc.h:
30270 Added is_seekable to BaseSrc
30271 Added simple PushSrc.
30273 2005-05-11 Wim Taymans <wim@fluendo.com>
30275 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30276 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30277 (gst_element_link_pads), (gst_element_query_position),
30278 (gst_element_query_convert), (intersect_caps_func),
30279 (gst_pad_query_position), (gst_pad_query_convert):
30280 Fix refcounting in utils function.
30281 No point in trying to activate a pad when it's added, it could
30282 be added from the state change function and then we deadlock, the
30283 element has to decide what to do.
30285 2005-05-10 Andy Wingo <wingo@pobox.com>
30287 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30288 *all* the arguments.
30290 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30291 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30292 lock (according to the docs -- if this is wrong change the docs).
30294 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30295 flush messages in the NULL state.
30297 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30298 message immediately and return.
30299 (gst_bus_set_flushing): New function. If a bus is flushing, it
30300 flushes out any queued messages and immediately unrefs new
30301 messages. This is so when an element goes to NULL, all of the
30302 unhandled messages coming from it can be freed, and their
30303 references to the element dropped. In other words: message source
30304 ref considered harmful :P
30306 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30307 we're finished with it.
30309 * gst/gstmessage.c (gst_message_new_state_changed):
30311 2005-05-10 Wim Taymans <wim@fluendo.com>
30313 * gst/gstvalue.c: (gst_value_compare_flags),
30314 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30315 (_gst_value_initialize):
30316 Added flags serialize/deserialize/compare code.
30318 2005-05-09 Andy Wingo <wingo@pobox.com>
30320 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30321 Intersect the peer's caps with our caps.
30323 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30325 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30326 * gst/elements/gsttypefindelement.c: (find_peek):
30327 Handle negative offsets better. Fixes decodebin.
30329 2005-05-09 Wim Taymans <wim@fluendo.com>
30331 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30332 (gst_base_transform_event):
30333 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30334 Implement accept_caps.
30335 Fix silly lock/unlock mismatch in base class.
30337 2005-05-09 Wim Taymans <wim@fluendo.com>
30339 * docs/design/draft-push-pull.txt:
30340 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30341 * gst/elements/gstfilesink.c: (gst_filesink_init),
30342 (gst_filesink_query):
30343 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30344 (gst_type_find_handle_src_query), (find_element_get_length):
30345 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30346 * gst/gstelement.h:
30347 * gst/gstmessage.c:
30348 * gst/gstmessage.h:
30349 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30350 (gst_real_pad_get_caps_unlocked),
30351 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30352 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30353 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30354 (gst_real_pad_dispose), (gst_real_pad_finalize),
30355 (gst_pad_load_and_link), (gst_pad_save_thyself),
30356 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30357 (gst_pad_check_pull_range), (gst_pad_pull_range),
30358 (gst_pad_template_get_type), (gst_pad_template_class_init),
30359 (gst_pad_template_init), (gst_pad_template_dispose),
30360 (name_is_valid), (gst_static_pad_template_get),
30361 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30362 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30363 (gst_pad_get_element_private), (gst_pad_start_task),
30364 (gst_pad_pause_task), (gst_pad_stop_task),
30365 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30366 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30367 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30368 (gst_ghost_pad_new):
30370 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30371 (gst_query_new_position), (gst_query_set_position),
30372 (gst_query_parse_position), (gst_query_new_convert),
30373 (gst_query_set_convert), (gst_query_parse_convert):
30375 * gst/gstqueryutils.c:
30376 * gst/gstqueryutils.h:
30377 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30378 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30379 (gst_queue_handle_src_query):
30380 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30381 (gst_element_query_position), (gst_element_query_convert),
30382 (intersect_caps_func), (gst_pad_query_position),
30383 (gst_pad_query_convert):
30385 * tools/gst-inspect.c: (print_pad_info):
30386 * tools/gst-xmlinspect.c: (print_element_info):
30387 Remove old query functions. Ported old code.
30388 Added position/convert helper functions to gstutils.
30389 Reordered gstpad.c code, grouping relevant things.
30390 Remove gst_message_new(), always need to speficy a specific
30394 2005-05-09 Andy Wingo <wingo@pobox.com>
30396 * gst/gstiterator.h: Add some includes.
30398 * gst/gstqueryutils.h: Include more headers.
30401 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30402 some uses of gst_pad_query.
30404 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30405 NULL out parameters.
30406 (gst_query_new_position): New proc, allocates a new position
30409 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30410 gstqueryutils.c to the build.
30412 * gst/gststructure.c (gst_structure_set_valist): Implement with
30413 the generic G_VALUE_COLLECT.
30415 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30417 * gst/Makefile.am: (gst_headers):
30418 Added gstqueryutils.h to the list of headers to install, that was
30419 a 'nachty' move wingo :)
30421 2005-05-06 Andy Wingo <wingo@pobox.com>
30424 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30425 GstData, init a memchunk.
30426 (standard_definitions): Add a few query types, deprecate a few.
30427 (gst_query_get_type): New proc.
30428 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30430 (gst_query_new_application, gst_query_get_structure): New public
30433 * docs/design/draft-query.txt: Removed LINKS from the query types,
30434 because all the rest can be dispatched to other pads -- seemed
30435 ugly to have a query that couldn't be dispatched. internal_links
30436 is fine as a pad method.
30438 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30439 in gstpad.c, but maintain binary compatibility for the moment.
30440 Will fix before 0.9 is out.
30442 * gst/gstqueryutils.c:
30443 * gst/gstqueryutils.h: New files, implement 3 methods for each
30444 query type: parse_query, parse_response, and set. Probably need an
30447 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30449 * gst/elements/gstfilesink.c (gst_filesink_query2):
30450 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30451 query_types, and formats methods.
30453 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30454 (gst_pad_set_query2_function): New functions.
30455 (gst_real_pad_init): Set query2_default as the default query2
30456 function. Basically just dispatches to internally linked pads.
30460 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30461 without using the atomic operations. Only one thread can possibly
30462 be accessing the data at this point. Changed so as to avoid
30463 gst_atomic operations.
30465 2005-05-06 Wim Taymans <wim@fluendo.com>
30467 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30468 Also set caps if we use the fallback buffer alloc.
30470 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30472 * docs/gst/Makefile.am:
30473 * docs/gst/gstreamer-docs.sgml:
30474 * docs/gst/gstreamer-sections.txt:
30475 * docs/gst/tmpl/gstatomic.sgml:
30476 * docs/gst/tmpl/gstmemchunk.sgml:
30477 * testsuite/elements/struct_i386.h:
30478 * win32/GStreamer.vcproj:
30480 Purge GstAtomic stuff from docs and win32 makefiles as well
30482 2005-05-06 Wim Taymans <wim@fluendo.com>
30484 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30485 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30486 * gst/gstpad.c: (gst_pad_peer_get_caps):
30487 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30488 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30489 (gst_queue_src_activate), (gst_queue_change_state):
30491 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30492 (intersect_caps_func):
30493 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30494 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30495 Some fixes for the peer_get_caps() change.
30497 2005-05-06 Wim Taymans <wim@fluendo.com>
30499 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30500 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30501 (gst_basesink_activate):
30502 Actually do something with error codes returned from the push
30505 2005-05-06 Wim Taymans <wim@fluendo.com>
30507 * docs/design/part-element-sink.txt:
30508 * docs/design/part-element-source.txt:
30509 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30510 (gst_basesink_event), (gst_basesink_activate):
30511 * gst/base/gstbasesink.h:
30512 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30513 (gst_basesrc_activate):
30514 * gst/base/gstbasesrc.h:
30515 * gst/gstelement.c: (gst_element_pads_activate):
30516 Some more documentation.
30517 Fixed scheduling decision in _pads_activate().
30519 2005-05-05 Andy Wingo <wingo@pobox.com>
30521 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30524 2005-05-05 Wim Taymans <wim@fluendo.com>
30526 * gst/base/Makefile.am:
30527 * gst/base/gstbasesink.h:
30528 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30529 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30530 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30531 (gst_collectpads_class_init), (gst_collectpads_init),
30532 (gst_collectpads_finalize), (gst_collectpads_new),
30533 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30534 (find_pad), (gst_collectpads_remove_pad),
30535 (gst_collectpads_is_active), (gst_collectpads_collect),
30536 (gst_collectpads_collect_range), (gst_collectpads_start),
30537 (gst_collectpads_stop), (gst_collectpads_peek),
30538 (gst_collectpads_pop), (gst_collectpads_available),
30539 (gst_collectpads_read), (gst_collectpads_flush),
30540 (gst_collectpads_chain):
30541 * gst/base/gstcollectpads.h:
30542 * gst/elements/Makefile.am:
30543 * gst/elements/gstelements.c:
30544 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30545 (gst_fakesink_get_times), (gst_fakesink_event),
30546 (gst_fakesink_preroll), (gst_fakesink_render):
30547 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30548 (gst_filesink_init), (gst_filesink_set_location),
30549 (gst_filesink_open_file), (gst_filesink_close_file),
30550 (gst_filesink_pad_query), (gst_filesink_event),
30551 (gst_filesink_render), (gst_filesink_change_state):
30552 * gst/elements/gstfilesink.h:
30553 Added object to help in making collect pad based elements.
30555 Make event function in sink baseclass return gboolean.
30557 2005-05-05 Wim Taymans <wim@fluendo.com>
30559 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30560 (gst_bin_get_by_name):
30562 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30563 (gst_clock_finalize):
30564 * gst/gstdata.c: (gst_data_replace):
30566 * gst/gstelement.c: (gst_element_request_pad),
30567 (gst_element_pads_activate):
30568 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30569 (gst_object_unref):
30570 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30571 (gst_pad_set_checkgetrange_function),
30572 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30573 (gst_pad_check_pull_range), (gst_pad_pull_range),
30574 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30575 (gst_pad_pause_task), (gst_pad_stop_task):
30576 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30577 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30578 Fix name lookup in GstBin.
30579 Added _data_replace() function and _buffer_replace()
30580 Use finalize method to clean up clock.
30581 Fix refcounting on request pads.
30582 Fix pad schedule mode error.
30583 Some more object refcounting debug info,
30586 2005-05-04 Andy Wingo <wingo@pobox.com>
30588 * check/Makefile.am:
30589 * docs/gst/tmpl/gstatomic.sgml:
30590 * docs/gst/tmpl/gstplugin.sgml:
30591 * gst/base/gstbasesink.c: (gst_basesink_activate):
30592 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30593 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30594 (gst_basesrc_query), (gst_basesrc_set_property),
30595 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30596 (gst_basesrc_activate):
30597 * gst/base/gstbasesrc.h:
30598 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30599 (gst_base_transform_src_activate):
30600 * gst/elements/gstelements.c:
30601 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30602 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30603 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30604 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30605 (gst_type_find_element_checkgetrange),
30606 (gst_type_find_element_activate):
30607 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30608 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30609 (gst_caps_load_thyself):
30610 * gst/gstelement.c: (gst_element_pads_activate),
30611 (gst_element_save_thyself), (gst_element_restore_thyself):
30612 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30613 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30615 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30616 (gst_xml_parse_file), (gst_xml_parse_memory),
30617 (gst_xml_get_element), (gst_xml_make_element):
30618 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30619 (_file_index_id_save_xml), (gst_file_index_commit):
30620 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30621 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30623 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30624 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30625 * tools/gst-complete.c: (main):
30626 * tools/gst-compprep.c: (main):
30627 * tools/gst-inspect.c: (print_element_properties_info):
30628 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30629 * tools/gst-xmlinspect.c: (print_element_properties):
30632 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30634 * gst/gstplugin.c: (gst_plugin_check_module),
30635 (gst_plugin_check_file), (gst_plugin_load_file):
30636 apply patch from #172526 to make register work on MacOSX
30638 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30640 * docs/gst/tmpl/gstconfig.sgml:
30641 * gst/gstconfig.h.in:
30642 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30643 * testsuite/debug/printf_extension.c: (main):
30644 Do not use GST_PTR_FORMAT on pointers to types with
30645 sizeof < sizeof(gpointer). Fixes test on 64-bit
30646 * testsuite/elements/property.h:
30647 use correct printf format
30649 2005-05-02 Wim Taymans <wim@fluendo.com>
30651 * docs/design/draft-push-pull.txt:
30652 * docs/design/draft-query.txt:
30653 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30654 (gst_basesrc_start):
30655 Added draft for new query API.
30656 Added draft for better selecting scheduling methods.
30657 Make basesrc ignore length if the subclass does not support
30660 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30663 possible fixes for automake-1.5 - _LIBADD is reserved
30665 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30667 * docs/faq/Makefile.am:
30668 * docs/manual/Makefile.am:
30669 * docs/manuals.mak:
30670 * docs/pwg/Makefile.am:
30672 possible fixes for automake-1.5
30674 2005-04-28 Wim Taymans <wim@fluendo.com>
30676 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30677 (gst_basesink_pad_getcaps), (gst_basesink_init),
30678 (gst_basesink_do_sync):
30679 * gst/gstclock.c: (gst_clock_entry_new):
30680 * gst/gstevent.c: (gst_event_discont_get_value):
30681 * gst/gstpipeline.c: (pipeline_bus_handler),
30682 (gst_pipeline_change_state):
30683 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30684 Better debugging of clocking info.
30685 Allow NULL values when getting discont values.
30687 2005-04-27 Wim Taymans <wim@fluendo.com>
30689 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30690 * check/gst/gstpad.c: (gst_pad_suite):
30691 Increase timeout for checks.
30693 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30695 * check/Makefile.am:
30696 fix the broken rule for cleanup. Apparently this rule is
30697 only needed on FC2, so maybe this warrants further autotool
30700 2005-04-26 Wim Taymans <wim@fluendo.com>
30702 * gst/gsttrashstack.h:
30703 Ooohh. a nasty one! After having a failed pop() from the stack,
30704 it's possible that the stack is empty. In that case, don't
30705 follow the NULL pointer.
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),
30711 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30712 (gst_pad_check_pull_range), (gst_pad_pull_range),
30713 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30714 (gst_pad_pause_task), (gst_pad_stop_task):
30715 * gst/gstplugin.c: (gst_plugin_load):
30717 Remove gst_library_load as it does more harm than good with
30718 the new g_module flags.
30719 Revert bogus caps template check in pad linking, pad caps
30720 are important when linking not the template, which is more
30721 general than the current caps.
30723 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30725 * gst/autoplug/.cvsignore:
30726 * gst/autoplug/Makefile.am:
30727 * gst/autoplug/gstsearchfuncs.c:
30728 * gst/autoplug/gstsearchfuncs.h:
30729 * gst/autoplug/gstspider.c:
30730 * gst/autoplug/gstspider.h:
30731 * gst/autoplug/gstspideridentity.c:
30732 * gst/autoplug/gstspideridentity.h:
30733 * gst/autoplug/spidertest.c:
30736 2005-04-25 Wim Taymans <wim@fluendo.com>
30738 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30739 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30740 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30741 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30743 Added stubs for unimplemented functions.
30745 2005-04-24 David Schleef <ds@schleef.org>
30747 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30750 2005-04-24 David Schleef <ds@schleef.org>
30752 Convert everything from GstAtomicInt to g_atomic_int_*, and
30757 * gst/gstatomic_impl.h:
30765 * gst/gstdata_private.h:
30769 * gst/gstmessage.c:
30772 * gst/gststructure.c:
30773 * gst/gststructure.h:
30774 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30777 2005-04-24 David Schleef <ds@schleef.org>
30779 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30780 make the regressions tests work. Remove some code that is no
30782 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30783 Disable warning for pads without templates.
30785 2005-04-24 David Schleef <ds@schleef.org>
30787 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30788 functions that handle filtered links.
30789 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30791 * gst/gstutils.c: Fix/remove utility functions that handle
30794 * gst/gstvalue.c: Add serialization/deserialization of caps
30795 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30796 requires fixing so that the filter caps notation creates
30797 a capsfilter element and sets the filter_caps property. I
30798 think everyone probably wants to keep the shorthand notation.
30799 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30800 * docs/gst/tmpl/gstpad.sgml:
30802 * gst/elements/gstelements.c: Register capsfilter element.
30803 * gst/Makefile.am: fix spacing
30804 * docs/random/ds/0.9-suggested-changes: random
30806 2005-04-23 David Schleef <ds@schleef.org>
30808 * gst/elements/Makefile.am:
30809 * gst/elements/gstcapsfilter.c: New element that acts like an
30810 identity, but filters caps. Will eventually replace filtered
30811 caps in pad linking.
30812 * gst/gstutils.c: (gst_element_create_all_pads): New function
30813 to create all the ALWAYS pads that are registered with an
30814 element class. This functionality should eventually be
30815 merged in with GstElement initialization.
30817 * testsuite/trigger/README: part of trigger test code that should
30818 have been checked in a long time ago.
30820 2005-04-23 David Schleef <ds@schleef.org>
30822 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30823 needed with new versions of libtool (nobody will confirm this),
30824 and hard to carry around.
30825 * gst/autoplug/Makefile.am:
30826 * gst/base/Makefile.am:
30827 * gst/elements/Makefile.am:
30828 * gst/indexers/Makefile.am:
30829 * gst/schedulers/Makefile.am:
30830 * libs/gst/bytestream/Makefile.am:
30831 * libs/gst/control/Makefile.am:
30832 * libs/gst/dataprotocol/Makefile.am:
30833 * libs/gst/getbits/Makefile.am:
30835 2005-04-21 Wim Taymans <wim@fluendo.com>
30837 * docs/design/draft-push-pull.txt:
30838 * docs/design/part-MT-refcounting.txt:
30839 * docs/design/part-TODO.txt:
30840 * docs/design/part-caps.txt:
30841 * docs/design/part-events.txt:
30842 * docs/design/part-gstbus.txt:
30843 * docs/design/part-gstpipeline.txt:
30844 * docs/design/part-messages.txt:
30845 * docs/design/part-push-pull.txt:
30846 * docs/design/part-query.txt:
30849 2005-04-21 Wim Taymans <wim@fluendo.com>
30851 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30852 (gst_message_new), (gst_message_new_error),
30853 (gst_message_new_warning), (gst_message_new_tag),
30854 (gst_message_new_state_changed), (gst_message_new_application),
30855 (gst_message_get_structure):
30856 * gst/gstmessage.h:
30857 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30858 (gst_structure_copy_conditional):
30859 Use parent refcount in GstMessage to ensure GstStructure
30861 Cleaned up headers a bit.
30864 2005-04-20 Wim Taymans <wim@fluendo.com>
30866 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30867 (gst_basesink_pad_getcaps), (gst_basesink_init),
30868 (gst_basesink_chain_unlocked):
30869 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30870 (gst_type_find_helper):
30871 * gst/elements/gsttypefindelement.c:
30872 (gst_type_find_element_have_type), (gst_type_find_element_init),
30873 (stop_typefinding), (gst_type_find_element_handle_event),
30874 (find_suggest), (gst_type_find_element_chain),
30875 (gst_type_find_element_checkgetrange),
30876 (gst_type_find_element_getrange), (do_typefind),
30877 (gst_type_find_element_activate):
30878 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30879 (gst_buffer_default_free), (gst_buffer_default_copy),
30880 (gst_buffer_set_caps):
30881 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30882 (gst_caps_replace):
30883 * gst/gstmessage.c: (gst_message_new),
30884 (gst_message_new_state_changed):
30885 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30886 (gst_pad_set_checkgetrange_function),
30887 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30888 (gst_pad_set_caps), (gst_pad_check_pull_range),
30889 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30891 * gst/gsttypefind.c: (gst_type_find_register):
30892 Make gst_caps_replace() work like other _replace() functions.
30893 Use _caps_replace() where possible.
30894 Make sure _message_new() initialises its field.
30895 Add gst_static_pad_template_get_caps()
30898 2005-04-18 Andy Wingo <wingo@pobox.com>
30900 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30901 on the peer, not the pad. I think that was a typo. Pass an extra
30902 arg to see if random access is possible. Activate the pads as
30903 PULL_RANGE if possible.
30905 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30907 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30908 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30911 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30913 * docs/faq/using.xml:
30914 Add note on gstreamer-properties (#154996).
30916 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30918 * docs/random/bbb/optional-properties:
30919 Some analysis on optional properties.
30921 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30923 * docs/gst/tmpl/gstelementfactory.sgml:
30924 * gst/gstelement.h:
30925 * gst/gstelementfactory.c: (gst_element_factory_init),
30926 (gst_element_factory_cleanup), (gst_element_register),
30927 (__gst_element_factory_add_static_pad_template),
30928 (gst_element_factory_get_static_pad_templates),
30929 (gst_element_factory_can_src_caps),
30930 (gst_element_factory_can_sink_caps):
30931 * gst/registries/Makefile.am:
30932 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30933 (gst_xml_registry_class_init), (gst_xml_registry_init),
30934 (gst_xml_registry_new), (gst_xml_registry_set_property),
30935 (gst_xml_registry_get_property), (get_time), (make_dir),
30936 (gst_xml_registry_get_perms_func),
30937 (plugin_times_older_than_recurse), (plugin_times_older_than),
30938 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30939 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30940 (add_to_char_array), (read_string), (read_uint), (read_enum),
30941 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30942 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30943 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30944 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30945 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30946 (gst_xml_registry_rebuild):
30947 * gst/registries/gstlibxmlregistry.h:
30948 * tools/gst-compprep.c: (main):
30949 * tools/gst-inspect.c: (print_pad_templates_info):
30950 * tools/gst-xmlinspect.c: (print_element_info):
30951 Use libxml2 for registry parsing, use staticpadtemplates in
30952 elementfactories. Makes gst_init() +/- 10x faster.
30954 2005-04-12 Wim Taymans <wim@fluendo.com>
30956 * gst/base/Makefile.am:
30957 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30958 (gst_basesink_pad_getcaps), (gst_basesink_init),
30959 (gst_basesink_event), (gst_basesink_change_state):
30960 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30961 (gst_basesrc_init), (gst_basesrc_query),
30962 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30963 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30964 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30965 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30966 (gst_basesrc_stop), (gst_basesrc_activate),
30967 (gst_basesrc_change_state):
30968 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30969 (helper_find_suggest), (gst_type_find_helper):
30970 * gst/base/gsttypefindhelper.h:
30971 * gst/elements/Makefile.am:
30972 * gst/elements/gstelements.c:
30973 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30974 (gst_fakesink_get_times), (gst_fakesink_event),
30975 (gst_fakesink_preroll), (gst_fakesink_render):
30976 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30977 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30978 (gst_fakesrc_get_property), (gst_fakesrc_create),
30979 (gst_fakesrc_start), (gst_fakesrc_stop):
30980 * gst/elements/gstfakesrc.h:
30981 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30982 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30983 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30984 (gst_filesrc_create_read), (gst_filesrc_create),
30985 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30986 (gst_filesrc_start):
30987 * gst/elements/gsttypefindelement.c:
30988 (gst_type_find_element_have_type), (gst_type_find_element_init),
30989 (start_typefinding), (stop_typefinding), (push_buffer_store),
30990 (gst_type_find_element_handle_event),
30991 (gst_type_find_element_chain),
30992 (gst_type_find_element_checkgetrange),
30993 (gst_type_find_element_getrange), (do_typefind),
30994 (gst_type_find_element_activate),
30995 (gst_type_find_element_change_state):
30996 * gst/elements/gsttypefindelement.h:
30997 * gst/gstpipeline.c: (pipeline_bus_handler):
30998 Added typefind helper.
30999 Small preroll fix in the base sink.
31000 Disable typefind code in basesrc.
31001 Crude port of typefindelement.
31005 2005-04-11 Wim Taymans <wim@fluendo.com>
31007 * check/gst/gstbus.c: (gstbus_suite):
31008 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31009 * check/gstcheck.h:
31010 Fix up the timeout so that the test does not fail.
31012 2005-04-06 Wim Taymans <wim@fluendo.com>
31015 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31016 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31017 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31018 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31019 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31020 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31021 (gst_basesrc_stop), (gst_basesrc_activate),
31022 (gst_basesrc_change_state), (basesrc_find_peek),
31023 (basesrc_find_suggest), (gst_basesrc_type_find):
31024 * gst/base/gstbasesrc.h:
31025 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31026 (gst_filesrc_class_init), (gst_filesrc_init),
31027 (gst_filesrc_finalize), (gst_filesrc_set_location),
31028 (gst_filesrc_set_property), (gst_filesrc_get_property),
31029 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31030 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31031 (gst_filesrc_create_read), (gst_filesrc_create),
31032 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31033 * gst/elements/gstfilesrc.h:
31034 * gst/gstelement.c: (gst_element_get_state_func),
31035 (gst_element_lost_state), (gst_element_pads_activate):
31036 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31037 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31038 (gst_pad_pull_range):
31040 More work on the generic source base class, implement seeking,
31042 Make filesrc extend the base source class.
31043 Added gst_pad_set_checkgetrange_function to GstPad.
31045 2005-04-06 Andy Wingo <wingo@pobox.com>
31047 * pkgconfig/gstreamer-base.pc.in:
31048 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31050 * pkgconfig/Makefile.am:
31051 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31053 2005-04-04 Wim Taymans <wim@fluendo.com>
31055 * gst/base/Makefile.am:
31057 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31058 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31059 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31060 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31061 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31062 (gst_basesrc_base_init), (gst_basesrc_class_init),
31063 (gst_basesrc_init), (gst_basesrc_get_formats),
31064 (gst_basesrc_get_query_types), (gst_basesrc_query),
31065 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31066 (gst_basesrc_set_property), (gst_basesrc_get_property),
31067 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31068 (gst_basesrc_loop), (gst_basesrc_activate),
31069 (gst_basesrc_change_state):
31070 * gst/base/gstbasesrc.h:
31071 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31072 (gst_fakesrc_class_init), (gst_fakesrc_init),
31073 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31074 (gst_fakesrc_get_property), (gst_fakesrc_create):
31075 * gst/elements/gstfakesrc.h:
31076 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31077 (gst_filesrc_open_file), (gst_filesrc_loop),
31078 (gst_filesrc_activate), (filesrc_find_peek),
31079 (gst_filesrc_type_find):
31080 Made base source class, make fakesrc extend it.
31081 Add comments to basesink class.
31082 Some filesrc cleanup.
31084 2005-03-31 David Schleef <ds@schleef.org>
31086 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31087 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31088 expected to link against libgstreamer.
31089 * gst/base/Makefile.am: link against libgstreamer
31090 * gst/elements/Makefile.am: same
31092 2005-03-31 Andy Wingo <wingo@pobox.com>
31094 * tests/instantiate/Makefile.am:
31095 * tests/instantiate/caps.c: Add test to test speed of caps copy
31098 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31099 GMemChunk to be fair.
31101 * gst/gsttrashstack.h: Remove warning about using the fallback
31102 trash stack implementation, it's still faster than malloc.
31104 2005-03-30 Andy Wingo <wingo@pobox.com>
31106 * tests/complexity.c: Add a copyright.
31108 2005-03-31 Wim Taymans <wim@fluendo.com>
31110 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31111 (gst_base_transform_class_init), (gst_base_transform_init),
31112 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31113 (gst_base_transform_get_property),
31114 (gst_base_transform_sink_activate),
31115 (gst_base_transform_src_activate),
31116 (gst_base_transform_change_state):
31117 * gst/base/gstbasetransform.h:
31118 * gst/elements/gstidentity.c: (gst_identity_class_init),
31119 (gst_identity_event), (gst_identity_check_perfect),
31120 (gst_identity_transform), (gst_identity_start),
31121 (gst_identity_stop):
31122 Added start/stop methods to transform base class so subclasses
31123 don't need to deal with state changes even.
31125 2005-03-31 Wim Taymans <wim@fluendo.com>
31127 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31128 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31130 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31131 (gst_pad_pull_range):
31132 Added rate to the discont event to prepare for variable speed
31133 and reverse playback.
31135 2005-03-29 David Schleef <ds@schleef.org>
31138 * testsuite/trigger/Makefile.am:
31139 * testsuite/trigger/trigger.c: A little example program to show
31140 how trigger-based elements can work.
31142 2005-03-29 Wim Taymans <wim@fluendo.com>
31144 * gst/base/Makefile.am:
31146 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31147 (gst_basesink_base_init), (gst_basesink_class_init),
31148 (gst_basesink_pad_getcaps), (gst_basesink_init),
31149 (gst_basesink_activate), (gst_basesink_change_state):
31150 * gst/base/gstbasesink.h:
31151 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31152 (gst_base_transform_base_init), (gst_base_transform_finalize),
31153 (gst_base_transform_class_init), (gst_base_transform_init),
31154 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31155 (gst_base_transform_event), (gst_base_transform_getrange),
31156 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31157 (gst_base_transform_set_property),
31158 (gst_base_transform_get_property),
31159 (gst_base_transform_sink_activate),
31160 (gst_base_transform_src_activate),
31161 (gst_base_transform_change_state):
31162 * gst/base/gstbasetransform.h:
31163 * gst/elements/gstidentity.c: (gst_identity_finalize),
31164 (gst_identity_class_init), (gst_identity_init),
31165 (gst_identity_event), (gst_identity_check_perfect),
31166 (gst_identity_transform), (gst_identity_set_property),
31167 (gst_identity_get_property), (gst_identity_change_state):
31168 * gst/elements/gstidentity.h:
31169 * gst/gstelement.c: (gst_element_get_state_func),
31170 (gst_element_lost_state), (gst_element_pads_activate):
31171 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31172 (gst_pad_check_pull_range), (gst_pad_pull_range):
31174 Simplify pad activation.
31175 Added function to check if pull_range can be performed.
31176 Error out when pulling inactive or flushing pads.
31177 Removed const from refcounted types as it does not make sense.
31178 Simplify pad templates in basesink
31179 Added base class for simple 1-to-1 transforms.
31180 Make identity subclass the base transform.
31182 2005-03-29 Andy Wingo <wingo@pobox.com>
31184 * docs/libs/gstreamer-libs-overrides.txt:
31185 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31186 really don't understand what's going on, but like whatever. I want
31189 * docs/gst/Makefile.am:
31190 * docs/libs/Makefile.am: Dist the overrides files.
31192 * check/Makefile.am (clean-local): Remove .libs directories.
31194 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31195 elements to EXTRA_DIST, so po/ files are happy.
31197 * po/POTFILES.in: Er, remove it here.
31199 * po/POTFILES: Remove gstspider.c.
31201 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31203 * docs/libs/gstreamer-libs-docs.sgml:
31204 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31207 * tests/complexity.c (main): Set the length of the preroll queue
31208 on the sinks to prevent a lockup.
31210 * libs/gst/dataprotocol/Makefile.am:
31211 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31212 the same as the one in check/gst-libs/gdp.c.
31214 * po/, docs/gst/: Commit automatic changes to docs and po files.
31216 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31217 the versioned libgstbase.
31219 * check/Makefile.am: Depend on an unversioned gst-register, seems
31220 to make autoconf happier.
31222 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31224 2005-03-28 Wim Taymans <wim@fluendo.com>
31227 * docs/design/part-gstelement.txt:
31228 * docs/design/part-negotiation.txt:
31229 * docs/design/part-preroll.txt:
31230 * docs/design/part-scheduling.txt:
31231 * docs/design/part-states.txt:
31233 * gst/base/Makefile.am:
31235 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31236 (gst_basesink_base_init), (gst_basesink_class_init),
31237 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31238 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31239 (gst_basesink_set_pad_functions),
31240 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31241 (gst_basesink_set_property), (gst_basesink_get_property),
31242 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31243 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31244 (gst_basesink_preroll_queue_push),
31245 (gst_basesink_preroll_queue_empty),
31246 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31247 (gst_basesink_event), (gst_basesink_get_times),
31248 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31249 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31250 (gst_basesink_loop), (gst_basesink_activate),
31251 (gst_basesink_change_state):
31252 * gst/base/gstbasesink.h:
31253 * gst/elements/Makefile.am:
31254 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31255 (gst_fakesink_class_init), (gst_fakesink_init),
31256 (gst_fakesink_set_property), (gst_fakesink_get_property),
31257 (gst_fakesink_get_times), (gst_fakesink_event),
31258 (gst_fakesink_preroll), (gst_fakesink_render),
31259 (gst_fakesink_change_state):
31260 * gst/elements/gstfakesink.h:
31261 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31262 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31263 * gst/gstelement.c: (gst_element_add_pad),
31264 (gst_element_get_state_func), (gst_element_abort_state),
31265 (gst_element_commit_state), (gst_element_lost_state),
31266 (gst_element_set_state), (gst_element_pads_activate):
31267 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31268 * gst/gstpipeline.c: (gst_pipeline_send_event),
31269 (gst_pipeline_change_state):
31270 Added state change code.
31271 Added/updated docs.
31272 Added sink base class, make fakesink extend the base class.
31273 Small cleanups in GstPipeline.
31275 2005-03-26 David Schleef <ds@schleef.org>
31277 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31278 is broken and should be implemented in a different library.
31279 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31280 * gst/gst.h: remove gstcpu.h
31281 * gst/gstcpu.c: remove
31282 * gst/gstcpu.h: remove
31283 * gst/Makefile.am.future: Remove this file. It's ancient.
31285 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31287 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31288 (gst_bin_send_event):
31289 Add default event/set_manager handlers. The set_manager handler
31290 takes care that the manager is distributed over kids that were
31291 already in the bin before the manager was set. The event handler
31292 is a utility virtual function that sends the event over all sinks,
31293 so that gst_element_send_event (bin, event); has the expected
31295 * gst/gstpad.c: (gst_pad_event_default):
31296 Re-install default event handling for discontinuities, so that
31297 seeking works without requiring hacks in applications or extra
31299 * gst/gstpipeline.c: (gst_pipeline_class_init),
31300 (gst_pipeline_send_event):
31301 Half hack, half utility: set a pipeline to PAUSED for seek events,
31302 since that is the only way we can guarantee a/v sync. Means that
31303 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31304 and it "just works".
31306 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31308 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31309 Lock/unlock mismatch.
31311 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31313 * docs/faq/gst-uninstalled:
31314 add gst-plugins-base
31315 * docs/gst/Makefile.am:
31316 don't error out until docs are fixed
31317 * docs/gst/gstreamer.types:
31320 2005-03-22 Wim Taymans <wim@fluendo.com>
31322 * check/Makefile.am:
31323 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31324 * gst/gststructure.c: (gst_structure_set_valist),
31325 (gst_structure_copy_conditional):
31326 Activated more tests.
31327 Added message test.
31328 Added G_TYPE_POINTER to GstStructure.
31331 2005-03-22 Wim Taymans <wim@fluendo.com>
31333 * docs/design/part-TODO.txt:
31334 * docs/design/part-events.txt:
31335 * docs/design/part-gstbin.txt:
31336 * docs/design/part-gstbus.txt:
31337 * docs/design/part-gstpipeline.txt:
31338 * docs/design/part-messages.txt:
31340 * gst/gstmessage.c:
31343 2005-03-21 Wim Taymans <wim@fluendo.com>
31345 * gst/gstbus.c: (gst_bus_post):
31346 Fix copy-and-paste error.
31348 2005-03-21 Wim Taymans <wim@fluendo.com>
31350 * check/Makefile.am:
31352 * gst/elements/Makefile.am:
31353 * gst/elements/gstelements.c:
31354 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31355 (gst_fakesink_event), (gst_fakesink_chain):
31356 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31357 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31358 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31359 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31360 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31361 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31362 (gst_fakesrc_loop), (gst_fakesrc_activate),
31363 (gst_fakesrc_change_state):
31364 * gst/elements/gstfakesrc.h:
31365 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31366 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31367 (gst_filesrc_open_file), (gst_filesrc_loop),
31368 (gst_filesrc_activate), (gst_filesrc_change_state),
31369 (filesrc_find_peek), (filesrc_find_suggest),
31370 (gst_filesrc_type_find):
31371 * gst/elements/gstidentity.c: (gst_identity_finalize),
31372 (gst_identity_class_init), (gst_identity_init),
31373 (gst_identity_proxy_getcaps), (identity_queue_push),
31374 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31375 (gst_identity_getrange), (gst_identity_chain),
31376 (gst_identity_sink_loop), (gst_identity_src_loop),
31377 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31378 (gst_identity_set_property), (gst_identity_get_property),
31379 (gst_identity_change_state):
31380 * gst/elements/gstidentity.h:
31381 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31382 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31383 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31384 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31385 (gst_tee_sink_activate):
31386 * gst/elements/gsttee.h:
31387 * gst/gst.c: (gst_register_core_elements), (init_post):
31389 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31390 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31391 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31392 (gst_bin_change_state):
31394 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31395 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31396 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31397 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31398 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31399 (bus_watch_callback), (bus_watch_destroy),
31400 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31401 (poll_timeout), (gst_bus_poll):
31405 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31406 (gst_element_post_message), (gst_element_message_full),
31407 (gst_element_get_state_func), (gst_element_get_state),
31408 (gst_element_abort_state), (gst_element_commit_state),
31409 (gst_element_lost_state), (gst_element_set_state),
31410 (gst_element_pads_activate), (gst_element_change_state),
31411 (gst_element_dispose), (gst_element_set_manager_func),
31412 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31413 (gst_element_set_manager), (gst_element_get_manager),
31414 (gst_element_set_bus), (gst_element_get_bus),
31415 (gst_element_set_scheduler), (gst_element_get_scheduler):
31416 * gst/gstelement.h:
31417 * gst/gstevent.c: (gst_event_new_segment_seek),
31418 (gst_event_new_flush):
31420 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31421 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31422 (gst_message_new_eos), (gst_message_new_error),
31423 (gst_message_new_warning), (gst_message_new_tag),
31424 (gst_message_new_state_changed), (gst_message_new_application),
31425 (gst_message_get_structure), (gst_message_parse_tag),
31426 (gst_message_parse_state_changed), (gst_message_parse_error),
31427 (gst_message_parse_warning):
31428 * gst/gstmessage.h:
31429 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31430 (gst_real_pad_set_property), (gst_pad_set_active),
31431 (gst_pad_is_active), (gst_pad_set_blocked_async),
31432 (gst_pad_set_blocked), (gst_pad_is_blocked),
31433 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31434 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31435 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31436 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31437 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31438 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31439 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31440 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31441 (gst_pad_set_caps), (gst_pad_configure_sink),
31442 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31443 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31444 (gst_real_pad_dispose), (gst_real_pad_finalize),
31445 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31446 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31447 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31449 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31450 (pipeline_bus_handler), (gst_pipeline_change_state),
31451 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31452 * gst/gstpipeline.h:
31454 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31455 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31456 (gst_queue_link_src), (gst_queue_bufferalloc),
31457 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31458 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31459 (gst_queue_loop), (gst_queue_handle_src_event),
31460 (gst_queue_handle_src_query), (gst_queue_src_activate),
31461 (gst_queue_change_state):
31463 * gst/gstscheduler.c: (gst_scheduler_init),
31464 (gst_scheduler_dispose), (gst_scheduler_create_task),
31465 (gst_scheduler_factory_create):
31466 * gst/gstscheduler.h:
31467 * gst/gststructure.c: (gst_structure_get_type),
31468 (gst_structure_copy_conditional):
31469 * gst/gststructure.h:
31470 * gst/gsttaginterface.h:
31471 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31472 (gst_task_init), (gst_task_dispose), (gst_task_create),
31473 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31479 * gst/schedulers/Makefile.am:
31480 * gst/schedulers/cothreads_compat.h:
31481 * gst/schedulers/entryscheduler.c:
31482 * gst/schedulers/faircothreads.c:
31483 * gst/schedulers/faircothreads.h:
31484 * gst/schedulers/fairscheduler.c:
31485 * gst/schedulers/gstbasicscheduler.c:
31486 * gst/schedulers/gstoptimalscheduler.c:
31487 * gst/schedulers/gthread-cothreads.h:
31488 * gst/schedulers/threadscheduler.c:
31489 (gst_thread_scheduler_task_get_type),
31490 (gst_thread_scheduler_task_class_init),
31491 (gst_thread_scheduler_task_init),
31492 (gst_thread_scheduler_task_start),
31493 (gst_thread_scheduler_task_stop),
31494 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31495 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31496 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31497 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31499 * libs/gst/Makefile.am:
31500 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31501 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31502 (gst_file_pad_parent_set):
31503 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31504 (gst_dp_event_from_packet):
31505 * tests/complexity.c: (main):
31506 * tests/mass_elements.c: (main):
31507 * testsuite/states/locked.c: (message_received), (main):
31508 * testsuite/states/parent.c: (main):
31509 * tools/gst-inspect.c: (print_element_flag_info),
31510 (print_implementation_info), (print_pad_info):
31511 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31513 * tools/gst-md5sum.c: (event_loop), (main):
31514 * tools/gst-typefind.c: (main):
31515 * tools/gst-xmlinspect.c: (print_element_info):
31517 Added GstBus for mainloop integration.
31518 Added GstMessage for sending notifications on the bus.
31519 Added GstTask as an abstraction for pipeline entry points.
31521 Removed Schedulers.
31522 Simplified GstQueue for multithreaded core.
31523 Made _link threadsafe, removed old capsnego.
31524 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31525 Added pad blocking functions.
31526 Reworked scheduling functions in GstPad to prepare for
31527 scheduling updates soon.
31528 Moved events out of data stream.
31529 Simplified GstEvent types.
31530 Added return values to push/pull.
31531 Removed clocking from GstElement.
31532 Added prototypes for state change function for next merge.
31533 Removed iterate from bins and state change management.
31534 Fixed some elements, disabled others for now.
31535 Fixed -inspect and -launch.
31536 Added check for GstBus.
31538 2005-03-10 Wim Taymans <wim@fluendo.com>
31540 * docs/design/part-MT-refcounting.txt:
31541 * docs/design/part-clocks.txt:
31542 * docs/design/part-gstelement.txt:
31543 * docs/design/part-gstobject.txt:
31544 * docs/design/part-standards.txt:
31545 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31546 (gst_bin_remove_func), (gst_bin_remove):
31550 * testsuite/clock/clock1.c: (main):
31551 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31553 * testsuite/dlopen/loadgst.c: (do_test):
31554 * testsuite/refcounting/bin.c: (add_remove_test1),
31555 (add_remove_test2), (main):
31556 * testsuite/refcounting/element.c: (main):
31557 * testsuite/refcounting/element_pad.c: (main):
31558 * testsuite/refcounting/pad.c: (main):
31559 * tools/gst-launch.c: (sigint_handler_sighandler):
31560 * tools/gst-typefind.c: (main):
31562 Added doc about clock.
31563 removed gst_bin_iterate_recurse_up(), marked methods
31565 Fix more testsuites.
31567 2005-03-09 Wim Taymans <wim@fluendo.com>
31569 * gst/gstpad.c: (gst_pad_get_direction),
31570 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31571 (gst_pad_collect_valist):
31572 * testsuite/bins/interface.c: (main):
31573 * testsuite/caps/audioscale.c: (test_caps):
31574 * testsuite/caps/caps.c: (test1), (test2), (test3):
31575 * testsuite/caps/deserialize.c: (main):
31576 * testsuite/caps/enumcaps.c: (main):
31577 * testsuite/caps/filtercaps.c: (main):
31578 * testsuite/caps/intersect2.c: (main):
31579 * testsuite/caps/random.c: (main):
31580 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31581 * testsuite/caps/sets.c: (check_caps):
31582 * testsuite/caps/simplify.c: (check_caps), (main):
31583 * testsuite/caps/subtract.c: (check_caps):
31584 Fix _pad_get_direction wrt ghostpads.
31585 Fix caps testsuite.
31587 2005-03-09 Wim Taymans <wim@fluendo.com>
31589 * check/Makefile.am:
31590 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31591 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31592 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31593 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31594 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31595 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31596 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31597 (bin_element_is_sink), (gst_bin_iterate_sinks),
31598 (gst_bin_iterate_all_by_interface):
31600 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31601 (gst_element_change_state), (gst_element_dispose),
31602 (gst_element_finalize), (gst_element_set_loop_function):
31603 * gst/gstelement.h:
31604 * gst/gstiterator.c: (find_custom_fold_func):
31605 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31606 (gst_pad_collectv), (gst_pad_collect_valist),
31607 (gst_pad_template_new):
31608 * gst/gstpipeline.c: (gst_pipeline_class_init),
31609 (gst_pipeline_dispose), (gst_pipeline_set_property),
31610 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31611 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31612 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31614 * gst/schedulers/entryscheduler.c:
31615 * gst/schedulers/gstbasicscheduler.c:
31616 (gst_basic_scheduler_cothreaded_chain),
31617 (gst_basic_scheduler_chain_add_element):
31618 * testsuite/bins/interface.c: (main):
31620 Added GstSystemClock test.
31621 Implemented clock distribution code in GstBin.
31622 Implemented iterate sinks method for future use.
31623 Rearranged gstelement.h
31624 Fix GstIterator comparison bug.
31625 Moved some code to GstPipeline, mostly clocking related.
31627 2005-03-09 Wim Taymans <wim@fluendo.com>
31630 * gst/gst_private.h:
31631 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31632 (gst_bin_remove_func), (gst_bin_remove),
31633 (gst_bin_get_by_name_recurse_up):
31634 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31635 (gst_clock_id_compare_func), (gst_clock_id_wait),
31636 (gst_clock_id_wait_async), (gst_clock_init),
31637 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31638 * gst/gstelement.h:
31639 * gst/gstinfo.c: (_gst_debug_init):
31641 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31642 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31644 Bump version number, we're now 0.9.0
31645 Add future debugging category.
31646 Fix NULL _unref() in _get_by_name_recurse_up
31647 Rearrange gstpad.h.
31650 2005-03-08 Wim Taymans <wim@fluendo.com>
31652 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31653 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31654 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31655 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31656 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31657 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31658 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31659 * gst/elements/gstidentity.c: (gst_identity_class_init):
31660 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31661 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31662 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31663 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31664 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31666 * gst/gstelement.c: (gst_element_class_init),
31667 (gst_element_base_class_init), (gst_element_init),
31668 (gst_element_get_random_pad), (gst_element_wait_state_change),
31669 (gst_element_change_state), (gst_element_dispose),
31670 (gst_element_finalize), (gst_element_set_loop_function):
31671 * gst/gstelement.h:
31672 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31673 * gst/gstthread.c: (gst_thread_class_init),
31674 (gst_thread_release_children_locks), (gst_thread_change_state):
31675 * gst/schedulers/gstbasicscheduler.c:
31676 (gst_basic_scheduler_loopfunc_wrapper),
31677 (gst_basic_scheduler_chain_wrapper),
31678 (gst_basic_scheduler_src_wrapper),
31679 (gst_basic_scheduler_remove_element):
31680 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31681 Remove threadsafe properties. Fix elements because GObject
31682 complains when installing a property before declaring a
31683 set/get_property handler.
31684 Rearrange gstelement.h file, use STATE macros for state locks.
31685 Free mutexes in the finalize method instead of dispose.
31687 2005-03-08 Wim Taymans <wim@fluendo.com>
31689 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31690 * gst/gstthread.c: (gst_thread_release_children_locks):
31691 Added parentage check.
31692 Fix build og GstThread again.
31694 2005-03-08 Wim Taymans <wim@fluendo.com>
31696 * docs/design/part-MT-refcounting.txt:
31697 * docs/design/part-conventions.txt:
31698 * docs/design/part-gstobject.txt:
31699 * docs/design/part-relations.txt:
31700 * docs/design/part-standards.txt:
31701 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31702 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31703 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31704 (gst_bin_iterate_all_by_interface):
31707 * gst/gstelement.c: (gst_element_class_init),
31708 (gst_element_change_state), (gst_element_set_loop_function):
31709 * gst/gstelement.h:
31710 * gst/gstiterator.c:
31711 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31712 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31713 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31714 (gst_object_set_parent), (gst_object_unparent),
31715 (gst_object_check_uniqueness):
31717 Docs updates, clean up some headers.
31719 2005-03-07 Wim Taymans <wim@fluendo.com>
31721 * check/.cvsignore:
31722 * check/Makefile.am:
31723 * check/gst-libs/.cvsignore:
31724 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31725 * check/gst/.cvsignore:
31726 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31727 (START_TEST), (gstbus_suite), (main):
31728 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31729 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31730 (gst_data_suite), (main):
31731 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31732 (add_fold_func), (gstiterator_suite), (main):
31733 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31734 (thread_name_object), (thread_name_object_default),
31735 (gst_object_name_compare), (gst_object_suite), (main):
31736 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31737 (gst_pad_suite), (main):
31738 * check/gstcheck.c: (gst_check_log_message_func),
31739 (gst_check_log_critical_func), (gst_check_init):
31740 * check/gstcheck.h:
31741 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31742 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31745 2005-03-07 Wim Taymans <wim@fluendo.com>
31747 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31748 (gst_list_iterator_next), (gst_list_iterator_resync),
31749 (gst_list_iterator_free), (gst_iterator_new_list),
31750 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31751 (gst_iterator_free), (gst_iterator_push), (filter_next),
31752 (filter_resync), (filter_uninit), (filter_free),
31753 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31754 (gst_iterator_foreach), (find_custom_fold_func),
31755 (gst_iterator_find_custom):
31756 * gst/gstiterator.h:
31757 Added missing files.
31759 2005-03-07 Wim Taymans <wim@fluendo.com>
31763 * docs/design/part-MT-refcounting.txt:
31764 * docs/design/part-conventions.txt:
31765 * docs/design/part-gstobject.txt:
31766 * docs/design/part-relations.txt:
31767 * examples/mixer/mixer.c: (main):
31768 * examples/thread/thread.c: (eos), (main):
31770 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31771 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31772 (gst_spider_plug_from_srcpad):
31773 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31774 (gst_spider_identity_change_state),
31775 (gst_spider_identity_sink_loop_type_finding):
31776 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31777 * gst/elements/gstidentity.c: (gst_identity_init):
31778 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31779 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31780 * gst/elements/gsttypefindelement.c: (free_entry):
31783 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31784 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31785 (gst_bin_set_index), (gst_bin_set_element_sched),
31786 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31787 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31788 (gst_bin_iterate_elements), (iterate_child_recurse),
31789 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31790 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31791 (compare_interface), (gst_bin_get_by_interface),
31792 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31794 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31795 (gst_buffer_default_free), (gst_buffer_default_copy),
31796 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31797 (gst_buffer_create_sub):
31799 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31800 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31801 (gst_caps_unref), (gst_static_caps_get),
31802 (gst_caps_remove_and_get_structure), (gst_caps_append),
31803 (gst_caps_append_structure), (gst_caps_remove_structure),
31804 (gst_caps_copy_nth), (gst_caps_set_simple),
31805 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31806 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31807 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31808 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31809 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31810 (gst_caps_structure_figure_out_union),
31811 (gst_caps_switch_structures), (gst_caps_do_simplify),
31812 (gst_caps_replace), (gst_caps_from_string),
31813 (gst_caps_copy_conditional):
31815 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31816 (_gst_clock_id_free), (gst_clock_id_unref),
31817 (gst_clock_id_compare_func), (gst_clock_id_wait),
31818 (gst_clock_id_wait_async), (gst_clock_class_init),
31819 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31820 (gst_clock_get_time), (gst_clock_set_time_adjust),
31821 (gst_clock_set_property), (gst_clock_get_property):
31824 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31825 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31827 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31828 (gst_element_requires_clock), (gst_element_provides_clock),
31829 (gst_element_set_clock), (gst_element_clock_wait),
31830 (gst_element_wait), (gst_element_set_time_delay),
31831 (gst_element_is_indexable), (gst_element_add_pad),
31832 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31833 (pad_compare_name), (gst_element_get_static_pad),
31834 (gst_element_request_pad), (gst_element_get_request_pad),
31835 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31836 (gst_element_class_get_pad_template_list),
31837 (gst_element_class_get_pad_template), (gst_element_error_func),
31838 (gst_element_get_random_pad), (gst_element_get_event_masks),
31839 (gst_element_send_event), (gst_element_seek),
31840 (gst_element_get_query_types), (gst_element_query),
31841 (gst_element_get_formats), (gst_element_convert),
31842 (gst_element_is_locked_state), (gst_element_set_locked_state),
31843 (gst_element_sync_state_with_parent), (gst_element_change_state),
31844 (gst_element_finalize), (gst_element_yield),
31845 (gst_element_interrupt), (gst_element_set_scheduler),
31846 (gst_element_get_scheduler), (gst_element_set_loop_function):
31847 * gst/gstelement.h:
31849 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31850 (gst_format_get_by_nick), (gst_format_get_details),
31851 (gst_format_iterate_definitions):
31853 * gst/gstindex.c: (gst_index_gtype_resolver):
31856 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31857 (gst_mem_chunk_free):
31858 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31859 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31860 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31861 (gst_object_dispatch_properties_changed),
31862 (gst_object_set_name_default), (gst_object_set_name),
31863 (gst_object_get_name), (gst_object_set_name_prefix),
31864 (gst_object_get_name_prefix), (gst_object_set_parent),
31865 (gst_object_get_parent), (gst_object_unparent),
31866 (gst_object_check_uniqueness), (gst_object_save_thyself),
31867 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31868 (gst_object_set_property), (gst_object_get_property),
31869 (gst_object_get_path_string):
31871 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31872 (gst_real_pad_init), (gst_real_pad_get_property),
31873 (gst_pad_custom_new), (gst_pad_get_direction),
31874 (gst_pad_set_active), (gst_pad_is_active),
31875 (gst_pad_set_event_function), (gst_pad_is_linked),
31876 (gst_pad_link_free), (gst_pad_link_intersect),
31877 (gst_pad_link_fixate), (gst_pad_set_caps),
31878 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31879 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31880 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31881 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31882 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31883 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31884 (gst_pad_realize), (gst_pad_get_allowed_caps),
31885 (gst_real_pad_dispose), (gst_real_pad_finalize),
31886 (gst_pad_collectv), (gst_pad_collect_valist),
31887 (gst_pad_template_dispose), (gst_pad_template_new),
31888 (gst_pad_get_internal_links):
31890 * gst/gstpipeline.c: (gst_pipeline_dispose),
31891 (gst_pipeline_change_state):
31892 * gst/gstpipeline.h:
31894 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31895 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31896 * gst/gstpluginfeature.h:
31897 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31898 * gst/gstquery.c: (_gst_query_type_initialize),
31899 (gst_query_type_register), (gst_query_type_get_by_nick),
31900 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31902 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31903 * gst/gstscheduler.c: (gst_scheduler_add_element),
31904 (gst_scheduler_factory_create):
31905 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31906 (gst_structure_free), (gst_structure_set_name),
31907 (gst_structure_id_set_value), (gst_structure_set_value),
31908 (gst_structure_set_valist), (gst_structure_remove_field),
31909 (gst_structure_remove_fields),
31910 (gst_structure_remove_fields_valist),
31911 (gst_structure_remove_all_fields), (gst_structure_foreach),
31912 (gst_structure_map_in_place),
31913 (gst_caps_structure_fixate_field_nearest_int),
31914 (gst_caps_structure_fixate_field_nearest_double):
31915 * gst/gststructure.h:
31916 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31917 (gst_system_clock_init), (gst_system_clock_dispose),
31918 (gst_system_clock_async_thread),
31919 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31920 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31921 * gst/gstsystemclock.h:
31922 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31923 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31924 * gst/gsttaginterface.c:
31925 * gst/gstthread.c: (gst_thread_dispose),
31926 (gst_thread_release_children_locks), (gst_thread_change_state),
31927 (gst_thread_main_loop):
31928 * gst/gsttrashstack.h:
31929 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31931 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31932 (gst_element_request_pad), (gst_element_get_pad_from_template),
31933 (gst_element_request_compatible_pad),
31934 (gst_element_get_compatible_pad_filtered),
31935 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31936 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31937 (gst_element_link_many), (gst_element_link),
31938 (gst_element_link_pads), (gst_element_unlink_pads),
31939 (gst_element_unlink_many), (gst_element_unlink),
31940 (gst_pad_can_link_filtered), (gst_pad_can_link),
31941 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31942 (gst_object_default_error), (gst_bin_add_many),
31943 (gst_bin_remove_many), (gst_element_populate_std_props),
31944 (gst_element_class_install_std_props), (gst_buffer_merge),
31945 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31946 (link_fold_func), (gst_pad_proxy_setcaps):
31948 * gst/gstvalue.c: (gst_value_deserialize_string):
31949 * gst/parse/grammar.y:
31950 * gst/schedulers/gstbasicscheduler.c:
31951 (gst_basic_scheduler_cothreaded_chain),
31952 (gst_basic_scheduler_chain_recursive_add),
31953 (gst_basic_scheduler_pad_link):
31954 * gst/schedulers/gstoptimalscheduler.c:
31955 (get_group_schedule_function),
31956 (gst_opt_scheduler_state_transition),
31957 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31958 * libs/gst/bytestream/bytestream.c:
31959 * libs/gst/dataprotocol/dataprotocol.c:
31960 (gst_dp_header_from_buffer):
31963 * tests/threadstate/threadstate2.c: (eos):
31964 * tools/gst-compprep.c: (main):
31965 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31966 (print_pad_info), (print_children_info):
31967 * tools/gst-launch.c: (idle_func), (main):
31968 * tools/gst-md5sum.c: (idle_func), (main):
31969 * tools/gst-xmlinspect.c: (print_element_info):
31970 First THREADED backport attempt, focusing on adding locks and
31971 making sure the API is threadsafe. Needs more work. More docs
31974 2005-02-24 Andy Wingo <wingo@pobox.com>
31976 * tests/bench-complexity.scm:
31977 * tests/complexity.gnuplot: New files, good for running complexity
31980 * tests/Makefile.am:
31981 * tests/complexity.c: New test, sets up N elements, at each level
31982 teeing into M streams per element. Eeeenteresting.
31984 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31985 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31986 running bench-mass_elements.scm.
31988 * tests/bench-mass_elements.scm: New script, runs mass_elements
31989 for various numbers of identities, outputting the results to a
31990 file. Requires guile 1.6. Just for testing.
31992 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
31994 * gst/schedulers/fairscheduler.c:
31995 compile with debug disabled
31997 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
32000 hunting season on 0.9 is now OPEN