1 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4 (gst_base_sink_send_event):
5 Rearrange the latency query code. We always want to do the upstream
6 query, even if we are not live so that the upstream elements can get the
7 latency results too. If we fail doing the query and we are live, we
8 return TRUE afterwards.
10 2008-04-24 Stefan Kost <ensonic@users.sf.net>
12 patch by: Jason Zhao <e3423c@motorola.com>
14 * docs/gst/running.xml:
16 Enable/disable scan_and_update_registry() based on commandline switch
17 or environment variable. Fixes #520468.
20 Fix typo in my previous commit.
22 2008-04-24 Stefan Kost <ensonic@users.sf.net>
24 * gst/gstregistrybinary.c:
25 Add a warning if we hit unhandled factories when saving.
26 More debug logging detail, but move to LOG category.
28 2008-04-24 Stefan Kost <ensonic@users.sf.net>
31 Tell the *truth* when improving the documentation.
33 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
35 * gst/gstelementfactory.c: (gst_element_factory_make):
36 Unref the factory after it was used the last time, not before.
38 * gst/gstindexfactory.c: (gst_index_factory_make):
39 Improve debugging a bit and don't leak a ref to the index factory with
42 2008-04-23 Stefan Kost <ensonic@users.sf.net>
45 Improve the documentation.
47 2008-04-23 Stefan Kost <ensonic@users.sf.net>
50 The glib macro seems to be borked. Use g_slice_copy directly and cast
51 in the hope that this fixes the warning on 64bit.
53 2008-04-23 Stefan Kost <ensonic@users.sf.net>
56 Document the new function. Use g_slice_dup() (no need for
59 2008-04-23 Stefan Kost <ensonic@users.sf.net>
61 * docs/gst/gstreamer-sections.txt:
62 Move GParamSepc macros to standart section.
65 Dn't document _get_type - its in private section in docs anyway and
66 this doc-blob was incomplete.
69 Fix wrong symbol names in docs.
72 Add once doc sentence.
74 * tests/check/gst/.cvsignore:
77 2008-04-21 Stefan Kost <ensonic@users.sf.net>
79 * docs/gst/Makefile.am:
80 And remove those libs here.
82 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
84 * docs/libs/Makefile.am:
85 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
87 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
89 Patch by: Olivier Crete <tester at tester dot ca>
91 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
92 Add the min-threshold to the min latency if possible. Fixes #529148.
94 2008-04-21 Stefan Kost <ensonic@users.sf.net>
96 * docs/gst/gstreamer.types.in:
97 Stupid editor, I removed that line as it should go in yet.
99 2008-04-21 Stefan Kost <ensonic@users.sf.net>
101 * docs/gst/gstreamer.types.in:
102 * docs/libs/gstreamer-libs.types:
103 Remove library types fro core docs and have them in libs docs.
104 Reformat and cleanup. Add comment for miniobject types.
106 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
108 * gst/gsturi.c: (gst_uri_get_protocol):
109 Fix leak: g_strdown operates on the string in place, while
110 g_ascii_strdown() returns a newly-allocated string.
112 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
114 * tools/gst-inspect.c: (print_uri_handler_info),
115 (print_element_info):
116 Print the URI protocols and the URI type supported by the element.
118 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
120 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
121 Use g_value_take_string() instead of the deprecated
122 g_value_set_string_take_ownership().
124 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
126 * gst/gstregistrybinary.c: (_gst_crc32):
127 Return the old CRC instead of 0 if we give a NULL buffer
128 or a buffer with a length of 0.
130 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
132 * gst/gsturi.c: (gst_uri_protocol_check_internal),
133 (gst_uri_get_protocol), (gst_uri_has_protocol),
134 (gst_uri_construct), (gst_uri_handler_set_uri):
135 A valid URI scheme can also include '+', '-' and '.' additional
136 to alphanumeric characters as per RFC 3986 Section 3.1.
138 Handle URI schemes case insensitive in all places and convert
139 to lower-case when constructing an URI or setting an URI with
140 the GstURIHandler interface. Fixes bug #528868.
141 All elements can still assume (as before) that they will
142 get passed URIs with a lower-case URI scheme by the GstURIHandler
145 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
147 * gst/gstcaps.c: (gst_static_caps_get):
148 * gst/gstclock.c: (gst_clock_entry_new):
149 Don't use g_atomic_set_int where it's not needed.
151 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
153 * gst/gstvalue.c: (gst_value_deserialize_caps):
154 * gst/parse/grammar.y:
157 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
159 * gst/gstutils.c: (gst_atomic_int_set):
160 Use g_atomic_int_set() here too instead of assignment +
163 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
167 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
168 now that we depend on new enough GLib.
170 * gst/gstcaps.c: (gst_static_caps_get):
171 * gst/gstclock.c: (gst_clock_entry_new):
172 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
173 (gst_debug_set_default_threshold), (_gst_debug_category_new),
174 (gst_debug_category_set_threshold):
175 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
176 (gst_base_sink_set_qos_enabled):
177 * libs/gst/net/gstnettimeprovider.c:
178 (gst_net_time_provider_set_property):
179 Use g_atomic_int_set() instead of gst_atomic_int_set().
181 2008-04-16 Stefan Kost <ensonic@users.sf.net>
184 Also use G_GINT64_CONSTANT for the queries.
186 2008-04-16 Stefan Kost <ensonic@users.sf.net>
189 Use G_GINT64_CONSTANT in varargs function.
191 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
193 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
194 Initialize the registry magic with zeroes.
196 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
198 * gst/gstregistrybinary.c: (_gst_crc32),
199 (gst_registry_binary_write),
200 (gst_registry_binary_initialize_magic),
201 (gst_registry_binary_write_cache),
202 (gst_registry_binary_check_magic),
203 (gst_registry_binary_read_cache):
204 * gst/gstregistrybinary.h:
205 Add crc32 checksum to the binary registry file and check this before
206 accepting a registry file.
208 Also free the data list when writing to the registry file fails.
210 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
212 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
213 (gst_registry_binary_load_feature),
214 (gst_registry_binary_load_plugin):
215 If an element supports the Uri interface, returns a valid pointer
216 to the supported URI protocols but this pointer contains nothing
217 don't try to save that as it will corrupt the registry.
219 Don't unref the plugin if we added it to the registry already but
220 fail to load a feature as gst_registry_add_plugin() takes ownership
223 Improve debugging a bit.
225 2008-04-16 Stefan Kost <ensonic@users.sf.net>
228 Clarify some tag item docs after discussion on irc.
230 2008-04-15 Stefan Kost <ensonic@users.sf.net>
232 * docs/gst/gstreamer-docs.sgml:
233 Remove commented out plugins (they have their own docs). Update
236 2008-04-15 Stefan Kost <ensonic@users.sf.net>
238 * docs/gst/gstreamer-docs.sgml:
239 * docs/gst/gstreamer-sections.txt:
240 * gst/gstparamspecs.c:
241 * gst/gstparamspecs.h:
242 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
246 This now only documents GValue.
248 * docs/libs/gstreamer-libs-sections.txt:
249 * libs/gst/controller/gstcontroller.h:
250 Remove GST_PARAM_CONTROLLABLE.
252 2008-04-15 Stefan Kost <ensonic@users.sf.net>
255 Correct file path. Tell about how to use -overrides.txt.
256 * docs/design/draft-tagreading.txt:
259 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
261 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
262 (gst_registry_binary_load_plugin):
263 Fix a typo in a debug message and revert change from yesterday as
264 gst_registry_add_plugin() will only fail if something is really wrong
265 already and we can't survive it anyway.
267 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
269 * gst/gst.c: (init_post), (gst_deinit):
270 Pre-register GstGError GType from a thread-safe context
271 (fixes #527967); unref enum type classes in deinit.
273 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
275 Patch by: Rene Stadler <mail at renestadler de>
277 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
278 Merging an empty list with another list in KEEP_ALL mode should
279 yield an empty list as result and not the second list (#512578).
281 * tests/check/gst/gsttagsetter.c:
282 Add unit test for tag merge modes and the aforementioned bug.
284 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
286 Patch by: Rene Stadler <mail at renestadler de>
289 Fix description to match the order in the table (#512577).
291 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
293 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
295 * libs/gst/net/gstnettimepacket.h:
296 * docs/libs/gstreamer-libs-sections.txt:
297 Define socklen_t as int if it's not defined yet. Fixes compilation
298 with MSVC6 and other versions where socklen_t is not defined in
299 the windows headers (#518022).
301 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
303 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
304 If gst_registry_add_plugin() fails our reference to the plugin is
305 invalid so don't try to use it anymore and instead error out.
307 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
309 * tools/gst-xmlinspect.c: (print_element_info), (main):
310 De-cruft a bit. If no argument is specified, print all elements in
311 XML syntax rather than a freestyle list of elements like gst-inspect.
312 Also, don't print XML header chunk unless we actually have something
313 to print (ie. don't print it before an error message); print error
314 message to stderr not stdout. Remove support for printing plugin
315 info (it would just output something freestyle along the lines of
316 gst-inspect so far), which fixes #514507. Also add license header.
318 2008-04-11 Julien Moutte <julien@fluendo.com>
321 * configure.ac: Merge platform specific defines, introduce a new
322 define on OS X to remember that forking when updating registry is
324 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
326 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
328 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
329 condition that leads to absolutely no plugins being registered on
332 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
334 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
336 * gst/gstutils.c: (gst_pad_add_data_probe),
337 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
338 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
339 (gst_pad_add_buffer_probe_full):
341 * docs/gst/gstreamer-sections.txt:
342 * win32/common/libgstreamer.def:
343 Add gst_pad_add_*_probe_full() functions with a notify callback that
344 lets the caller free the data it passes to the probe functions. This
345 is useful for bindings such as gst-python or gstreamermm (#526814).
346 API: gst_pad_add_data_probe_full
347 API: gst_pad_add_buffer_probe_full
348 API: gst_pad_add_event_probe_full
350 * tests/check/gst/gstutils.c:
351 Add minimal unit test to make sure freeing the data actually works
354 * tests/benchmarks/.cvsignore:
355 Random cvsignore addendum.
357 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
359 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
360 (GST_DEBUG_BIN_TO_DOT_FILE):
361 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
362 to it in the docs (since these are macros the types of the arguments
363 won't be shown in the docs otherwise).
365 2008-04-10 Stefan Kost <ensonic@users.sf.net>
368 Do not abort on out of memory for pad_alloc_buffer.
370 2008-04-10 Stefan Kost <ensonic@users.sf.net>
372 * libs/gst/check/gstcheck.c:
373 Remove blank line between symbol name ad parameters to fix gtkdoc
376 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
378 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
380 * docs/gst/gstreamer-sections.txt:
383 * win32/common/libgstreamer.def:
384 Expose gst_segment_copy() to make things easier for the c++ bindings.
386 API: gst_segment_copy()
388 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
390 * gst/gst.c: (gst_init_get_option_group), (init_post):
391 Fix const position; ref GType classes for enum types to work
392 around thread-safety issues in GLib versions < 2.16.
394 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
396 * docs/design/part-buffering.txt:
397 Fix some typos and set the estimated total for push mode to -1.
399 * gst/gstquery.c: (gst_query_new_buffering):
400 Set buffering-left to 0 as we're not buffering by default.
402 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
403 Implement BUFFERING query.
405 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
407 Based on patch by: Milosz Derezynski <internalerror gmail com>
409 * gst/gsterror.c: (_gst_stream_errors_init):
411 Add two new error codes for encrypted content. Fixes #524659.
412 API: GST_STREAM_ERROR_DECRYPT
413 API: GST_STREAM_ERROR_DECRYPT_NOKEY
415 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
420 * win32/common/libgstreamer.def:
423 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
425 * plugins/elements/gstidentity.c: (gst_identity_event),
426 (gst_identity_start):
427 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
428 event after processing some data. Fixes bug #526042.
430 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
432 * docs/gst/gstreamer-sections.txt:
433 * gst/gstquery.c: (gst_query_parse_latency),
434 (gst_query_set_buffering_percent),
435 (gst_query_parse_buffering_percent),
436 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
438 Rename _avail -> _range
439 API: gst_query_set_buffering_range
440 API: gst_query_parse_buffering_range
442 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
444 * docs/design/part-buffering.txt:
447 * gst/gstquery.c: (gst_query_parse_latency),
448 (gst_query_new_buffering), (gst_query_set_buffering_percent),
449 (gst_query_parse_buffering_percent):
451 Add busy field and quark for the buffering query so that the app can
452 only use the query to see if buffering is in progress.
454 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
456 * docs/gst/gstreamer-sections.txt:
457 * gst/gstmessage.c: (gst_message_set_buffering_stats),
458 (gst_message_parse_buffering_stats):
460 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
461 (gst_query_parse_latency), (gst_query_new_buffering),
462 (gst_query_set_buffering_percent),
463 (gst_query_parse_buffering_percent),
464 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
465 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
467 Reorder the message docs and headers for clarity.
468 Add aditional buffering stats API for messages.
470 Convert some leftover queries to use GstQuark.
471 API: gst_message_set_buffering_stats
472 API: gst_message_parse_buffering_stats
473 API: GST_QUERY_BUFFERING
474 API: GstBufferingMode
475 API: gst_query_new_buffering
476 API: gst_query_set_buffering_percent
477 API: gst_query_parse_buffering_percent
478 API: gst_query_set_buffering_stats
479 API: gst_query_parse_buffering_stats
481 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
483 * gst/gstmessage.c: (gst_message_new_error),
484 (gst_message_new_warning), (gst_message_new_info),
485 (gst_message_new_buffering), (gst_message_new_state_changed),
486 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
487 (gst_message_new_new_clock), (gst_message_new_segment_start),
488 (gst_message_new_segment_done), (gst_message_new_duration),
489 (gst_message_new_async_start), (gst_message_parse_buffering),
490 (gst_message_parse_state_changed),
491 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
492 (gst_message_parse_new_clock), (gst_message_parse_error),
493 (gst_message_parse_warning), (gst_message_parse_info),
494 (gst_message_parse_segment_start),
495 (gst_message_parse_segment_done), (gst_message_parse_duration),
496 (gst_message_parse_async_start):
497 Use GstQuark for messages.
499 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
501 * gst/gstquark.c: (_priv_gst_quarks_initialize):
503 Add some more quarks needed for messages and queries.
505 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
507 * docs/design/part-buffering.txt:
508 Remove the "none" buffering mode, STREAM is a good default.
509 Move estimated-time to the avail query, that's when it will be needed.
510 Other small typo fixes and updates.
512 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
514 * gst/gstindex.c: (gst_index_resolver_get_type):
515 Don't put descriptions into the nick field of a GEnumValue: it's not
516 meant for that and some language bindings rely on the nick field to
517 construct constants and the like. Fixes #526705.
519 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
524 Merge other changes from 0.10.19 release branch.
526 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
528 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
531 Actually build dlls when cross-compiling with mingw32.
534 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
536 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
539 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
541 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
543 * docs/design/draft-latency.txt:
546 * docs/design/part-buffering.txt:
547 Update design docs with more buffering ideas.
549 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
552 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
554 2008-04-03 Stefan Kost <ensonic@users.sf.net>
557 Revert part that belongs to the preset patch.
559 2008-04-03 Stefan Kost <ensonic@users.sf.net>
562 Add qoutes to the define. Fixes # 525961.
564 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
566 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
567 (gst_file_index_load), (gst_file_index_add_id),
568 (gst_file_index_get_assoc_entry):
569 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
570 (gst_mem_index_free_id), (gst_mem_index_add_id),
571 (gst_mem_index_index_format):
572 Use GSlice when possible.
574 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
576 * libs/gst/controller/gstinterpolationcontrolsource.c:
577 (gst_control_point_free),
578 (gst_interpolation_control_source_set_internal):
579 Use GSlice for allocating the control points.
581 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
583 * plugins/elements/gsttypefindelement.c:
584 (gst_type_find_element_class_init),
585 (gst_type_find_element_set_property),
586 (gst_type_find_element_get_property),
587 (gst_type_find_element_activate):
588 * plugins/elements/gsttypefindelement.h:
590 Fix pad leak when peer query fails.
591 We can still typefind when the peer returns -1.
592 Add property to force caps and bypass typefinding. This will be used in
596 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
601 * gst/glib-compat-private.h:
602 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
603 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
604 Unconditionally use GSlice for allocation.
606 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
607 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
608 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
609 (gst_structure_free):
610 Use GSlice for allocation.
612 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
614 * gst/parse/Makefile.am:
615 * gst/parse/grammar.tab.pre.c:
616 * gst/parse/grammar.tab.pre.h:
617 * gst/parse/lex._gst_parse_yy.pre.c:
618 Require a new enough flex and bison and remove the parser hacks to use
619 a pre-regenerated version.
621 2008-04-01 Julien Moutte <julien@fluendo.com>
623 patch by: Jason Zhao <E3423C@motorola.com>
625 * configure.ac: Add a configure switch to disable option parsing
629 2008-03-31 Stefan Kost <ensonic@users.sf.net>
633 MacOS has plugins under .so or under .dylib. Add detection for MacOS
634 and handle this case.
637 Add a comment here describing, why we stat each plugin and not try to
640 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
642 * libs/gst/base/gstbasetransform.c:
643 (gst_base_transform_prepare_output_buffer):
644 Also unset the GAP flag on buffers if we're working inplace but
645 the element is not GAP-aware.
647 Mark a comment as FIXME 0.11.
649 2008-03-31 Stefan Kost <ensonic@users.sf.net>
652 Fix type in log message and add one to ease seeing how long registry
653 cache verification takes.
656 Only test plugin filenames against G_MODULE_SUFFIX.
658 2008-03-31 Stefan Kost <ensonic@users.sf.net>
660 * gst/gstdebugutils.c:
661 Improve handling ghost/proxy pads.
663 2008-03-27 Stefan Kost <ensonic@users.sf.net>
665 * docs/gst/gstreamer-sections.txt:
668 Expose macro to docs and fix link to it.
670 2008-03-27 Michael Smith <msmith@fluendo.com>
672 * libs/gst/dataprotocol/dataprotocol.c:
673 (gst_dp_packet_from_event_1_0):
674 When calculating GDP body CRC, use the correct pointer.
675 Fixes part of #522401.
677 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
679 Patch by: Mark Nauwelaerts <manauw at skynet be>
681 * plugins/elements/gstidentity.c: (gst_identity_class_init),
682 (gst_identity_init), (gst_identity_prepare_output_buffer):
683 Identity is not always a passthrough element, it can modify the buffer
684 timestamps when it has a datarate and operates in single-segment mode.
685 We therefore make it an in_place filter with a custom buffer prepare
686 function that conditionally makes the input buffer metadata writable
687 when needed. Fixes #523985.
689 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
691 Patch by: Mark Nauwelaerts <manauw at skynet be>
694 * libs/gst/base/gstbasesrc.h:
695 * libs/gst/base/gstbasetransform.c:
696 * libs/gst/check/gstcheck.c:
697 Small documentation fixes. Fixes #523978.
699 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
701 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
702 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
703 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
705 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
707 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
708 (single_queue_underrun_cb):
709 When trying to make room in the queue, bump the max allowed buffers
710 bigger than the current amount of buffers in the queue. this fixes some
711 nasty deadlocks in multiqueue when dynamically changing the limits of
714 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
716 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
718 * gst/gstcaps.c: (gst_caps_set_simple),
719 (gst_caps_set_simple_valist), (gst_caps_intersect):
721 Constify the field gchar * params in set_simple and friends.
724 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
726 * gst/gstvalue.c: (gst_value_transform_object_string):
727 Transform a GstObject to a more meaningfull string that includes the
728 object type in addition to its name.
730 2008-03-23 Stefan Kost <ensonic@users.sf.net>
733 ChangeLog surgery to add bugnumber to commit.
735 2008-03-23 Rene Stadler <mail@renestadler.de>
737 * libs/gst/base/gstbasetransform.c:
738 (gst_base_transform_set_gap_aware): Fix confusing documentation.
740 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
742 * gst/gstregistrybinary.c: (gst_registry_binary_write):
743 Rename constant everywhere and don't forget one occurence.
745 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
747 * gst/gstregistrybinary.c: (gst_registry_binary_write):
748 Align memory to the pointer size even if the architecture allows
749 unaligned memory access. Unaligned memory access usually comes with
750 performance penality.
752 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
754 * gst/gstregistrybinary.c: (gst_registry_binary_write),
755 (gst_registry_binary_check_magic),
756 (gst_registry_binary_load_pad_template),
757 (gst_registry_binary_load_feature),
758 (gst_registry_binary_load_plugin):
759 Align memory to the pointer size instead of always 32 bit. Fixes
760 unaligned memory accesses on ia64 and friends.
762 * gst/gstregistrybinary.h:
763 Bump binary registry format version for this as it changes the
764 format on those architectures that don't have unaligned access
767 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
769 * docs/pwg/advanced-dparams.xml:
770 * docs/pwg/building-props.xml:
771 * docs/pwg/other-source.xml:
773 * gst/gstbin.c: (gst_bin_class_init):
774 * gst/gstclock.c: (gst_clock_class_init):
775 * gst/gstindex.c: (gst_index_class_init):
776 * gst/gstobject.c: (gst_object_class_init):
777 * gst/gstpad.c: (gst_pad_class_init):
778 * gst/gstpipeline.c: (gst_pipeline_class_init):
779 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
780 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
781 * libs/gst/base/gstbasetransform.c:
782 (gst_base_transform_class_init):
783 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
784 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
785 (_gst_check_fault_handler_sighandler),
786 (_gst_check_fault_handler_setup), (gst_check_init):
787 * libs/gst/controller/gstcontroller.c:
788 (_gst_controller_class_init):
789 * libs/gst/controller/gstlfocontrolsource.c:
790 (gst_lfo_control_source_class_init):
791 * libs/gst/net/gstnetclientclock.c:
792 (gst_net_client_clock_class_init):
793 * libs/gst/net/gstnettimeprovider.c:
794 (gst_net_time_provider_class_init):
795 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
796 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
797 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
798 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
799 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
800 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
801 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
802 * plugins/elements/gstidentity.c: (gst_identity_class_init):
803 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
804 * plugins/elements/gstqueue.c: (gst_queue_class_init):
805 * plugins/elements/gsttee.c: (gst_tee_class_init):
806 * plugins/elements/gsttypefindelement.c:
807 (gst_type_find_element_class_init):
808 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
809 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
810 use it everywhere for GParamSpecs that use static strings (i.e. all).
811 This gives us less memory usage, fewer allocations and thus less
812 memory defragmentation. Fixes bug #523806.
814 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
816 * gst/gstminiobject.c: (gst_value_dup_mini_object),
817 (gst_param_spec_mini_object):
818 * gst/gstminiobject.h:
819 * win32/common/libgstreamer.def:
820 * docs/gst/gstreamer-sections.txt:
821 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
822 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
823 GstParamSpecMiniObject into a public header for this.
825 This make GstMiniObject a bit more consistent with GObject and makes
826 it possible to extend the param specs.
828 gst_value_dup_mini_object is mainly useful for set_property methods.
832 * tools/gst-inspect.c: (print_element_properties_info):
833 Print something useful for GstMiniObject properties and not just
836 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
838 * docs/gst/gstreamer-sections.txt:
839 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
840 (gst_registry_binary_check_magic):
841 * gst/gstregistrybinary.h:
842 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
843 and add it to the (private part) of the docs to fix the build.
845 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
847 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
848 (gst_registry_binary_check_magic),
849 (gst_registry_binary_read_cache):
850 * gst/gstregistrybinary.h:
851 Don't use GST_MAJORMINOR for the binary registry version. Instead
852 hardcode a value that must be changed whenever the format changes
853 in an incompatible way.
854 Also don't GST_ERROR when there is a version mismatch, just
855 regenerate the registry silently.
857 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
860 Back to development - 0.10.18.1
862 === release 0.10.18 ===
864 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
867 releasing 0.10.18, "So far away"
869 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
872 * win32/common/config.h:
873 0.10.17.4 pre-release
875 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
877 Patch by: Ole André Vadla Ravnås
878 <ole dot andre dot ravnas at tandberg dot com>
880 * docs/gst/gstreamer-sections.txt:
881 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
882 (gst_poll_update_winsock_event_mask),
883 (gst_poll_prepare_winsock_active_sets),
884 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
885 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
886 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
887 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
888 (gst_poll_check_ctrl_commands), (gst_poll_wait):
890 * win32/common/libgstreamer.def:
891 Add new function gst_poll_fd_ignored() for improved Windows
893 Various minor fixes and cleanups. See #520808.
895 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
897 * gst/gstindex.c: (gst_index_entry_free):
899 Don't free key strings which we don't own. Fixes crash in
900 gst_index_entry_free() (#522741).
902 * tests/check/Makefile.am:
903 * tests/check/gst/.cvsignore:
904 * tests/check/gst/gstindex.c: (test_index_entries),
905 (gst_index_suite), (gst_index):
906 Add unit test for the above.
908 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
910 * win32/common/libgstreamer.def:
911 Remove symbols that were removed recently. Fixes bug #521740.
913 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
916 * win32/common/config.h:
917 0.10.17.3 pre-release
919 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
921 Patch by: Ole André Vadla Ravnås
922 <ole dot andre dot ravnas at tandberg dot com>
924 * docs/gst/gstreamer-sections.txt:
925 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
926 (gst_poll_update_winsock_event_mask), (gst_poll_new),
927 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
928 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
929 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
930 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
931 (gst_poll_fd_can_write), (gst_poll_wait),
932 (gst_poll_set_controllable), (gst_poll_restart),
933 (gst_poll_set_flushing):
935 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
936 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
937 (gst_net_time_provider_new):
938 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
939 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
940 * tests/benchmarks/gstpollstress.c: (main):
941 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
942 Remove GstPollMode from the API, it does not make sense to let the
943 application control this.
944 Add support for Win32.
945 Fix the testsuite. Fixes #520671.
947 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
949 Patch by: Ole André Vadla Ravnås
950 <ole dot andre dot ravnas at tandberg dot com>
952 * gst/gstregistrybinary.c:
953 Include io.h for write() and close() when building with MSVC. Fixes
956 2008-03-07 Stefan Kost <ensonic@users.sf.net>
960 * gst/gstconfig.h.in:
962 * gst/gstregistrybinary.c:
963 * win32/common/gstconfig.h:
964 Move registry backend API to private headers where we can. Add
965 fixme-0.11 comments for the others. Add stubs for the xml backend when
966 using the binary to ensure they functions exists (they should not be
967 used though). Fixes #520756.
969 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
972 * win32/common/config.h:
975 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
977 * gst/gstregistrybinary.c: (gst_registry_binary_write),
978 (gst_registry_binary_read_cache):
979 * gst/gstregistryxml.c: (gst_registry_save):
980 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
981 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
982 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
983 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
984 Switch to using portabl gsize/gssize instead of size_t/ssize_t
987 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
989 * gst/gstminiobject.c:
990 Import gst_private.h before any other header that might include other
991 glib headers. This fixes the build on windows using native compilers.
993 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
995 * win32/common/gstconfig.h:
996 Add here too, just for completeness.
998 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
1001 * gst/gstconfig.h.in:
1002 * gst/gstregistry.h:
1003 Fix broken use of config.h-defined preprocessor directive in a public
1004 header file. Add a corresponding define to gstconfig.h, since we can't
1005 really remove those function declarations from the header file now
1006 (or can we? and why are they there in the first place?).
1008 2008-03-03 Andy Wingo <wingo@pobox.com>
1010 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
1013 * gst/gststructure.c (gst_structure_from_string): Warn if
1014 structure_from_string didn't consume the whole string, but the
1015 caller did not provide an end pointer.
1017 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
1019 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
1021 * gst/gstregistryxml.c: (read_string), (load_feature):
1022 Strings allocated by libxml2 should be freed with xmlFree(), not
1023 with g_free(). Fixes issues on windows in certain contexts (#519698).
1025 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
1027 * gst/gstinterface.c: (gst_element_implements_interface):
1028 Don't crash if the element supports the interface queried, but does
1029 not implement GstImplementsInterface. Fixes #519584.
1031 * tests/check/Makefile.am:
1032 * tests/check/gst/.cvsignore:
1033 * tests/check/gst/gstinterface.c:
1034 Add unit test for the above.
1036 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1038 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1041 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1043 * gst/gstsegment.c: (gst_segment_set_seek),
1044 (gst_segment_to_stream_time):
1045 Improve some comment.
1046 Update variables where it makes more sense.
1048 2008-02-29 Rene Stadler <mail@renestadler.de>
1050 * gst/gsturi.c: (gst_uri_handler_get_protocols):
1051 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
1052 URIHandlers implemented using language bindings.
1054 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
1056 * gst/gstelementfactory.h:
1057 * tests/check/elements/fakesink.c:
1058 * tests/check/elements/fakesrc.c: (setup_fakesrc):
1059 * tests/check/elements/fdsrc.c: (setup_fdsrc):
1060 * tests/check/elements/filesink.c: (setup_filesink):
1061 * tests/check/elements/filesrc.c: (setup_filesrc):
1062 * tests/check/elements/identity.c: (setup_identity):
1063 * tests/check/elements/tee.c:
1064 * tests/check/generic/sinks.c:
1065 * tests/check/generic/states.c: (setup), (teardown):
1066 * tests/check/gst/gst.c:
1067 * tests/check/gst/gstabi.c:
1068 * tests/check/gst/gstbin.c:
1069 * tests/check/gst/gstbus.c: (pull_messages):
1070 * tests/check/gst/gstcaps.c:
1071 * tests/check/gst/gstelement.c:
1072 * tests/check/gst/gstevent.c:
1073 * tests/check/gst/gstghostpad.c:
1074 * tests/check/gst/gstiterator.c:
1075 * tests/check/gst/gstmessage.c:
1076 * tests/check/gst/gstminiobject.c: (my_foo_init):
1077 * tests/check/gst/gstobject.c: (thread_name_object),
1079 * tests/check/gst/gstpad.c:
1080 * tests/check/gst/gstplugin.c:
1081 * tests/check/gst/gstpoll.c:
1082 * tests/check/gst/gstquery.c:
1083 * tests/check/gst/gstsegment.c:
1084 * tests/check/gst/gststructure.c:
1085 * tests/check/gst/gstsystemclock.c:
1086 * tests/check/gst/gsttask.c:
1087 * tests/check/gst/gstutils.c:
1088 * tests/check/gst/gstvalue.c:
1089 * tests/check/gst/struct_hppa.h:
1090 * tests/check/gst/struct_i386.h:
1091 * tests/check/gst/struct_ppc32.h:
1092 * tests/check/gst/struct_ppc64.h:
1093 * tests/check/gst/struct_x86_64.h:
1094 * tests/check/libs/adapter.c: (create_and_fill_adapter):
1095 * tests/check/libs/basesrc.c:
1096 * tests/check/libs/controller.c: (GST_START_TEST):
1097 * tests/check/libs/gdp.c:
1098 * tests/check/libs/gstnetclientclock.c:
1099 * tests/check/libs/gstnettimeprovider.c:
1100 * tests/check/libs/libsabi.c:
1101 * tests/check/libs/struct_hppa.h:
1102 * tests/check/libs/struct_i386.h:
1103 * tests/check/libs/struct_ppc32.h:
1104 * tests/check/libs/struct_ppc64.h:
1105 * tests/check/libs/struct_x86_64.h:
1106 * tests/check/pipelines/cleanup.c:
1107 * tests/check/pipelines/simple-launch-lines.c:
1108 * tests/check/pipelines/stress.c:
1109 And correct even more valid sparse warnings.
1111 * win32/common/libgstreamer.def:
1112 Add gst_poll_fd_init to the list of symbols.
1114 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
1116 * gst/gstconfig.h.in:
1117 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
1118 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
1119 (gst_check_log_critical_func), (gst_check_drop_buffers),
1120 (gst_check_element_push_buffer_list):
1121 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
1122 (gst_controller_get_type):
1123 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
1124 (gst_object_get_controller), (gst_object_get_control_source):
1125 * libs/gst/controller/gstinterpolationcontrolsource.c:
1126 (gst_interpolation_control_source_new):
1127 * libs/gst/controller/gstlfocontrolsource.c:
1128 (gst_lfo_control_source_new):
1129 * libs/gst/dataprotocol/dataprotocol.c:
1130 (gst_dp_event_from_packet_0_2):
1131 * plugins/elements/gstfdsrc.c:
1132 * plugins/elements/gstmultiqueue.c:
1133 * plugins/elements/gsttee.c:
1134 * plugins/elements/gsttypefindelement.c:
1135 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
1136 (gst_file_index_add_association):
1137 * plugins/indexers/gstmemindex.c:
1138 * tests/benchmarks/gstpollstress.c: (mess_some_more):
1139 * tests/check/elements/queue.c: (setup_queue):
1140 * tests/check/gst/gstpipeline.c:
1141 * tests/check/libs/collectpads.c: (setup), (teardown),
1142 (gst_collect_pads_suite):
1143 * tests/examples/adapter/adapter_test.c:
1144 * tests/examples/metadata/read-metadata.c: (make_pipeline):
1145 * tests/examples/xml/createxml.c:
1146 * tests/examples/xml/runxml.c:
1147 * tools/gst-inspect.c:
1149 Correct all relevant warnings found by the sparse semantic code
1150 analyzer. This include marking several symbols static, using
1151 NULL instead of 0 for pointers, not using variable sized arrays
1152 on the stack, moving variable declarations to the beginning of
1153 a block and using "foo (void)" instead of "foo ()" for declarations.
1155 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
1157 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1158 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1159 Don't reset GstPollFDs, this is not necessary at all.
1161 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1162 (delayed_restart), (delayed_control):
1163 Use GST_POLL_FD_INIT.
1165 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1167 * gst/gstpoll.c: (gst_poll_fd_init):
1171 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1172 Use some more init macros.
1174 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1176 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1177 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1178 Use init macros and functions.
1180 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1182 * docs/gst/gstreamer-sections.txt:
1183 * gst/gstpoll.c: (gst_poll_fd_init):
1185 Add INIT macro and _init method for initializing the GstPollFD.
1187 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
1189 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
1190 (gst_fd_sink_update_fd):
1191 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1192 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1193 (delayed_restart), (delayed_control):
1194 Initialize some uninitialized variables as spotted by valgrind.
1196 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
1198 * tests/benchmarks/Makefile.am:
1199 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
1201 Add poll stress test.
1203 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
1205 Patch by: Peter Kjellerstedt <pkj at axis dot com>
1207 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1208 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
1209 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
1210 * plugins/elements/gstfdsink.h:
1211 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
1212 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
1213 (gst_fd_src_unlock_stop), (gst_fd_src_create),
1214 (gst_fd_src_uri_set_uri):
1215 * plugins/elements/gstfdsrc.h:
1216 Port to GstPoll. See #505417.
1218 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
1220 * win32/common/libgstreamer.def:
1221 Add new gst_poll_ symbols to win32 defs.
1223 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
1225 * docs/libs/gstreamer-libs-sections.txt:
1226 * libs/gst/net/gstnetclientclock.c:
1227 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
1228 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
1229 (gst_net_client_clock_thread), (gst_net_client_clock_start),
1230 (gst_net_client_clock_stop), (gst_net_client_clock_new):
1231 * libs/gst/net/gstnetclientclock.h:
1232 * libs/gst/net/gstnettimeprovider.c:
1233 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
1234 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
1235 (gst_net_time_provider_start), (gst_net_time_provider_stop),
1236 (gst_net_time_provider_new):
1237 * libs/gst/net/gstnettimeprovider.h:
1238 Use a private stuct to not break ABI.
1240 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
1242 Patch by: Peter Kjellerstedt <pkj at axis dot com>
1244 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
1245 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
1246 (gst_net_client_clock_thread), (gst_net_client_clock_start),
1247 (gst_net_client_clock_stop), (gst_net_client_clock_new):
1248 * libs/gst/net/gstnetclientclock.h:
1249 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
1250 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
1251 (gst_net_time_provider_start), (gst_net_time_provider_stop),
1252 (gst_net_time_provider_new):
1253 * libs/gst/net/gstnettimeprovider.h:
1254 Massive code removal and cleanups because of GstPoll.
1257 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
1260 Add checks for poll, ppoll and pselect.
1262 * docs/gst/gstreamer-docs.sgml:
1263 * docs/gst/gstreamer-sections.txt:
1264 Add docs for GstPoll.
1268 * gst/gstpoll.c: (find_index), (selectable_fds),
1269 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
1270 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
1271 (gst_poll_set_mode), (gst_poll_get_mode),
1272 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
1273 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
1274 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
1275 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
1276 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
1277 (gst_poll_fd_can_write), (gst_poll_wait),
1278 (gst_poll_set_controllable), (gst_poll_restart),
1279 (gst_poll_set_flushing):
1281 Add generic poll abstraction. We ideally don't want to have this in core
1282 here but in glib intead...
1283 This code will be used in various network elements and ultimately for
1284 the nanosecond precision monotonic clock (that's why it's here in core).
1285 It'll allow us to implement cancelable socket operations for windows too.
1287 * tests/check/Makefile.am:
1288 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1289 (delayed_stop), (delayed_restart), (delayed_flush),
1290 (delayed_control), (gst_poll_suite):
1291 Add GstPoll unit test.
1293 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
1296 Improve documentation of gst_filter_run(). Fixes #518627.
1298 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
1301 Add a few lines about the new 'check-inspected-versions' target.
1303 2008-02-21 Stefan Kost <ensonic@users.sf.net>
1305 * tests/check/gst/gstevent.c:
1306 Add qos to the event test. Rename tcase/tsuite; is not only about
1309 2008-02-21 Stefan Kost <ensonic@users.sf.net>
1311 * plugins/elements/gstqueue.c:
1312 Ensure that buffer metadata is writeable, before modifying. Spotted by
1315 2008-02-20 Stefan Kost <ensonic@users.sf.net>
1317 * plugins/elements/gstqueue.c:
1318 * plugins/elements/gstqueue.h:
1319 When dropping buffers in leaky modes, mark next buffers we sent as
1322 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
1324 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
1325 Also, if mmap() fails that would be a READ error, not OPEN_READ.
1327 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
1329 * plugins/elements/Makefile.am:
1330 * plugins/elements/gstbufferstore.c:
1331 * plugins/elements/gstbufferstore.h:
1332 * plugins/elements/gsttypefindelement.h:
1333 Remove GstBufferStore, no idea why we were still building it.
1334 It's not used anywhere and superseded by GstAdapter.
1336 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
1337 (gst_file_src_create_mmap):
1338 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
1339 Printf format fixes for 64-bit integers.
1341 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
1344 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
1345 We're not in 0.8 times anymore.
1347 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
1349 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
1350 (gst_check_element_push_buffer_list):
1351 * libs/gst/check/gstcheck.h:
1352 Make the declaration in the header for
1353 gst_check_element_push_buffer_list match the implementation.
1355 Fix up spelling, grammar and wording of the documentation in a few
1356 places, and add the Since keyword to new API functions.
1357 Use g_list_delete_link instead of g_list_remove in
1358 gst_check_drop_buffers, since it's immeasurably more efficient.
1360 * tests/check/elements/fakesrc.c: (GST_START_TEST):
1361 Use new gst_check_drop_buffers function where appropriate.
1363 * win32/common/libgstbase.def:
1364 * win32/common/libgstreamer.def:
1365 Add new symbols gst_collect_pads_take_buffer,
1366 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
1369 Changelog surgery to add API keyword to new gst_check API.
1371 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
1373 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
1374 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
1375 Update pre-generated flex files with flex 2.3.34.
1377 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
1379 * gst/gstminiobject.c:
1380 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
1381 friendly to subclasses and not require them to know all internals
1382 of their parent class.
1384 2008-02-15 Stefan Kost <ensonic@users.sf.net>
1386 * docs/libs/gstreamer-libs-sections.txt:
1387 * libs/gst/base/gstcollectpads.c:
1388 * libs/gst/base/gstcollectpads.h:
1389 Add sub-buffer functions to collectpads. Fixes #516187.
1390 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
1392 2008-02-15 Stefan Kost <ensonic@users.sf.net>
1395 Copy selected buffer-flags when creating subbuffers.
1398 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
1400 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
1401 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
1402 * gst/gstmessage.c: (gst_message_class_init),
1403 (gst_message_finalize):
1404 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
1405 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
1406 (gst_mmap_buffer_finalize):
1407 Properly chain up finalize functions to the parent class.
1409 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
1411 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
1413 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
1414 (gst_index_set_resolver_full):
1416 Add new function with option to dispose of user_data in resolver.
1417 Actually call the dispose function when finalizing the object and not
1418 just when changing the resolver/filter.
1419 API: GstIndex::gst_index_set_resolver_full()
1421 * docs/gst/gstreamer-sections.txt:
1422 Add new function to docs. Fixes #515469.
1424 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
1426 * gst/gstindex.c: (gst_index_finalize):
1427 Chain up finalize to the parent class. Fixes leaking the GstObject
1428 name and other things.
1430 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
1433 Make DISABLE_DEPRECATED defined *only* during CVS, not during
1434 pre-releases or releases.
1436 * docs/faq/gst-uninstalled:
1439 * docs/random/release:
1440 Change one of the steps - we only upload core & base to Gnome FTP
1442 2008-02-06 Stefan Kost <ensonic@users.sf.net>
1444 * gst/gstconfig.h.in:
1445 Add 'id' for example.
1449 * plugins/elements/gstfdsink.c:
1450 Link to signals. Doc and comment fixes.
1452 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
1454 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
1455 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
1456 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
1457 unused and unimplemented; finally, it is plugin features, not
1458 plugins, that have ranks.
1460 2008-02-05 Stefan Kost <ensonic@users.sf.net>
1462 * gst/gstpluginfeature.h:
1463 Clarify GstRank range docs.
1465 2008-02-05 David Schleef <ds@schleef.org>
1467 * gst/gst.c: Add a separate gst_deinitialized that prevents
1468 gst_init() from being called after gst_deinit(). Fixes #509559
1470 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
1472 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
1473 (gst_bin_class_init):
1474 * gst/gstelement.c: (gst_element_base_class_init),
1475 (gst_element_class_add_pad_template):
1476 * gst/gstpadtemplate.c: (gst_pad_template_init):
1477 * gst/gstpipeline.c: (gst_pipeline_get_type),
1478 (gst_pipeline_base_init), (gst_pipeline_class_init):
1479 * libs/gst/base/gstbasesink.c:
1480 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1481 (gst_base_src_base_init), (gst_base_src_class_init):
1482 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1483 (gst_capsfilter_class_init):
1484 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1485 (gst_fake_sink_class_init):
1486 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1487 (gst_fake_src_class_init):
1488 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1489 (gst_fd_sink_class_init):
1490 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1491 (gst_fd_src_class_init):
1492 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1493 (gst_file_sink_class_init):
1494 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1495 (gst_file_src_class_init):
1496 * plugins/elements/gstidentity.c: (gst_identity_base_init),
1497 (gst_identity_class_init):
1498 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1499 (gst_multi_queue_class_init):
1500 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1501 (gst_queue_class_init):
1502 * plugins/elements/gsttee.c: (gst_tee_base_init),
1503 (gst_tee_class_init):
1504 * plugins/elements/gsttypefindelement.c:
1505 (gst_type_find_element_base_init),
1506 (gst_type_find_element_class_init):
1507 * tests/check/gst/gstelement.c: (gst_element_suite):
1508 Revert previous changes to the behaviour of GstPadTemplates, etc
1509 and the possiblity to call them in class_init as it breaks too
1510 many elements. Reopens bug #491501.
1512 Should be applied again for 0.11, thus added a few FIXME 0.11 at
1515 2008-02-05 Stefan Kost <ensonic@users.sf.net>
1517 * tools/gst-launch.c:
1518 Dump one graph per pipeline state-change and state change name
1519 (if GST_DEBUG_DUMP_DOT_DIR is set).
1521 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
1524 * tests/check/gst/gstpad.c:
1525 Be sure that we have a new copy of the caps and not
1526 reffed caps from a template
1528 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
1530 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
1531 * gst/gstpipeline.c: (gst_pipeline_get_type),
1532 (gst_pipeline_class_init):
1533 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1534 (gst_base_sink_class_init):
1535 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1536 (gst_base_src_class_init):
1537 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
1538 (gst_base_transform_class_init):
1539 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1540 (gst_collect_pads_class_init):
1541 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
1542 * libs/gst/net/gstnettimeprovider.c:
1543 (gst_net_time_provider_base_init),
1544 (gst_net_time_provider_class_init):
1545 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1546 (gst_capsfilter_class_init):
1547 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1548 (gst_fake_sink_class_init):
1549 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1550 (gst_fake_src_class_init):
1551 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1552 (gst_fd_sink_class_init):
1553 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1554 (gst_fd_src_class_init):
1555 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1556 (gst_file_sink_class_init):
1557 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1558 (gst_file_src_class_init):
1559 * plugins/elements/gstidentity.c: (gst_identity_base_init),
1560 (gst_identity_class_init):
1561 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1562 (gst_multi_queue_class_init):
1563 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1564 (gst_queue_class_init):
1565 * plugins/elements/gsttee.c: (gst_tee_base_init),
1566 (gst_tee_class_init):
1567 * plugins/elements/gsttypefindelement.c:
1568 (gst_type_find_element_base_init),
1569 (gst_type_find_element_class_init):
1570 Don't use base_init where not absolutely necessary. For example it's
1571 not necessary anymore for adding pad templates or setting element
1574 Leave empty base_init functions in several places as GST_BOILERPLATE
1575 still defines and uses them.
1577 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
1579 * gst/gstelement.c: (gst_element_base_class_init),
1580 (gst_element_class_add_pad_template):
1581 * gst/gstpadtemplate.c:
1582 Make it possible (and recommended) to set element details and add
1583 pad templates in the class_init functions by copying the details/pad
1584 templates in GstElement's base_init.
1586 Also make it possible to replace existing pad templates by adding
1587 a new one with the same name. This was done in a hackish fashion
1588 in same elements before already.
1590 Don't reference pad templates that are added a second time. A
1591 new pad template has a refcount of one and is not floating anymore
1592 and to be owned by the element's class. Make this more explicit by
1593 mentioning it in the docs of gst_element_class_add_pad_template().
1595 These changes are backwards compatible. Fixes bug #491501.
1597 * tests/check/gst/gstelement.c:
1598 Add unit test for setting element details, adding pad templates and
1599 replacing them in a subclass.
1601 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
1603 * tools/gst-inspect.c: (print_interfaces),
1604 (print_element_properties_info), (print_pad_info),
1605 (print_signal_info), (print_element_info):
1606 Fix a few memory leaks.
1608 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
1610 * docs/libs/gstreamer-libs-sections.txt:
1611 * libs/gst/check/gstcheck.c:
1612 * libs/gst/check/gstcheck.h:
1613 Add more functions for unit testing: gst_check_drop_buffers,
1614 gst_check_caps_equal, gst_check_element_push_buffer_list,
1615 gst_check_element_push_buffer
1616 API: gst_check_drop_buffers
1617 API: gst_check_caps_equal
1618 API: gst_check_element_push_buffer_list
1619 API: gst_check_element_push_buffer
1621 2008-02-01 Julien Moutte <julien@fluendo.com>
1623 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
1624 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
1625 (gst_index_finalize), (gst_index_entry_free),
1626 (gst_index_add_association): Fix memory leaks.
1627 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
1628 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
1629 (gst_mem_index_free_format), (gst_mem_index_free_id),
1630 (gst_mem_index_finalize): Fix memory leaks.
1631 * win32/common/config.h: Updated to CVS HEAD.
1633 2008-02-01 Stefan Kost <ensonic@users.sf.net>
1636 Some more details about how the plugin docs works.
1638 * docs/plugins/gstreamer-plugins-sections.txt:
1641 2008-02-01 Stefan Kost <ensonic@users.sf.net>
1643 * gst/parse/grammar.tab.pre.c:
1644 * gst/parse/grammar.tab.pre.h:
1645 * gst/parse/grammar.y:
1646 * gst/parse/lex._gst_parse_yy.pre.c:
1647 Add delayed set-property. This allows to set properties on dynamicaly
1648 created objects (pads in videomxer). Fixes #509391.
1650 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
1653 Check if caps are not NULL (fix bug #510194)
1655 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
1657 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
1658 (gst_base_sink_get_position_paused):
1659 Add fixme regarding EOS in pull mode.
1660 Fix position reporting in PAUSED for negative rates.
1662 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
1664 * gst/gstminiobject.c: (gst_mini_object_replace):
1665 When replacing a miniobject, do a quick equality check first so that we
1666 can avoid a ref/unref pair.
1668 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
1670 * docs/design/part-synchronisation.txt:
1673 * docs/plugins/Makefile.am:
1674 * docs/plugins/gstreamer-plugins-docs.sgml:
1675 * docs/plugins/gstreamer-plugins-sections.txt:
1676 * plugins/elements/gstmultiqueue.c:
1677 Add multiqueue to the docs.
1679 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1684 === release 0.10.17 ===
1686 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1689 releasing 0.10.17, "Due Negligence"
1691 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1694 Revert caps != NULL check temporarily for 0.10.17 release.
1696 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
1699 Check if caps are not NULL (fix bug #510194)
1701 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1704 Fix compilation on systems that have posix timers but no
1707 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
1710 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1712 * tools/gst-inspect.c:
1713 Revert previous commit in preparation for an impromptu 0.10.17 release
1715 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
1717 * tools/gst-inspect.c: (print_interfaces),
1718 (print_element_properties_info), (print_pad_info),
1719 (print_signal_info), (print_element_info):
1720 Fix a few memory leaks.
1722 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
1727 === release 0.10.16 ===
1729 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
1732 releasing 0.10.16, "Special Dispensation"
1734 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
1737 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
1738 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
1739 not fail when trying to crosscompile on OpenEmbedded (#511750).
1741 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
1744 Use $(MAKE) instead of make to fix the build if GNU make is
1745 called different. Fixes bug #510747.
1747 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
1749 * gst/gstplugin.c: (_gst_plugin_initialize):
1750 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
1751 again, which I broke two commits ago when changing the API
1752 of gst_plugin_register_static(): the g_list_foreach() in
1753 _gst_plugin_register_static still assumed the old function
1754 signature and would therefore fail (re-fixes #510187).
1756 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
1757 (_gst_plugin_register_static), (gst_plugin_register_static):
1758 Revert the (technically correct) change to call g_thread_init() from
1759 the pre-main() constructor. This will break programs which call
1760 g_thread_init() without an if (!g_thread_supported()) guard in their
1761 main function. We could just blame it on GLib or the application, but
1762 it's probably best to just avoid this altogether and simply not use
1763 any GLib functions here and use plain old malloc() with a simple
1764 array to store the plugins to register later when gst_init() is
1765 finally called (re-fixes #510187).
1767 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
1768 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
1769 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
1770 (GST_START_TEST), (gst_plugin_suite):
1771 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
1774 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
1776 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1777 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
1778 This makes gtk-doc complain, but results in slightly better
1779 compiler errors. The old _gst_plugin_register_static() is
1780 still guarded, so there'll be a compiler warning about that
1781 instead. Fixes #510187 too.
1783 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
1785 * gst/gst.c: (init_post):
1786 * gst/gstplugin.c: (_gst_plugin_register_static),
1787 (gst_plugin_register_static), (_gst_plugin_initialize):
1788 * gst/gstplugin.h: (GstPluginFilter):
1789 Change API of gst_plugin_register_static() to not take
1790 a GstPluginDesc, but rather just take all the arguments
1791 in a GstPluginDesc directly. This is more intuitive and
1792 avoids certain mistakes when porting code from
1793 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
1796 * tests/check/gst/gstplugin.c:
1797 Fix up for changed API.
1799 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
1801 * docs/faq/legal.xml:
1802 Update FAQ, Totem actually has an exception these days.
1804 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
1806 * win32/common/libgstreamer.def:
1807 Add new API declarations
1809 2008-01-14 Stefan Kost <ensonic@users.sf.net>
1811 * gst/gstminiobject.c:
1812 Spelling fixes for the API docs.
1814 2008-01-14 Stefan Kost <ensonic@users.sf.net>
1816 * libs/gst/base/gstbasetransform.c:
1817 Fix long property description for QoS.
1819 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
1822 _gst_trace_on is already provided by gsttrace.h, no need to declare
1825 * docs/libs/gstreamer-libs-sections.txt:
1826 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
1827 and remove strange tcase_add_test which is outputting a warning.
1829 * libs/gst/check/gstcheck.c:
1830 * libs/gst/check/gstcheck.h:
1831 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
1832 and define them in gstcheck.c instead of having every .c file whcih
1833 includes gstcheck.h be defining its own copy and relying on symbol
1834 interposing to marry them all, which doesn't work on Solaris.
1836 * tests/check/elements/identity.c: (GST_START_TEST):
1837 Don't define 'buffers' locally, it comes from libgstcheck.
1839 * tests/check/generic/sinks.c: (send_buffer):
1840 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
1842 * tests/check/gst/gststructure.c: (GST_START_TEST):
1843 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
1844 * tests/check/gst/gstutils.c: (GST_START_TEST):
1845 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1846 Add a bunch of casts to make various constants fit the types
1847 they're being assigned to.
1849 2008-01-10 Stefan Kost <ensonic@users.sf.net>
1851 * gst/gstchildproxy.c:
1852 Improve docs and add some ideas for making this more general-purpose.
1854 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
1856 * gst/gst_private.h: (GST_CAT_TYPES):
1857 Add GST_CAT_TYPES, for consistency, and so that the other
1858 debug categories don't make fun of it. Spotted by Saur on IRC.
1860 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
1862 * gst/parse/Makefile.am:
1863 Move types.h from EXTRA_DIST to noinst_HEADERS.
1865 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
1868 Add -Wno-portability to the automake parameters to stop warnings
1869 about GNU make extensions being used. We require GNU make in almost
1870 every Makefile anyway.
1873 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
1874 at the same time is required for per target flags.
1876 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1879 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
1880 __GNUC__ is defined before using it.
1882 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1884 * docs/gst/gstreamer-sections.txt:
1885 * gst/gst.c: (init_post):
1886 * gst/gstplugin.c: (_gst_plugin_register_static),
1887 (gst_plugin_register_static), (_gst_plugin_initialize),
1888 (gst_plugin_register_func):
1889 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1890 API: add gst_plugin_register_static() and deprecate
1891 GST_PLUGIN_DEFINE_STATIC, since it's not portable
1893 Also, in _gst_plugin_register_static(), make sure to call
1894 g_thread_init() before calling GLib functions such as
1895 g_list_append() if we're not initialised yet, since that
1896 may lead to random crashes with older GSlice/GLib versions.
1898 * tests/check/gst/gstplugin.c:
1899 Adapt unit test to above changes.
1901 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1903 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
1904 * gst/gstcaps.c: (gst_caps_to_string):
1905 * gst/gststructure.c: (GST_ASCII_IS_STRING),
1906 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
1907 Yet another gratuitous GString micro-optimisation: add a (private)
1908 function that serialises a structure appending to an existing
1909 GString, so that when we serialise caps we don't need to alloc+free
1910 a throwaway GString for each structure (each of which also entailing
1911 multiple reallocs on the way); also use g_string_sized_new() in
1912 various places with an approximate string length to avoid reallocs
1913 within GString. See #500143.
1915 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1917 * gst/gststructure.c: (gst_structure_id_set_value):
1918 Always check UTF-8 conformance of structure strings and not only
1919 if the debugging system is enabled; reasoning: the behaviour of
1920 the actual code shouldn't really change depending on whether the
1921 debugging system is enabled or not (#508291).
1923 2008-01-09 Stefan Kost <ensonic@users.sf.net>
1926 Remove old coverage target in favour of "make lcov".
1928 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
1930 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1931 (gst_base_src_loop):
1932 The start segment for reverse playback goes from start to last_stop.
1934 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
1936 Patch by: Peter Kjellerstedt <pkj axis com>
1939 Cast the results from the timeval/spec_to_time macros to what the
1940 docs say it casts to, a GstClockTime. fixes #508175.
1942 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
1945 Update some comments.
1947 * tools/gst-inspect.c: (print_element_properties_info):
1948 Improve printing of flags.
1950 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
1952 * libs/gst/base/gstbasetransform.c:
1953 (gst_base_transform_transform_size):
1954 Print element name with g_warning() if there's a problem
1957 2008-01-07 David Schleef <ds@schleef.org>
1959 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
1961 * libs/gst/controller/gstcontroller.h:
1962 * libs/gst/controller/gstcontrolsource.h:
1963 * libs/gst/controller/gstinterpolationcontrolsource.h:
1964 * libs/gst/controller/gstlfocontrolsource.h:
1965 * libs/gst/dataprotocol/dataprotocol.h:
1966 Fix empty prototypes. Fixes bug #507957.
1968 2008-01-07 David Schleef <ds@schleef.org>
1970 * docs/faq/dependencies.xml: Fix typo.
1972 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
1974 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
1975 (gst_base_src_loop):
1976 Don't update the last_stop position in do_seek, that's the position we
1978 Read backwards when we have a negative rate.
1980 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
1981 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
1983 Add check for reverse reading.
1985 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
1987 Patch by: Alexis Ballier <aballier at gentoo org>
1989 * tests/check/gst/gstabi.c:
1990 * tests/check/gst/struct_ppc64.h:
1991 * tests/check/libs/libsabi.c:
1992 * tests/check/libs/struct_ppc64.h:
1993 Decide which header to include based on the userland ABI target
1994 and not the kernel/cpu. Fix up structure sizes of ppc64 header
1995 for 64-bit userland (#503590). Might need something similar for
1998 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
2000 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
2001 Log the reason why fopen fails in addition to the fact that it failed.
2003 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
2005 * gst/parse/parse.l:
2006 Use "%option never-interactive" to prevent useless calls to isatty()
2007 on every input when parsing. Also use "%option noinput" to not define
2008 the static input/yyinput functions which we don't use anyway. This
2009 removes a compiler warning with gcc 4.3 and saves some bytes in the
2012 * gst/parse/lex._gst_parse_yy.pre.c:
2013 Regenerated for the above change.
2015 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
2017 * gst/gstpad.c: (fixate_value):
2018 Don't crash when trying to fixate and empty list.
2021 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
2023 * docs/faq/gst-uninstalled:
2024 Clarify the comments to make the usage of this script and what it
2025 does easier to understand.
2027 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
2029 * tools/gst-plot-timeline.py:
2030 Add more options to gst-plot-timeline
2032 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
2034 * docs/design/part-synchronisation.txt:
2035 Some more info on how the stream_time in GstBaseSink is done.
2037 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
2039 * tests/check/generic/sinks.c: (gst_sinks_suite):
2040 Put back the tcase_set_timeout(), apparently it's needed after
2041 all; fix it up in a way that makes things work with valgrind too.
2043 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
2045 * gst/gstdebugutils.c:
2046 Add warning when failed to open file for writing.
2048 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
2050 Based on patch by: Laurent Glayal <spglegle yahoo fr>
2052 * gst/gstvalue.c: (gst_value_is_fixed):
2053 Optimisation: bail out of the loop as early as possible (#500143).
2055 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
2057 * gst/gstcaps.c: (gst_caps_to_string):
2058 * gst/gstinfo.c: (gst_debug_construct_term_color):
2059 * gst/gstparse.c: (gst_parse_launchv):
2060 * gst/gstutils.c: (gst_util_dump_mem):
2061 * gst/gstvalue.c: (gst_value_serialize_any_list),
2062 (gst_value_transform_any_list_string):
2063 Bunch of gratuitous nano-optimisations.
2065 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
2067 * tests/check/generic/sinks.c: (async_done_func),
2068 (async_done_eos_func):
2069 Fix leak in unit test (bus sync handler must unref the message
2070 if it returns GST_BUS_DROP). Don't fiddle with the default test
2071 timeout, this is smaller than the current preconfigured value
2072 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
2073 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
2075 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
2077 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2080 Check for stdio_ext.h for the filesink changes.
2082 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
2083 (gst_file_sink_class_init), (gst_file_sink_init),
2084 (gst_file_sink_dispose), (gst_file_sink_set_property),
2085 (gst_file_sink_get_property), (gst_file_sink_open_file),
2086 (gst_file_sink_close_file):
2087 * plugins/elements/gstfilesink.h:
2088 Add two properties to control the buffering mode and size.
2089 API: GstFileSink::buffer-mode
2090 API: GstFileSink::buffer-size
2093 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
2095 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
2096 Add some more docs to explain why a FIXME was wrongly added.
2098 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
2101 Fix typo in the gst_object_{ref,unref} documentation.
2103 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
2105 * tests/check/libs/controller.c:
2106 * tests/check/libs/typefindhelper.c:
2107 * tests/check/pipelines/parse-launch.c:
2108 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
2109 going to be deprecated (see #498924).
2111 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
2113 * gst/gsttypefind.c: (gst_type_find_register):
2114 Make gst_type_find_register work for static typefind functions,
2115 ie. allow passing plugin == NULL (prerequisite for #498924).
2117 * gst/gstelementfactory.c: (gst_element_register):
2118 Small docs addition.
2120 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
2122 * gst/gstpad.c: (gst_pad_dispose):
2123 Really unlink the peer pad instead of setting the peer pointer to NULL
2124 when we dispose the pad.
2125 This correctly calls the unlink functions and makes sure that the peer
2126 does not have a handle to invalid memory. See #504671.
2128 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2129 Add testsuite for above case.
2131 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
2133 Patch by: Peter Kjellerstedt <pkj axis com>
2135 * libs/gst/check/gstcheck.h:
2136 Fix detection of the check version we're compiling against (would
2137 otherwise break if check goes v0.10.0); correctly report the
2138 name of the failed test again in case of failure, instead of
2139 just 'tf' (fixes #504499).
2141 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
2143 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2144 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2145 (gst_base_src_loop), (gst_base_src_set_flushing),
2146 (gst_base_src_change_state):
2147 Allow sending EOS to the source to make it send out an EOS event from
2148 the streaming thread.
2149 Update docs and deprecate the old NULL/READY shutdown method.
2151 * tests/check/libs/basesrc.c: (GST_START_TEST),
2152 (gst_basesrc_suite):
2153 Add unit test for controlled shutdown.
2155 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
2157 * docs/design/part-synchronisation.txt:
2160 * gst/gstsegment.c: (gst_segment_set_seek),
2161 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2162 (gst_segment_to_running_time):
2163 The seek format can be different from the segment format when the start
2164 and stop values are not to be updated, when we only do a rate change for
2167 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2168 (gst_segment_suite):
2169 Add a testcase for the rate-only seeks, checking that the format is
2170 correctly ignored when start and stop are not updated.
2172 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
2174 Patch by: Matthias Bolte <photon at mail dot upb dot de>
2176 * win32/vs8/grammar.vcproj:
2177 * win32/vs8/libgstcontroller.vcproj:
2178 * win32/vs8/libgstreamer.vcproj:
2179 Fix compilation with VS8 and include some missing files.
2181 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
2184 Small docs addition: mention that the strings returned by
2185 gst_tag_list_get_string*() are in UTF-8 encoding.
2187 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
2190 The check-exports stuff moved to common/win32.mak, so include that.
2192 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
2194 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2195 (gst_base_src_perform_seek), (gst_base_src_get_range),
2196 (gst_base_src_set_playing), (gst_base_src_change_state):
2197 Make _wait_playing() not check any variables so that we can call this
2198 function from subclasses. Move the checks elsewhere similar to
2199 _wait_preroll() in basesink.
2201 Only signal the LIVE cond when we are going back to PLAYING.
2203 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
2205 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
2206 Use g_remove() and g_rename(). Check result of g_rename(), and
2207 don't leak the open file descriptor if we error out when writing.
2209 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
2210 Must check the return value of close() after writing out the new
2211 registry file. Sometimes write problems such as out-of-diskspace
2212 are only reported when the file is closed and not already during
2213 the write. This may have caused partial/broken registry files in
2214 some rare circumstances. Should fix #503675.
2216 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
2218 * docs/gst/.cvsignore:
2219 * docs/libs/.cvsignore:
2220 * docs/plugins/.cvsignore:
2221 Ignore files generated by new common/* modifications
2223 2007-12-15 Stefan Kost <ensonic@users.sf.net>
2225 * win32/common/libgstbase.def:
2226 Yes, you can also have a <TAB> if you want.
2228 2007-12-15 Stefan Kost <ensonic@users.sf.net>
2230 * win32/common/libgstbase.def:
2231 Add new basetransform API to win export file.
2233 2007-12-15 Stefan Kost <ensonic@users.sf.net>
2235 * tests/check/gst/gstbin.c:
2236 Adjust the test to the refcount change two days ago.
2238 2007-12-14 David Schleef <ds@schleef.org>
2240 * docs/faq/getting.xml: Fix typo.
2242 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
2244 * docs/libs/gstreamer-libs-sections.txt:
2245 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
2246 (gst_base_transform_prepare_output_buffer),
2247 (gst_base_transform_set_gap_aware):
2248 * libs/gst/base/gstbasetransform.h:
2249 API: Add gst_base_transform_set_gap_aware() to control whether
2250 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
2251 get buffers with this flag at all. Fixes #503231.
2253 2007-12-13 Stefan Kost <ensonic@users.sf.net>
2255 * libs/gst/base/gstbasesink.c:
2256 * libs/gst/base/gstbasesrc.c:
2257 * libs/gst/base/gstbasetransform.c:
2258 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
2259 thread. Correct log message in gstbasesrc.c.
2261 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
2263 * gst/gstutils.c: (element_find_unconnected_pad):
2264 Fix possible compiler warning (#503417).
2266 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
2268 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
2269 Don't use GST_CAT_EVENT here for logging, it makes no sense.
2271 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
2273 * tools/gst-inspect.c: (print_element_properties_info):
2274 Add support for GstFraction properties.
2276 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
2279 Add check-exports target and run it as part of 'make check'
2280 (see #499140 and #493983).
2282 * gst/gst_private.h:
2283 * gst/gstelementfactory.h:
2284 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
2285 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
2286 (_priv_gst_in_valgrind):
2287 * gst/gstinfo.h: (GstLogFunction):
2288 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
2289 (gst_type_find_register):
2290 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
2291 (gst_type_find_factory_get_type):
2292 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
2293 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
2294 (gst_controller_new_valist), (gst_controller_new_list),
2295 (_gst_controller_dispose), (_gst_controller_class_init):
2296 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
2297 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
2298 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
2299 (gst_object_get_controller), (gst_object_set_controller),
2300 (gst_object_suggest_next_sync), (gst_object_sync_values),
2301 (gst_object_set_control_source), (gst_object_get_control_source),
2302 (gst_object_get_value_arrays), (gst_object_get_value_array),
2303 (gst_object_get_control_rate), (gst_object_set_control_rate):
2304 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
2305 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
2306 Make some functions that should be static static; rename some
2307 private symbols so that they don't get exported; add some FIXME
2308 comments so we can move accidentally exported functions into
2309 our private section in 0.11.
2311 * win32/common/libgstreamer.def:
2312 Add gst_utils_get_timestamp().
2314 2007-12-12 Stefan Kost <ensonic@users.sf.net>
2318 Add more missing "Since:" tags to docs.
2320 2007-12-12 Stefan Kost <ensonic@users.sf.net>
2323 Add mising "Since:" to docs.
2325 2007-12-11 Stefan Kost <ensonic@users.sf.net>
2328 Include "glib-compat-private.h" to fix the build on system with
2329 glib < 2.10. Fixes #503131.
2331 2007-12-11 Stefan Kost <ensonic@users.sf.net>
2335 Actually its not PURE as it gets the time from elsewhere.
2337 2007-12-11 Stefan Kost <ensonic@users.sf.net>
2339 * docs/gst/gstreamer-sections.txt:
2341 * gst/gstdebugutils.c:
2345 * libs/gst/base/gstbasesink.c:
2346 * tools/gst-launch.c:
2347 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
2348 uses as we don't have HAVE_POSIX_TIMERS in public headers.
2349 Thanks Tim for spotting.
2350 API: gst_util_get_timestamp
2352 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
2355 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
2357 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
2359 * gst/gststructure.c: (gst_structure_validate_name),
2360 (gst_structure_new_valist), (gst_structure_parse_value),
2361 (gst_structure_from_string):
2362 Don't crash in _from_string() if the structure name is not valid
2363 (fixes #501560). Allow structure names to start with a number
2364 again (this apparently broke the ubuntu codec installer).
2366 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
2368 Add unit test for the crash; update unit tests for new behaviour.
2370 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
2373 Clarify gst_element_get_compatible_pad() documentation.
2376 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
2378 * tests/check/Makefile.am:
2379 Don't forget to dist {gst,libs}/struct_hppa.h.
2381 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2383 * libs/gst/base/gstbasesink.c:
2384 Use new API to get elapsed time.
2386 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2388 * gst/gstdebugutils.c:
2390 Fix wrong order of args in GST_CLOCK_DIFF() usage.
2392 * tools/gst-launch.c:
2393 Use new API to get elapsed time.
2395 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2397 * docs/gst/gstreamer-sections.txt:
2399 * gst/gstdebugutils.c:
2401 Rename new API + ChangeLog surgery to remove old name from last entry..
2403 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2405 * docs/gst/gstreamer-sections.txt:
2407 * gst/gstdebugutils.c:
2409 Now hide the different clock stuff behind a macro.
2411 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2414 * gst/gstdebugutils.c:
2416 Apply the posix-timer check from #361155. Conditionally use the posix
2417 timer for logging. This gives better timestamp precission, less
2418 overhead and no ntp jitter.
2420 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
2422 * gst/gstminiobject.c: (gst_mini_object_get_type),
2423 (gst_mini_object_class_init), (gst_mini_object_copy_default),
2424 (gst_mini_object_finalize), (gst_mini_object_copy),
2425 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
2426 (gst_mini_object_replace), (param_mini_object_validate),
2427 (gst_param_spec_mini_object_get_type):
2428 Some cleanup and checking against invalid function parameters.
2430 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
2432 * docs/gst/gstreamer-sections.txt:
2434 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2435 (gst_systemclock_suite):
2436 Start merging in the easy bits of #361155, the monotonic clock patch.
2437 This one adds a few handy macros with docs and a testsuite.
2439 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
2441 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
2442 Be a bit smarter when seeking, like, don't try to do a seek when it's
2443 not needed. This avoids errors when the file is not seekable.
2446 2007-11-26 Stefan Kost <ensonic@users.sf.net>
2448 * docs/gst/gstreamer-docs.sgml:
2449 * docs/gst/gstreamer-sections.txt:
2450 * docs/gst/gstreamer.types.in:
2455 * plugins/elements/gstqueue.c:
2456 Due to popular request remove preset interface again. :-(.
2458 2007-11-22 Stefan Kost <ensonic@users.sf.net>
2460 * tools/gst-inspect.c:
2461 Print 'default value' for enums and flags too.
2463 2007-11-22 Stefan Kost <ensonic@users.sf.net>
2465 * docs/random/ensonic/profiling.txt:
2469 Fix typo and give better log output.
2471 * gst/gstdebugutils.c:
2472 * gst/gstdebugutils.h:
2473 More ideas, make graphs a bit smaller and fix param name in macro.
2475 2007-11-22 Stefan Kost <ensonic@users.sf.net>
2478 Try harder to use the return value from fgets().
2480 2007-11-21 Stefan Kost <ensonic@users.sf.net>
2483 For theses two fgets we handle the error below.
2485 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
2487 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
2488 Only send upstream events upstream. Fixes #498746.
2490 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
2492 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2494 * plugins/elements/gstidentity.c: (gst_identity_class_init),
2495 (gst_identity_init), (gst_identity_transform_ip),
2496 (gst_identity_set_property), (gst_identity_get_property):
2497 * plugins/elements/gstidentity.h:
2498 Add property to disable handoff signal emission. Fixes #498694.
2499 API: GstIdentity::signal-handoffs
2501 2007-11-21 Julien Moutte <julien@fluendo.com>
2503 * docs/faq/gst-uninstalled: Yet another missing library for the
2504 uninstalled script (fft)
2506 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
2508 * docs/faq/developing.xml:
2509 Add a question about how to submit new translations.
2511 * docs/random/release:
2512 Update the contact email address for the Translation Project
2514 * plugins/elements/gstfdsrc.c:
2515 The parent_class for fdsrc is pushsrc, not GstElement.
2517 2007-11-20 Stefan Kost <ensonic@users.sf.net>
2520 Plug a leak and fix saving.
2522 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
2524 * docs/gst/gstreamer-sections.txt:
2525 Add new gst_preset__get_property_names() function to the docs
2528 2007-11-20 Stefan Kost <ensonic@users.sf.net>
2532 Change _get_preset_names API to return a strv with copies. Add
2533 _get_property_names to allow implementations to filter and provide
2534 good default implementation.
2536 2007-11-20 Julien MOUTTE <julien@moutte.net>
2538 * docs/faq/gst-uninstalled: Add another library to the uninstalled
2541 2007-11-19 Stefan Kost <ensonic@users.sf.net>
2544 More cleanups, docs, and TODOs from comments that now slowly come in.
2546 2007-11-19 Julien MOUTTE <julien@moutte.net>
2548 * docs/faq/gst-uninstalled: Add new base libraries in the LD
2551 2007-11-19 Stefan Kost <ensonic@users.sf.net>
2554 Fix bogus warning and make the property type specific code more
2557 2007-11-19 Julien MOUTTE <julien@moutte.net>
2559 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
2562 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
2564 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2565 (gst_bin_add_func), (gst_bin_remove_func),
2566 (gst_bin_change_state_func), (gst_bin_continue_func):
2567 Change email, cleanups add some more debug and comments.
2568 Also set bus and clock on new elements when the pipeline was in error.
2570 2007-11-18 Stefan Kost <ensonic@users.sf.net>
2573 * gst/gstdebugutils.c:
2574 Fix build with --disable-gst-debug. Fixes #497859.
2575 Spotted by Sameer Naik.
2577 2007-11-17 Stefan Kost <ensonic@users.sf.net>
2580 Little documentation improvment.
2583 More TODO cleanups. Remove c++ comments.
2585 * libs/gst/controller/gstcontroller.c:
2586 Add TODO and use quark from static string.
2588 * tests/check/gst/gstmessage.c:
2589 * tests/check/gst/gststructure.c:
2590 Use quark from static string.
2592 2007-11-17 Stefan Kost <ensonic@users.sf.net>
2595 Add some comments and TODOs.
2598 Add padding for future changes.
2600 * plugins/elements/gstqueue.c:
2601 Implement the iface.
2603 2007-11-17 Stefan Kost <ensonic@users.sf.net>
2605 * docs/gst/gstreamer-docs.sgml:
2606 * docs/gst/gstreamer-sections.txt:
2607 * docs/gst/gstreamer.types.in:
2612 Add the preset interface (Fixes #396779). Do some doc cleanups along.
2614 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
2620 === release 0.10.15 ===
2622 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
2625 releasing 0.10.15, "October"
2627 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
2629 * win32/vs6/libgstreamer.dsp:
2630 Convert line endings back to DOS.
2632 2007-11-13 Stefan Kost <ensonic@users.sf.net>
2634 * docs/design/draft-tagreading.txt:
2635 * docs/random/ensonic/profiling.txt:
2636 Update fast tagreading draft and performance profiling ideas.
2638 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
2640 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
2641 Don't hold the object lock when unreffing a buffer because it could
2642 cause a deadlock when the finalize function wants to grab the object
2643 lock too. Fixes #495133.
2645 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
2647 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
2648 (gst_segment_to_stream_time), (gst_segment_to_running_time):
2649 Also accumulate time correctly when doing reverse playback. Fixes
2651 When converting to running and stream time, use default values for
2652 start/stop/time/accum when comparing different formats. Fixes #494245.
2654 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2655 Do running/stream time in TIME format.
2657 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2658 (gst_segment_suite):
2659 2 new unit tests for segment accumulation.
2661 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
2663 * gst/gst.c: (init_pre):
2664 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
2665 (_gst_debug_bin_to_dot_file):
2666 Move getenv() back into gst_init, so everyone can live happily
2667 ever after. Make sure the symbol isn't exported though.
2669 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2671 Patch by: Sebastien Moutte <sebastien moutte net>
2673 * win32/common/gstenumtypes.c:
2674 * win32/common/gstenumtypes.h:
2677 * win32/vs6/libgstreamer.dsp:
2678 Update vs6 project files (#494343).
2680 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2682 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
2683 (gst_base_src_perform_seek), (gst_base_src_default_event),
2684 (gst_base_src_set_flushing), (gst_base_src_activate_push),
2685 (gst_base_src_activate_pull):
2686 Unify flushing code, remove some old unlock code that is no longer used.
2687 Take the streaming lock when seeking to avoid races. Fixes #492729.
2688 Added some more comments.
2690 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2692 * gst/gst.c: (_gst_disable_segtrap):
2693 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
2694 we can use gst_segtrap_is_enabled() there now that we have that API.
2695 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
2696 to do the getenv here (and export the variable).
2698 * gst/gstdebugutils.c: (debug_dump_element),
2699 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
2700 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
2702 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
2703 (gst_debug_log_default):
2704 Rename _gst_info_start_time to priv_gst_info_start_time so it
2705 doesn't get exported (was never in any header).
2707 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
2708 (gst_plugin_loading_mutex):
2709 Make static mutex gst_plugin_loading_mutex really static (was never
2710 in any header), and use gst_segtrap_is_enabled() instead of
2711 _gst_disable_segtrap.
2713 * gst/gsttrace.c: (_gst_trace_default):
2714 Make local _gst_trace_default static (was never in any header).
2716 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2718 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
2720 * win32/common/libgstbase.def:
2721 * win32/common/libgstcontroller.def:
2722 * win32/common/libgstdataprotocol.def:
2723 * win32/common/libgstnet.def:
2724 * win32/common/libgstreamer.def:
2725 Add more missing symbols, remove some duplicates, and sort
2726 as the 'sort' command sorts it (partially fixes #493983).
2728 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2730 * gst/gstelement.c: (gst_element_set_state_func):
2731 Only change the state cookie if a different state was set on the
2732 element. See #492729.
2734 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2737 Remove unused and uninitialised type variables that were still
2738 exported for some reason (they were never in any header files
2741 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2743 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2744 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
2745 (gst_base_sink_event), (gst_base_sink_get_position_last),
2746 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2747 (gst_base_sink_change_state):
2748 Don't try to report a 0 position when we don't know, return -1 and FALSE
2749 instead. This mostly happens when we are prerolling.
2750 Make sure we can report the right position before we post the ASYNC_DONE
2751 message so that a message handler can query position without races.
2753 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2754 (async_done_handoff), (async_done_func), (send_buffer),
2755 (async_done_eos_func), (gst_sinks_suite):
2756 Add two tests for the above.
2758 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2761 Update with new email address.
2763 * docs/design/part-TODO.txt:
2764 Add some more info about future pad-block and negotiation changes.
2766 * docs/design/part-buffering.txt:
2767 Add some ideas about buffering reporting.
2769 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
2771 * tests/check/gst/gstobject.c:
2772 Disable silly racy test that always fails on this combination of CPU
2775 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
2777 Patch by: Murray Cumming <murrayc@murrayc.com>
2780 Corrected the registration of the parent-set and parent-unset
2781 signals: The parameter is a GstObject, not a GObject (#493134).
2783 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
2785 * gst/gst_private.h:
2794 Move declaration of private _gst_foo_initialize() functions into
2795 our private header file where they should have been all along.
2797 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
2799 * docs/plugins/gstreamer-plugins-sections.txt:
2800 * gst/gstdebugutils.h:
2802 * plugins/elements/gstqueue.c:
2803 gtk-doc fixes; trailing-comma-in-enum fix.
2805 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
2807 * gst/gst.c: (gst_deinit):
2808 Clean up on deinit (not the external ones though, doesn't seem to be
2809 needed for some reason).
2811 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2813 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
2814 Remove __declspec(dllimport) for MSVC that was copied over into core
2815 from a plugin, obviously without ever having been tested (note the
2816 single underscore in _declspec in the initial commit), and that doesn't
2817 really make sense. See #492077.
2819 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2821 * gst/gst.c: (init_post):
2822 * gst/gstevent.c: (_gst_event_initialize):
2823 * gst/gstquery.c: (_gst_query_initialize):
2824 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
2825 g_type_class_ref() other types as well, see #349410 and #64764.
2827 * gst/gstbuffer.c: (_gst_buffer_initialize):
2828 * gst/gstmessage.c: (_gst_message_initialize):
2829 Simplify existing g_type_class_ref().
2831 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2833 * gst/gstformat.c: (_gst_format_initialize):
2834 g_type_class_ref() our GstFormat type to make sure we avoid the
2835 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
2836 bug #64764. Should fix intermittent tee unit test failures (#474823).
2838 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2840 * tests/check/elements/tee.c: (test_num_buffers):
2841 Simplify, simplify, simplify - or not. Rewrite unit test
2842 not to use gst_parse_launch(); allow N sub-streams. Increasing
2843 the number of sub-streams seems to reproduce #474823 more easily.
2845 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
2847 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
2850 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2851 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2852 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
2853 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
2854 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
2855 so use _pipe() directly (#492077).
2857 * win32/common/dirent.c: (_treaddir):
2858 Add a couple of casts to make it build without warnings with MSVC.
2860 * win32/common/libgstreamer.def:
2861 Add some more symbols that need to be exported.
2863 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
2865 * tests/examples/metadata/read-metadata.c: (message_loop):
2866 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
2867 arriving in a second or third tag message are added to
2868 the tag list as well.
2870 2007-10-31 Stefan Kost <ensonic@users.sf.net>
2872 * libs/gst/base/gstbasesrc.c:
2873 Its "Since:" and not "@Since:". And remove an superflous cast.
2875 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
2877 * docs/libs/gstreamer-libs-sections.txt:
2878 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2879 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
2880 (gst_base_sink_get_property), (gst_base_sink_render_object),
2881 (gst_base_sink_preroll_object),
2882 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2883 (gst_base_sink_change_state):
2884 * libs/gst/base/gstbasesink.h:
2885 Add a new last-buffer property that contains the last buffer used in
2886 basesink for preroll or rendering. useful for making snapshots.
2887 API: gst_base_sink_get_last_buffer()
2888 API: GstBaseSink::last-buffer
2890 2007-10-29 Stefan Kost <ensonic@users.sf.net>
2892 * docs/gst/running.xml:
2894 * gst/gstdebugutils.c:
2895 * gst/gstdebugutils.h:
2896 * tools/gst-launch.c:
2897 Improve bin graph dumping, by using the envvar to specify a path.
2898 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2900 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
2902 * plugins/elements/gsttypefindelement.c:
2903 (gst_type_find_element_handle_event),
2904 (gst_type_find_element_activate):
2905 Post special error message if we can't determine the type of a stream
2908 2007-10-29 Stefan Kost <ensonic@users.sf.net>
2910 * docs/gst/running.xml:
2911 * gst/gstdebugutils.c:
2912 Document new env-var. Add one log-line after dumpng a graph.
2914 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
2917 Ugly hack to put the (recently removed and non-portable, apparently)
2918 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
2919 GNU ld, because without that 'make check' fails miserably on my debian
2920 stable box. Someone with more knowledge of linker intricacies and
2921 portability issues than me fix this properly please.
2923 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
2925 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2926 Reset last seen position after flushing so that we don't report the old
2929 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
2931 * gst/gstelementfactory.c: (gst_element_register):
2933 Patch from Alessandro Decina adding get_type_full and
2934 get_protocols_full private vfuncs to the URIHandler interface
2935 to allow bindings to support creating URI handlers.
2936 Partially fixes: #339279
2937 API: GstURIHandlerInterface::get_type_full
2938 API: GstURIHandlerInterface::get_protocols_full
2940 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
2942 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2943 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
2944 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
2945 Make it so that pads are considered linked until a buffer is pushed
2946 and discovered otherwise. This avoids problems with decodebin2 hanging
2947 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
2950 Make sure we lock the multiqueue when updating the max-size properties.
2952 Fix a crash on Solaris in a debug statement in get_request_pad that
2953 passes a NULL string to GST_DEBUG.
2955 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2956 (run_output_order_test):
2957 Fix the test to allow the first buffer on not-linked pads to come out
2958 of sequence while multiqueue discovers that they are not-linked.
2960 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
2963 * libs/gst/check/Makefile.am:
2964 Use a custom export symbol regex for libgstcheck, as it needs
2965 to export symbols that don't match the standard GStreamer gst_*
2966 pattern, and --export-dynamic is not portable (only works on
2969 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2970 (gst_check_setup_sink_pad):
2971 Make sure to pass a message parameter to the fail_* macros.
2973 * tests/check/gst/gstinfo.c: (GST_START_TEST):
2974 Fix some compiler warnings.
2976 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
2978 * tests/check/gst/gststructure.c: (test_to_string):
2979 Disable test that checks that white spaces are not allowed
2980 in structure names or field names, since we need to
2981 support that for now for backwards compatibility reasons.
2983 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
2985 * docs/gst/gstreamer-sections.txt:
2988 API: add GST_TAG_ARTIST_SORTNAME
2989 API: add GST_TAG_ALBUM_SORTNAME
2990 API: add GST_TAG_TITLE_SORTNAME
2991 Add tag variants for sorting (#414539).
2993 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
2995 * gst/gststructure.c:
2996 Also allow white space for names so we don't break
2997 backwards compatibility.
2999 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
3001 * docs/design/part-TODO.txt:
3002 * docs/design/part-segments.txt:
3003 * docs/design/part-streams.txt:
3006 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
3008 * docs/gst/gstreamer-sections.txt:
3009 Fixed documentation from my previous commit (added new API add
3010 gst_value_set_structure(), add gst_value_get_structure() and
3011 GST_VALUE_HOLDS_STRUCTURE).
3013 2007-10-22 Stefan Kost <ensonic@users.sf.net>
3015 * gst/gstdebugutils.c:
3016 Reflow code to fix uninitialized variable warning.
3018 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
3020 * gst/gstcaps.c: (gst_caps_to_string),
3021 (gst_caps_from_string_inplace):
3022 * gst/gststructure.c: (gst_structure_get_abbrs),
3023 (gst_structure_to_string), (gst_structure_from_string):
3024 * gst/gstvalue.c: (gst_value_set_structure),
3025 (gst_value_get_structure), (gst_value_serialize_structure),
3026 (gst_value_deserialize_structure), (_gst_value_initialize):
3028 * tests/check/gst/gststructure.c: (GST_START_TEST),
3029 (gst_structure_suite):
3030 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3031 Added GstStructure to gst_value_table and its related functions.
3032 Changed gst_structure_to_string to print ';' in the end.
3033 Changed gst_caps_to_string to not print ';' beteween its
3034 fields (structures) anymore and remove the lastes ';' from latest
3035 structure. Now it is possible to have nested structures.
3036 In addition, backward compatibilty is assured by accepting '\0' as
3037 end delimiter. Fixes: #487969.
3038 API: add gst_value_set_structure()
3039 API: add gst_value_get_structure()
3040 API: add GST_VALUE_HOLDS_STRUCTURE
3042 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
3045 When no GSource callback has been set up, tell developer
3046 to use a function that actually exists.
3048 2007-10-17 Stefan Kost <ensonic@users.sf.net>
3050 * docs/gst/gstreamer-sections.txt:
3054 * gst/gstdebugutils.c:
3055 * gst/gstdebugutils.h:
3058 * tools/gst-launch.c:
3059 Allow dumping pipelines as dot graphs. Fixes #456573.
3061 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3063 * gst/gststructure.c:
3064 Allow '+' as well, it can be part of media or mime types
3065 such as image/svg+xml.
3067 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3069 * docs/gst/gstreamer-sections.txt:
3072 API: add gst_bus_pop_filtered
3073 API: add gst_bus_timed_pop_filtered
3074 Two new functions for waiting for specific message types on the
3075 bus for a specified amount of time without iterating any main
3076 loops or main contexts.
3078 * tests/check/gst/gstbus.c:
3079 Some tests for the new functions.
3081 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3083 * docs/libs/gstreamer-libs-sections.txt:
3084 Make gtk-doc ignore stuff it should ignore.
3086 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3088 * libs/gst/check/gstcheck.c:
3089 * libs/gst/check/gstcheck.h:
3090 Allow runtime selection of unit tests to run via the GST_CHECKS
3091 environment variable (test case function names, comma-separated).
3093 2007-10-16 Stefan Kost <ensonic@users.sf.net>
3095 * gst/gststructure.c:
3096 * tests/check/gst/gststructure.c:
3097 Revert serialisation change and constrain structure-names after
3098 consensus on irc. Update api documentation to reflect the change.
3100 2007-10-16 Stefan Kost <ensonic@users.sf.net>
3102 * gst/gststructure.c:
3103 Improve serialization and fix tests.
3105 * tests/check/gst/gststructure.c:
3106 Add another test that covers why I actually did the previous structure
3109 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
3111 * tools/gst-inspect.c: (print_element_info):
3112 Don't crash when inspecting an element.
3114 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
3116 * tests/check/gst/gststructure.c:
3117 Add unit test for escaping of structure name when serialising
3118 and deserialising to/from strings.
3120 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
3122 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
3123 (gst_single_queue_new):
3124 * plugins/elements/gstqueue.c: (gst_queue_init),
3125 (gst_queue_push_one):
3126 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
3127 upstream is tricked into thinking it can suggest a format downstream
3128 while downstream does not support that format. The real problem is that
3129 core calls acceptcaps when pushing a buffer with new caps, for which we
3130 do a little workaround by setting the caps on the srcpad ourselves
3131 before pushing the buffer (until this is figured out). Fixes #486758.
3133 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3135 * gst/gststructure.c:
3137 Add some more comments and debug output. Quote structure name to fix
3138 deserialisation of some strings.
3140 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3143 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
3144 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
3146 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3148 * tools/gst-inspect.c:
3149 Save approx. 400 1 byte allocs when printing. Use API to acces element
3155 * tools/gst-xmlinspect.c:
3156 Use API to acces element details.
3158 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3161 Fix some spelling errors.
3163 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
3165 * gst/gstbin.c: (bin_handle_async_done):
3166 Correctly set the next state if all of our async children commited their
3167 state. This makes sure we can actually cancel the state change in
3168 progress. Fixes a regression in Rhythmbox when seeking.
3170 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
3173 Don't shadow local variable.
3176 Don't shadow global function name.
3178 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
3180 * gst/gstelementfactory.c:
3181 * gst/gstpluginfeature.c:
3182 * gst/gstpluginfeature.h:
3183 * gst/gstregistrybinary.c:
3184 * gst/gstregistryxml.c:
3185 * gst/gsttypefind.c:
3186 Use already-interned string for the private GstPluginFeature
3189 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
3191 * docs/libs/gstreamer-libs-sections.txt:
3192 Add new API to docs; fixes the build.
3194 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
3196 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
3198 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
3199 (gst_base_sink_event):
3200 * libs/gst/base/gstbasesink.h:
3201 Add function to wait for EOS, subclasses can use this to correctly wait
3202 for devices to drain before performing the EOS logic. Fixes #485343.
3203 API: gst_base_sink_wait_eos()
3205 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
3208 Cast description string constants in GST_PLUGIN_DEFINE macros
3209 to a (gchar*) to make C++ code using these macros compile
3210 without warning with g++-4.2 (see #462737). Even if slightly
3211 ugly, this seems preferable to putting the description strings
3212 into the GLib quark table or making the structure member a
3213 const gchar * and doing casts in core code that allocs and
3214 frees these strings, or requiring a cast in the C++ code.
3216 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
3219 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
3220 to print the entire class/function signature into the log
3221 file for C++ code. This only affects C++ code, for C code
3222 everything remains the same.
3224 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
3226 * gst/gstbin.c: (remove_from_queue):
3227 Work around a problem with pipelines containing (semi)loops until a
3228 proper, more complicated solution is ready. See #475455.
3230 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
3234 * gst/gstregistrybinary.c:
3235 * gst/gstregistryxml.c:
3236 Put more strings into the GLib quark table. No need to keep
3237 a hundred-something copies of identical version strings,
3238 license strings, package name strings and package origin
3241 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
3243 * docs/manual/advanced-dataaccess.xml:
3244 Don't imply that it's okay to unconditionally change
3245 buffer data or buffer metadata in a pad probe callback,
3246 and a bunch of other comments. Fixes #430031.
3248 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
3250 * win32/common/gstenumtypes.c:
3251 * win32/common/gstenumtypes.h:
3252 * win32/common/gstversion.h:
3253 Update generated files.
3255 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
3257 * docs/manual/advanced-autoplugging.xml:
3258 Prefix section with broken code with a warning (see #342432).
3260 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
3262 * docs/manual/appendix-integration.xml:
3263 * docs/manual/basics-init.xml:
3264 Call g_thread_init() before g_option_context_new() to
3265 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
3267 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
3269 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3270 (gst_base_sink_queue_object_unlocked),
3271 (gst_base_sink_queue_object), (gst_base_sink_event),
3272 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
3273 When we received EOS and are waiting for when to post the EOS message,
3274 our state is prerolled and we should not return ASYNC.
3275 Reorganize some code paths to implement this behavior.
3277 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3279 Add unit test to verify above EOS fix.
3281 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
3283 * plugins/elements/gsttypefindelement.c:
3284 (gst_type_find_element_have_type), (gst_type_find_element_init),
3285 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
3286 Move detecting the input caps of the sinkpad to the setcaps function.
3287 This allows us to update the output caps when we receive new input caps
3288 instead of always using the first detected caps.
3290 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
3292 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
3293 (gst_base_sink_get_position):
3294 Don't try to preroll non-async elements after a flush.
3295 Subtract latency form clock times when reporting position.
3297 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
3299 * gst/gstpad.c: (gst_pad_pause_task):
3301 Small comment and documentation update.
3303 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
3305 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3306 (gst_base_src_set_live), (gst_base_src_is_live),
3307 (gst_base_src_query_latency), (gst_base_src_perform_seek),
3308 (gst_base_src_default_event), (gst_base_src_wait),
3309 (gst_base_src_do_sync), (gst_base_src_get_range),
3310 (gst_base_src_pad_get_range), (gst_base_src_loop),
3311 (gst_base_src_unlock), (gst_base_src_unlock_stop),
3312 (gst_base_src_set_flushing), (gst_base_src_set_playing),
3313 (gst_base_src_activate_push), (gst_base_src_activate_pull),
3314 (gst_base_src_change_state):
3315 Rework the locking of basesrc in a similar fashion to basesink. We
3316 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
3317 us to handle live sources and semi live ones much better.
3319 Fix unlocking when seeking, shutting down and pausing in live sources.
3321 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
3323 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
3324 Fix compilation again.
3326 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3329 Use meaningful categories for the logs to clean the default one.
3331 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3333 * tests/check/pipelines/cleanup.c:
3334 Print message name and not just number.
3336 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3338 * docs/design/draft-tagreading.txt:
3339 Add some more thoughts.
3341 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3343 * tests/check/pipelines/simple-launch-lines.c:
3344 Print message name and not just number.
3346 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3348 * libs/gst/base/gsttypefindhelper.c:
3349 Speedup typefinding. This is work in progress (see #459862).
3351 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3354 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
3355 Spotted by Josep Torra Valles <josep@fluendo.com>.
3357 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
3360 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
3361 field has moved to GstObject.
3363 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
3365 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
3366 (gst_base_src_get_range), (gst_base_src_change_state):
3367 Call unlock for live sources so that they can't get stuck in _create and
3368 produce a buffer before they are set back to PLAYING.
3370 2007-10-02 Edward Hervey <bilboed@bilboed.com>
3372 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3373 (gst_queue_locked_dequeue):
3374 Comment the segment-related code... in the PROPER function.
3375 See #482147 and my commit from yesterday.
3377 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
3379 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3380 Also initialize the counter that calculates the first timestamp on a
3381 buffer correctly for non-live sources.
3383 2007-10-01 Edward Hervey <bilboed@bilboed.com>
3385 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
3386 Disable code that's breaking the current-time-level reporting.
3389 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
3391 * docs/gst/gstreamer-sections.txt:
3392 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
3393 as they shouldn't show up. Fixes the docs build.
3395 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
3398 Add an explicit variable importation needed on VS6 (only for MSC_VER)
3399 Define M_PI which is used in files which are including gstinfo.h.
3400 VS6 includes doesn't define it.
3401 * win32/common/libgstbase.def:
3402 * win32/common/libgstcontroller.def:
3403 * win32/common/libgstreamer.def:
3404 Add new exported functions and variables.
3405 * win32/vs6/libgstcontroller.dsp:
3406 * win32/vs6/libgstreamer.dsp:
3407 Update the list of files to build.
3409 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
3411 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3413 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
3414 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
3415 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
3416 Improve debugging. Fixes #480858.
3418 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
3420 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3422 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3423 First patch of code cleanups, use the macros and right arguments in the
3424 macros to signal and lock the queue. See #480858.
3426 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
3428 * gst/gstbus.c: (poll_func):
3429 Improve debugging when dealing with _poll().
3431 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
3433 * gst/gstregistryxml.c:
3434 Fix memory leak I introduced a few days ago.
3436 2007-09-26 Michael Smith <msmith@fluendo.com>
3438 * gst/gstbuffer.c: (gst_buffer_finalize):
3439 Make it once again possible to free GstBuffers in the default
3441 The poisoning scribbles on parts of the miniobject we need in
3445 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
3447 * docs/gst/gstreamer-sections.txt:
3450 API: add GST_TAG_COMPOSER, fixes #459809.
3452 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
3456 Add the 3-clause BSD license and the MIT/X11 license to the license
3457 list. Fixes #479784.
3459 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
3461 * docs/faq/getting.xml:
3462 Add Q+A about different GStreamer versions (#364056).
3464 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3466 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3467 (gst_base_sink_event), (gst_base_sink_change_state):
3468 Return correct gboolean from query function.
3470 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3472 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3473 (gst_base_sink_event), (gst_base_sink_query),
3474 (gst_base_sink_change_state):
3475 Simplify latency query.
3476 When not synchronizing, we can report latency without querying the peer
3479 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3483 Fix small typos in the docs.
3485 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3487 * docs/design/draft-latency.txt:
3488 * docs/design/draft-push-pull.txt:
3489 * docs/design/draft-tagreading.txt:
3490 * docs/design/part-MT-refcounting.txt:
3491 * docs/design/part-activation.txt:
3492 * docs/design/part-block.txt:
3493 * docs/design/part-element-source.txt:
3494 * docs/design/part-events.txt:
3495 * docs/design/part-gstbin.txt:
3496 * docs/design/part-gstelement.txt:
3497 * docs/design/part-gstobject.txt:
3498 * docs/design/part-gstpipeline.txt:
3499 * docs/design/part-messages.txt:
3500 * docs/design/part-preroll.txt:
3501 * docs/design/part-push-pull.txt:
3502 * docs/design/part-qos.txt:
3503 * docs/design/part-query.txt:
3504 * docs/design/part-scheduling.txt:
3505 * docs/design/part-seeking.txt:
3506 * docs/design/part-segments.txt:
3507 * docs/design/part-states.txt:
3508 Documentation updates and typo fixes.
3510 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
3512 * plugins/elements/gstfakesink.c:
3513 Add some debug text to error message to indicate that
3514 we errored out on request.
3516 * tools/gst-launch.c:
3517 When the state change to PLAYING fails, check for an
3518 error message on the bus and print it.
3520 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
3522 translated by: Jorge González González <aloriel@gmail.com>
3526 Added Spanish translation.
3528 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
3530 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3531 Fix printf arguments.
3533 2007-09-20 Stefan Kost <ensonic@users.sf.net>
3535 * tests/check/generic/states.c:
3536 Improved state change unit test.
3538 2007-09-20 Stefan Kost <ensonic@users.sf.net>
3541 Move priv to the right place.
3543 * gst/gstsystemclock.c:
3544 Add FIXME: and improve log.
3546 * tests/check/Makefile.am:
3547 * tests/examples/manual/Makefile.am:
3548 Work with all types of registries.
3550 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
3552 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3553 Don't unref the event after pushing it. Fixes #478401.
3555 2007-09-19 Stefan Kost <ensonic@users.sf.net>
3558 * tests/examples/manual/.cvsignore:
3559 Ignore registries in any format.
3561 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
3563 * gst/glib-compat-private.h:
3564 Add compatibility macro for g_intern_string() for
3565 GLib-2.8 (any reason we can't just bump the
3566 requirement to at least 2.10?)
3568 * gst/gstpadtemplate.h:
3569 * gst/gstelementfactory.c:
3570 * gst/gstregistryxml.c:
3571 * gst/gstregistrybinary.c:
3572 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
3573 up the internal code accordingly. This shouldn't be a problem, since
3574 there is no reason external code could ever assume the string in such
3575 a structure is dynamically allocated unless it did that itself; the
3576 use of g_strdup() is private to element factories. The new code also
3577 saves some memory by putting pad template name strings into the GLib
3578 quark table instead of allocating them dynamically.
3579 Declaring this field constant fixes warnings with g++-4.2 when using
3580 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
3582 2007-09-19 Stefan Kost <ensonic@users.sf.net>
3584 * gst/gstelementfactory.c:
3585 Release static caps. Fixes #475723.
3587 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
3591 Make some internal API take const gchar * instead of just
3592 gchar * to avoid compiler warnings with g++-4.2.2 when
3593 passing string constants (partially fixes #478092).
3595 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
3597 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
3598 A latency query fails when one of the sinks fail.
3600 * gst/gstelement.c: (gst_element_set_base_time):
3603 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
3605 * gst/gstbin.c: (gst_bin_continue_func):
3606 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3607 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
3608 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
3610 Fix minor compilation warnings shown with Forte.
3612 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
3614 * plugins/elements/gstqueue.c: (apply_buffer),
3615 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
3616 Measure queue level based on the diff between head and tail timestamps
3617 even when pushing the first buffer.
3619 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
3621 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3622 (gst_base_sink_event), (gst_base_sink_change_state):
3623 Sinks that don't preroll can always be queried for the latency.
3624 Don't post ASYNC start when we are not async.
3626 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
3628 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3629 (gst_queue_handle_sink_event), (gst_queue_chain),
3630 (gst_queue_push_one), (gst_queue_handle_src_query),
3631 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
3632 * plugins/elements/gstqueue.h:
3633 When downstream returns UNEXPECTED from pushing a buffer, don't try to
3634 push more buffers but allow pushing of EOS and NEWSEGMENT.
3635 Add some more debug info here and there. Fixes #476514.
3637 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
3639 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3640 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
3641 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3642 (gst_base_sink_set_flushing), (gst_base_sink_query),
3643 (gst_base_sink_change_state):
3644 Latency query is allowed after we are prerolled. Introduce a new flag
3645 for this and stop abusing other variables.
3647 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3649 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3650 Push OOB events downstream when we get them in send_event. This allows
3651 the application to insert events in the pipeline.
3652 Add some more comments.
3654 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3656 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
3657 (do_bin_latency), (gst_bin_change_state_func):
3658 * gst/gstpipeline.c: (gst_pipeline_change_state):
3659 Move latency query from GstPipeline to GstBin so that we can also
3660 use it when async-handling is enabled on bins.
3662 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3664 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3665 (gst_base_src_do_sync), (gst_base_src_change_state):
3667 Clean up the timestamping and syncing code for pseudo live sources.
3669 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
3671 Patch by: Steve Fink <sphink gmail com>
3673 * docs/manual/appendix-checklist.xml:
3674 Mention less -R switch in the section about debug output (#474055).
3676 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3678 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3679 Queue can latency to the pipeline up to the configured max size in time.
3680 Report this fact in the latency query.
3682 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
3684 Patch by: Sebastien Moutte <sebastien at moutte dot net>
3686 * libs/gst/controller/gstinterpolation.c:
3687 * libs/gst/controller/gstlfocontrolsource.c:
3688 Use gst_guint64_to_gdouble() when converting from a uint64 or
3689 GstClockTime to double to fix the build on win32. Fixes #474371.
3691 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
3693 * gst/gstbuffer.c: (gst_buffer_finalize):
3694 Implement poisoning for GstBuffer if --enable-poisoning is specified.
3695 When finalizing a buffer the complete struct is filled with 0xff,
3696 thus making a use of the buffer after the final unref impossible.
3698 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
3700 * tests/check/libs/controller.c: (GST_START_TEST):
3701 Use fail_unless_equals_int(a, b) instead of
3702 fail_unless_equals (a == b) to get better output on failures.
3704 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
3706 * tests/check/gst/gsturi.c:
3707 Also check for the other file URI variant on win32.
3709 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
3711 * gst/gsturi.c: (gst_uri_get_location):
3712 If there's no hostname, we want to return 'c:/foo/bar.txt'
3713 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
3715 * tests/check/gst/gsturi.c:
3716 Unit test for the above and a few more things.
3718 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
3720 * docs/design/part-live-source.txt:
3721 Add docs on how live sources should timestamp.
3723 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3724 Add some more debug info.
3725 For subclasses that are live and like to sync, add aditional startup
3726 latency to sync time and timestamps so that we timstamp according to the
3729 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
3732 Also do a g_type_class_ref() for the subbuffer type in
3735 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
3737 * docs/gst/gstreamer-sections.txt:
3738 * gst/gstpad.c: (gst_pad_peer_query):
3740 Add function to perform a query on the peer of a pad.
3741 API: gst_pad_peer_query()
3743 2007-09-11 Stefan Kost <ensonic@users.sf.net>
3745 * tests/check/gst/gstsystemclock.c:
3746 Cleanup the test a little (use gst-logging and not g_message). Improve
3747 test to check if a wait reached the target.
3749 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
3751 * docs/libs/gstreamer-libs-sections.txt:
3752 Add new API to docs and fix the build.
3754 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
3756 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3757 (gst_base_src_init), (gst_base_src_set_do_timestamp),
3758 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
3759 (gst_base_src_get_property), (gst_base_src_do_sync):
3760 * libs/gst/base/gstbasesrc.h:
3761 Add property to make the basesrc timestamp buffers based on the current
3763 API: GstBaseSrc::do-timestamp
3764 API: gst_base_src_set_do_timestamp()
3765 API: gst_base_src_get_do_timestamp()
3767 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
3769 * docs/random/release:
3770 Really make sure translations are up-to-date before
3771 a release (#465010).
3773 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
3775 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3776 Always destroy the timer, also in error cases.
3778 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
3780 * docs/manual/highlevel-xml.xml:
3781 Fix XML example code. Fixes #472714.
3783 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
3785 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3786 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3787 (gst_base_sink_query):
3788 Protect eos and have_preroll with the OBJECT lock so we don't need to
3789 take the PREROLL lock when querying the latency. Fixes #473846.
3791 2007-09-05 Stefan Kost <ensonic@users.sf.net>
3794 Give some log-messages a category.
3796 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
3798 * gst/gststructure.c:
3799 (gst_structure_fixate_field_nearest_fraction):
3800 Fix fraction list fixation code. Take the fraction with the smallest
3801 difference with the target instead of the first one in the list.
3803 * tests/check/gst/gststructure.c: (GST_START_TEST),
3804 (gst_structure_suite):
3805 Added test to verify correct fraction list fixation behaviour.
3807 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
3809 * win32/common/libgstreamer.def:
3810 Export gst_bus_add_signal_watch too.
3812 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
3814 * docs/libs/gstreamer-libs-sections.txt:
3815 Add new methods to docs.
3817 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3818 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
3819 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
3820 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
3821 * libs/gst/base/gstbasesink.h:
3822 Add ts-offset property to fine-tune the synchronisation.
3823 API: GstBaseSink::ts-offset property
3824 API: gst_base_sink_set_ts_offset()
3825 API: gst_base_sink_get_ts_offset()
3827 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
3829 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3830 (gst_base_sink_init), (gst_base_sink_set_sync),
3831 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3832 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
3833 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
3834 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
3835 (gst_base_sink_get_property), (gst_base_sink_change_state):
3836 * libs/gst/base/gstbasesink.h:
3837 Add async property to instruct the sink never to inform the parent about
3838 ASYNC state changes, update docs.
3839 Check argument with g_return_* for the public functions.
3840 API: GstBaseSink::async property
3841 API: gst_base_sink_set_async_enabled()
3842 API: gst_base_sink_is_async_enabled()
3844 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
3846 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
3849 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3850 (gst_base_src_default_query), (gst_base_src_wait),
3851 (gst_base_src_do_sync), (gst_base_src_change_state):
3852 Rearrange some code so that we can add support for measuring the
3855 2007-08-27 Stefan Kost <ensonic@users.sf.net>
3857 * docs/random/ensonic/dynlink.txt:
3858 More thoughs on this.
3860 * plugins/elements/gstcapsfilter.c:
3861 Add bugzilla ticket number to FIXME comment.
3863 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
3865 * docs/design/part-TODO.txt:
3866 * docs/design/part-block.txt:
3869 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
3872 Revert patch which uses $(gst_headers) instead of $^ because it
3875 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
3877 * tests/check/gst/gstbin.c: (GST_START_TEST):
3878 Fix leaks in the new unit test.
3880 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
3883 Don't use GST_INFO before the debug system is actually initialised
3884 (shouldn't do any harm, but won't print anything either, so we can
3885 just as well remove it).
3888 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
3889 compilers that don't support variadic macros (such as MSVC), should
3890 check for debug_level <= __gst_debug_min as well, since that's the
3891 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
3892 inline helper functions. Should improve performance a bit, but also
3893 makes sure uses of GST_INFO et.al are ignored if the debugging
3894 system isn't initialised yet (instead of printing an assertion
3897 2007-08-23 Stefan Kost <ensonic@users.sf.net>
3899 patch by: David Nečas <yeti@physics.muni.cz>
3902 Replace some non portable makefile constructs.
3904 2007-08-21 Stefan Kost <ensonic@users.sf.net>
3906 * common/gtk-doc-plugins.mak:
3907 Grrrrr. Don't remove the types file on make clean.
3909 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
3911 * tools/gst-launch.1.in:
3912 Add colorspace to example pipeline. Fixes #458274.
3914 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
3916 * docs/random/release:
3917 The release manager should run 'make download-po' before making a
3918 release to make sure translations are up-to-date.
3924 Add some new translations.
3926 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
3928 * tools/gst-launch.c: (event_loop), (main):
3929 Don´t try to do any state management when a live pipeline posts
3931 Also make the buffering string translatable.
3933 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
3935 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
3936 (bin_handle_async_start), (gst_bin_handle_message_func):
3938 When adding elements, insert messages into the bus of the newly added
3939 element and make sure the element is the source of the message. This
3940 allows the parent bin to intercept the message and do the
3941 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
3942 messages to the app (which is not allowed).
3945 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3946 Fix testsuite so that is does not work around messages that should not
3947 have been posted in the first place.
3949 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
3951 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
3952 (update_degree), (gst_bin_sort_iterator_next):
3953 Fix annoying bug in the sorted iterator where a sink that is not really
3954 a sink (when it has downstream links) screwed up the iterator.
3956 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3957 Unit test to verify the fix.
3959 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
3962 Add some more docs for the messages.
3964 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3965 (gst_base_sink_query):
3966 Add some more debugging.
3968 * tools/gst-launch.c: (event_loop):
3969 When interrupting, don't try to set pipeline to PAUSED twice.
3971 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
3974 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
3975 (bin_handle_async_start), (gst_bin_handle_message_func):
3976 Move ASYNC_START message posting to where it belongs, similar to
3978 Don't post ASYNC_START when we are in error.
3979 Post ASYNC_START when we added an async element to a bin.
3981 2007-08-14 Julien MOUTTE <julien@moutte.net>
3983 * gst/gstindex.c: (gst_index_add_association): Fix index entry
3984 generation from vargs. Fixes #466595.
3986 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
3988 * gst/gstbin.c: (gst_bin_element_set_state):
3989 Always change the state of a NO_PREROLL element even if it has ASYNC
3990 elements inside (in case of a bin).
3992 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
3993 Unit test for this case.
3995 2007-08-13 Stefan Kost <ensonic@users.sf.net>
3997 * libs/gst/check/gstbufferstraw.c:
3998 * libs/gst/check/gstcheck.h:
3999 * libs/gst/controller/gstcontroller.c:
4000 * libs/gst/controller/gstcontrolsource.h:
4001 * libs/gst/controller/gstlfocontrolsource.h:
4002 * plugins/elements/gstcapsfilter.h:
4003 * plugins/elements/gstfdsink.h:
4004 * plugins/elements/gstfdsrc.h:
4005 Add more missing docs.
4007 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
4009 * gst/gststructure.c:
4010 Add Since tag to docs.
4012 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
4014 * docs/gst/gstreamer-sections.txt:
4015 * gst/gststructure.c: (gst_structure_get_uint):
4016 * gst/gststructure.h:
4017 Add function to get uint from a structure.
4018 API: gst_structure_get_uint()
4020 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
4022 * gst/gstcaps.c: (gst_caps_set_simple_valist),
4023 (gst_caps_intersect):
4024 Fix proper check for simple caps.
4026 2007-08-10 Stefan Kost <ensonic@users.sf.net>
4028 * docs/gst/Makefile.am:
4029 * docs/libs/Makefile.am:
4030 Remove cruft and do some cleanups.
4032 * docs/gst/gstreamer-docs.sgml:
4033 * docs/libs/gstreamer-libs-docs.sgml:
4034 Prepare for comming gtkdoc features (rebase against online docs).
4036 2007-08-10 Michael Smith <msmith@fluendo.com>
4038 * docs/gst/gstreamer-sections.txt:
4039 Add gst_registry_add_path to docs.
4041 2007-08-10 Michael Smith <msmith@fluendo.com>
4043 * gst/gstregistry.h:
4044 Add gst_registry_add_path, which was missing from this header.
4046 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
4048 * libs/gst/controller/gstlfocontrolsource.c:
4051 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
4053 * libs/gst/base/gstbasesink.c:
4054 Don't send an async_start message during downwards state change if
4055 target state is less than READY
4057 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
4059 translated by: Gabor Kelemen <kelemeng@gnome.hu>
4063 Added Hungarian translation.
4065 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
4072 Updated translations.
4074 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
4076 * libs/gst/controller/Makefile.am:
4077 Dist gstlfocontrolsourceprivate.h
4079 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
4081 * docs/libs/gstreamer-libs.types:
4082 Don't register the enum type gst_lfo_waveform_get_type() in the
4083 .types file - only GObject derived types belong.
4085 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
4087 Patch by: <arenevier at fdn dot fr>
4090 Remove comma from last element in enum to avoid compile errors when
4091 using -pendantic. Fixes #464366.
4093 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
4095 * docs/design/part-TODO.txt:
4096 Add some more TODO items
4098 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
4101 * gst/gstcaps.c: (gst_caps_intersect):
4102 Optimize trivial intersection case between identical caps pointers.
4104 * gst/gstelement.c: (gst_element_continue_state),
4105 (gst_element_set_state_func):
4107 Fix spelling and grammar mistakes.
4109 2007-08-05 Stefan Kost <ensonic@users.sf.net>
4113 Update POTFILES. Fixes #461599.
4115 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
4118 Fix confusing typo in debug output.
4120 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
4122 reviewed by: Stefan Kost <ensonic@users.sf.net>
4124 * libs/gst/controller/Makefile.am:
4125 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
4126 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
4127 (gst_lfo_control_source_new),
4128 (gst_lfo_control_source_set_waveform),
4129 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
4130 (gst_lfo_control_source_finalize),
4131 (gst_lfo_control_source_dispose),
4132 (gst_lfo_control_source_set_property),
4133 (gst_lfo_control_source_get_property),
4134 (gst_lfo_control_source_class_init):
4135 * libs/gst/controller/gstlfocontrolsource.h:
4136 * libs/gst/controller/gstlfocontrolsourceprivate.h:
4137 API: Add GstLFOControlSource, a control source that gives values
4138 for specific timestamps based on several periodic waveforms.
4141 * tests/check/libs/controller.c: (GST_START_TEST),
4142 (gst_controller_suite):
4143 * docs/libs/gstreamer-libs-docs.sgml:
4144 * docs/libs/gstreamer-libs-sections.txt:
4145 * docs/libs/gstreamer-libs.types:
4146 Add documentation and unit tests for GstLFOControlSource.
4148 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
4153 === release 0.10.14 ===
4155 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
4158 releasing 0.10.14, "Breathing Vacuum"
4160 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
4162 * gst/gstelement.c: (gst_element_class_set_details_simple):
4164 Make strings passed to gst_element_class_set_details_simple()
4165 constant, as they should be (#462752).
4167 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
4169 * gst/gstbin.c: (gst_bin_change_state_func),
4170 (bin_handle_async_done), (gst_bin_handle_message_func):
4171 Don't forget about the fact that some element went ASYNC even after a
4172 resync. This makes us post the ASYNC_DONE message correctly.
4175 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
4177 * gst/gstregistry.c: (gst_registry_add_feature):
4178 When replacing an existing feature in the registry, make sure to
4179 continue holding a reference until we've replaced the name string
4180 within our feature hash table. Make sure to use g_hash_table_replace
4181 instead of g_hash_table_insert to ensure the new name string is used
4182 as a key instead of the old one that we're about to free.
4185 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
4187 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4188 (gst_plugin_feature_set_name):
4189 Revert patch from #459466 until after the release and we can work
4190 out exactly what the problem is (if any).
4192 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
4194 * docs/gst/gstreamer-sections.txt:
4197 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
4199 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4201 * docs/libs/Makefile.am:
4202 Include our build-prefix libs and includes before the generic ones to
4203 avoid linking against the installed libs when we want the build-tree
4206 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
4208 Patch by: Steve Fink <sphink gmail com>
4210 * docs/pwg/building-testapp.xml:
4211 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
4212 if people try to build or install the example from the plugin
4213 template against a GStreamer from package using the configure
4216 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
4218 Patch by: Steve Fink <sphink gmail com>
4220 * tools/gst-inspect.1.in:
4221 Document --print-all and --print-plugin-auto-install-info command
4222 line options in man page.
4224 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
4226 * docs/gst/gstreamer-sections.txt:
4227 Add docs for new api function.
4229 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
4231 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
4232 * gst/gstelementfactory.h:
4233 API: gst_element_factory_has_interface()
4234 Added method to check if an element factory implements a named
4237 2007-07-25 Stefan Kost <ensonic@users.sf.net>
4240 * docs/gst/gstreamer.types.in:
4241 Another conditional doc check.
4244 * gst/gstparamspecs.h:
4245 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4250 2007-07-24 Stefan Kost <ensonic@users.sf.net>
4252 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
4253 (gst_registry_binary_load_feature),
4254 (gst_registry_binary_load_plugin),
4255 (gst_registry_binary_read_cache):
4256 Print error just once and with additional info.
4258 2007-07-24 Stefan Kost <ensonic@users.sf.net>
4260 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4261 (helper_find_suggest), (helper_find_get_length),
4262 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
4263 (gst_type_find_helper_for_buffer):
4264 Cleanup the typefindhelper code and add private doc comments.
4266 2007-07-24 Edward Hervey <bilboed@bilboed.com>
4268 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4269 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
4270 Fix capsfilter for cases where the caps set on capsfilter will provide
4271 additional information.
4274 2007-07-24 Stefan Kost <ensonic@users.sf.net>
4276 * gst/gsttypefindfactory.c:
4277 Fix docs that recommened wrong function to use.
4279 2007-07-23 Stefan Kost <ensonic@users.sf.net>
4281 * tools/gst-inspect.c: (print_plugin_features):
4282 Also give media-type for typefinders in element output.
4284 2007-07-23 Stefan Kost <ensonic@users.sf.net>
4286 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
4287 (gst_registry_remove_features_for_plugin_unlocked),
4288 (gst_registry_add_feature), (gst_registry_remove_feature),
4289 (gst_registry_lookup_feature_locked):
4290 * gst/gstregistry.h:
4291 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
4294 2007-07-23 Stefan Kost <ensonic@users.sf.net>
4296 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4297 (gst_plugin_feature_set_name):
4298 Avoid double memory usage for pluginfeature names. Fixes #459466.
4300 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
4303 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
4304 driving the pipeline may need to explicitly check for NOT_LINKED as
4305 well, since IS_FATAL doesn't cover that.
4307 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
4309 * docs/pwg/advanced-types.xml:
4310 Fix typo and duplicate entry in video formats list.
4312 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
4314 * libs/gst/controller/gstinterpolation.c:
4315 Also round to the nearest int when using cubic interpolation.
4317 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
4319 * libs/gst/controller/gstinterpolation.c:
4320 When linearly interpolating integer types, round to the nearest int
4321 by adding 0.5. Don't do it for float/double types.
4322 Fixes the failing controller test on my machine, which is somehow
4323 rounding differently than on the buildbots.
4325 2007-07-20 Stefan Kost <ensonic@users.sf.net>
4327 * tools/gst-plot-timeline.py:
4328 Better log parsing (categories can have -). Adjust text vs. lines, so
4329 that they span the same y-range.
4331 2007-07-20 Stefan Kost <ensonic@users.sf.net>
4333 * docs/random/ensonic/audiobaseclasses.txt:
4334 * docs/random/ensonic/dynlink.txt:
4335 * docs/random/ensonic/profiling.txt:
4338 * docs/random/moving-plugins:
4339 Add note to use g_assert type macros.
4341 2007-07-20 Stefan Kost <ensonic@users.sf.net>
4344 * libs/gst/check/Makefile.am:
4345 Add libm check as we use in for plugins.
4347 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
4349 * gst/gstbin.c: (gst_bin_continue_func):
4350 Check that the state_cookie hasn't changed since the continue_func
4351 was scheduled. Avoids problems where the state changes back to
4352 something it shouldn't be because it was changed in the meantime.
4354 2007-07-17 Stefan Kost <ensonic@users.sf.net>
4356 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
4357 (gst_registry_binary_save_string),
4358 (gst_registry_binary_save_pad_template),
4359 (gst_registry_binary_save_feature),
4360 (gst_registry_binary_save_plugin),
4361 (gst_registry_binary_load_feature),
4362 (gst_registry_binary_load_plugin),
4363 (gst_registry_binary_read_cache):
4364 Fix memory leak. Be less verbose in the log.
4366 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4368 * tests/check/elements/.cvsignore:
4369 Add file to cvsignore as commanded.
4371 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4373 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4374 (mq_dummypad_event), (run_output_order_test):
4375 Use a GStaticMutex to protect all cases where libcheck
4376 fail_if/fail_unless macros might be called from multiple threads
4377 simultaneously to avoid errors like:
4378 "check_pack.c:107: :-1081725400:Bad message type arg"
4380 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4382 * tests/check/pipelines/stress.c: (GST_START_TEST):
4383 Make sure we set the pipeline back to the NULL state before
4384 dropping our final reference.
4386 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4388 * tests/check/elements/tee.c: (GST_START_TEST):
4389 Make the tee stress-test a little less stressful so it doesn't just
4390 time out on slow-machines, and remove a small race when it's starting
4391 up by adding a get_state() call.
4393 2007-07-16 Stefan Kost <ensonic@users.sf.net>
4396 Avoid reading registry twice on startup. Fixes #457322.
4398 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4400 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4401 * pkgconfig/gstreamer-check.pc.in:
4402 Substitute the CFLAGS for libcheck into our .pc file too so that
4403 dependent modules will pick it up properly if libcheck is installed
4404 into some other prefix.
4406 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4409 Revert the pkg-config check for libcheck, since it pulls in the
4410 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
4411 a proper solution, either from the check project, or something else.
4413 2007-07-12 Stefan Kost <ensonic@users.sf.net>
4416 Use pkg-config to locate check.
4418 2007-07-10 Stefan Kost <ensonic@users.sf.net>
4425 Add deprecation guards.
4427 * libs/gst/base/gstcollectpads.h:
4428 Don't document object (this is implicitly private).
4430 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
4432 * gst/gststructure.c: (gst_structure_parse_value):
4433 When deserialising foo=bar without a type cast, check if it's a
4434 boolean before falling back to a string type, otherwise things like
4435 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
4436 because the filtercaps end up having a signed=(string)true field,
4437 which causes problems later when intersection caps.
4439 * tests/check/gst/gststructure.c: (GST_START_TEST):
4440 Add a unit test for this.
4442 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
4444 Reviewed by: Stefan Kost <ensonic@users.sf.net>
4446 * libs/gst/controller/Makefile.am:
4447 * libs/gst/controller/gstcontroller.c:
4448 (gst_controlled_property_add_interpolation_control_source),
4449 (gst_controlled_property_new), (gst_controlled_property_free),
4450 (gst_controller_find_controlled_property),
4451 (gst_controller_new_valist), (gst_controller_new_list),
4452 (gst_controller_new), (gst_controller_remove_properties_valist),
4453 (gst_controller_remove_properties_list),
4454 (gst_controller_remove_properties),
4455 (gst_controller_set_property_disabled),
4456 (gst_controller_set_disabled), (gst_controller_set_control_source),
4457 (gst_controller_get_control_source), (gst_controller_get),
4458 (gst_controller_sync_values), (gst_controller_get_value_array),
4459 (_gst_controller_dispose), (gst_controller_get_type),
4460 (gst_controlled_property_set_interpolation_mode),
4461 (gst_controller_set), (gst_controller_set_from_list),
4462 (gst_controller_unset), (gst_controller_unset_all),
4463 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
4464 * libs/gst/controller/gstcontroller.h:
4465 * libs/gst/controller/gstcontrollerprivate.h:
4466 * libs/gst/controller/gstcontrolsource.c:
4467 (gst_control_source_class_init), (gst_control_source_init),
4468 (gst_control_source_get_value),
4469 (gst_control_source_get_value_array), (gst_control_source_bind):
4470 * libs/gst/controller/gstcontrolsource.h:
4471 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
4472 (gst_object_get_control_source):
4473 * libs/gst/controller/gstinterpolation.c:
4474 (gst_interpolation_control_source_find_control_point_node),
4475 (gst_interpolation_control_source_get_first_value),
4476 (_interpolate_none_get), (interpolate_none_get),
4477 (interpolate_none_get_boolean_value_array),
4478 (interpolate_none_get_enum_value_array),
4479 (interpolate_none_get_string_value_array),
4480 (_interpolate_trigger_get), (interpolate_trigger_get),
4481 (interpolate_trigger_get_boolean_value_array),
4482 (interpolate_trigger_get_enum_value_array),
4483 (interpolate_trigger_get_string_value_array):
4484 * libs/gst/controller/gstinterpolationcontrolsource.c:
4485 (gst_control_point_free), (gst_interpolation_control_source_reset),
4486 (gst_interpolation_control_source_new),
4487 (gst_interpolation_control_source_set_interpolation_mode),
4488 (gst_interpolation_control_source_bind),
4489 (gst_control_point_compare), (gst_control_point_find),
4490 (gst_interpolation_control_source_set_internal),
4491 (gst_interpolation_control_source_set),
4492 (gst_interpolation_control_source_set_from_list),
4493 (gst_interpolation_control_source_unset),
4494 (gst_interpolation_control_source_unset_all),
4495 (gst_interpolation_control_source_get_all),
4496 (gst_interpolation_control_source_get_count),
4497 (gst_interpolation_control_source_init),
4498 (gst_interpolation_control_source_finalize),
4499 (gst_interpolation_control_source_dispose),
4500 (gst_interpolation_control_source_class_init):
4501 * libs/gst/controller/gstinterpolationcontrolsource.h:
4502 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
4503 API: Refactor GstController into the core controller which can take
4504 a GstControlSource for providing actual values for timestamps.
4505 Implement a interpolation control source and use this for backward
4506 compatibility, deprecate a bunch of functions that are now handled
4507 by GstControlSource or GstInterpolationControlSource.
4508 Make it possible to disable the controller completely or only for
4509 specific properties. Fixes #450711.
4510 * docs/libs/gstreamer-libs-docs.sgml:
4511 * docs/libs/gstreamer-libs-sections.txt:
4512 * docs/libs/gstreamer-libs.types:
4513 Add new functions and classes to the docs.
4514 * tests/check/libs/controller.c: (GST_START_TEST),
4515 (gst_controller_suite):
4516 * tests/examples/controller/audio-example.c: (main):
4517 Port unit test and example to the new API and add some new
4520 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
4522 Patch by: Mark Nauwelaerts <manauw at skynet be>
4524 * plugins/elements/gstmultiqueue.c:
4525 (gst_multi_queue_get_internal_links), (apply_buffer),
4526 (single_queue_overrun_cb), (gst_single_queue_new):
4527 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
4528 the pipeline layout can be tracked correctly. Fixes #453732.
4530 2007-07-05 Stefan Kost <ensonic@users.sf.net>
4532 * docs/gst/Makefile.am:
4533 * docs/libs/Makefile.am:
4534 * docs/plugins/Makefile.am:
4535 Simplify --extra-dir as gtkdoc scans recursively.
4537 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
4539 * tools/gst-launch.c: (main):
4540 When we got an error, there is no point in waiting for preroll when
4543 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
4545 * plugins/elements/gsttee.c: (gst_tee_base_init),
4546 (gst_tee_request_new_pad), (gst_tee_release_pad),
4547 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
4548 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
4550 Be a lot smarter when deciding what srcpad to use for proxying
4551 the buffer_alloc. Also handle pad added/removed when doing so.
4553 Keep track of what pads we already pushed on in case we have pads
4554 added/removed while pushing. Fixes #374639
4556 * tests/check/Makefile.am:
4557 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
4559 Added unit test for pad resync.
4561 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4565 Updated translations.
4567 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4569 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
4573 Added new Finnish translation.
4575 2007-06-28 Wim Taymans <wim@fluendo.com>
4577 * plugins/elements/gstmultiqueue.c: (apply_buffer),
4578 (single_queue_overrun_cb):
4579 When figuring out when a queue is filled, use our internal time estimate
4580 based on segments, just like check_full does.
4582 2007-06-27 Stefan Kost <ensonic@users.sf.net>
4584 * gst/gstminiobject.c: (gst_mini_object_get_type):
4585 Remove 3 do-nothing methods.
4587 2007-06-27 Wim Taymans <wim@fluendo.com>
4589 Patch by: Tim Angus <tim at ngus dot net>
4591 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4592 (gst_capsfilter_set_property):
4593 Take a reference instead of a copy when setting "caps".
4594 Fix documentation to clarify this behaviour. Fixes #449414.
4596 2007-06-27 Stefan Kost <ensonic@users.sf.net>
4598 * gst/gstindexfactory.c: (gst_index_factory_get_type):
4599 * gst/gstplugin.c: (gst_plugin_init):
4600 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
4601 * gst/gstquery.c: (gst_query_get_type):
4602 * gst/gstregistry.c: (gst_registry_init):
4603 * gst/gsturi.c: (gst_uri_handler_base_init):
4604 Remove empty instance_init() functions to save relocs and lessen the
4605 noise. Remove some of the function prototypes that are doubled by
4608 2007-06-27 Wim Taymans <wim@fluendo.com>
4610 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
4612 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
4613 Add peer and direction in the XML serialisation of ghostpads.
4616 2007-06-26 Stefan Kost <ensonic@users.sf.net>
4619 Preserve useful information, thanks Tim.
4621 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
4623 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4624 (gst_single_queue_flush), (apply_segment), (apply_buffer),
4625 (gst_single_queue_push_one), (gst_multi_queue_loop),
4626 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4627 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
4628 (compute_high_id), (gst_single_queue_new):
4629 * plugins/elements/gstmultiqueue.h:
4630 Take the multiqueue lock when updating the fill level so we don't get
4633 After applying a buffer or event on the src pad segment, make sure to
4634 call gst_data_queue_limits_changed() to get the data queue to unblock
4635 and check the filled state again.
4637 Rework the not-linked pad handling so the logic is that not-linked
4638 pads can push as fast as they like, but only so they never get
4639 ahead of any linked pads.
4641 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
4642 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
4643 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
4645 Add a test to check that not-linked pads always stay behind
4650 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
4652 * docs/random/release:
4653 Some updates to the release procedure.
4655 2007-06-26 Stefan Kost <ensonic@users.sf.net>
4657 * gst/gstelementfactory.c: (__gst_element_details_clear):
4658 Microoptimization that saves stunning 80 bytes.
4660 2007-06-25 Stefan Kost <ensonic@users.sf.net>
4662 * docs/plugins/gstreamer-plugins.args:
4663 * docs/plugins/inspect/plugin-coreelements.xml:
4664 * docs/plugins/inspect/plugin-coreindexers.xml:
4665 Update docs with caps info.
4667 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
4670 Updated Italian translation.
4672 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
4676 Update Vietnamese translations.
4678 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
4680 * libs/gst/base/gstbasesink.c:
4681 Remove unused signal enum.
4683 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
4685 * docs/gst/gstreamer-sections.txt:
4687 * gst/gstutils.c: (gst_type_register_static_full):
4688 Beef up and include the docs for gst_type_register_static_full and
4689 gst_element_class_set_details_simple and add the API keyword
4692 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
4694 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4695 (update_time_level), (gst_single_queue_push_one),
4696 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
4697 (single_queue_overrun_cb), (single_queue_underrun_cb),
4698 (single_queue_check_full):
4699 Fix setting max-* properties after adding queues.
4700 Use IS_FILLED for checking visible items.
4701 Signal overrun if multiple queues overrun.
4702 Add extra debug output.
4703 Patch by: Wim Taymans <wim@fluendo.com>
4705 2007-06-21 Stefan Kost <ensonic@users.sf.net>
4707 * gst/gstelement.c: (gst_element_class_set_details_simple):
4709 * gst/gstutils.c: (gst_type_register_static_full):
4711 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
4712 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
4713 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
4714 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
4715 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
4716 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
4717 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
4718 * plugins/elements/gstidentity.c: (gst_identity_base_init):
4719 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
4720 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4721 (apply_buffer), (gst_queue_chain):
4722 * plugins/elements/gsttee.c: (gst_tee_base_init):
4723 * plugins/elements/gsttypefindelement.c:
4724 (gst_type_find_element_base_init),
4725 (gst_type_find_element_class_init):
4726 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
4727 API: add gst_type_register_static_full
4728 API: add gst_element_class_set_details_simple
4730 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
4732 * docs/pwg/advanced-types.xml:
4733 Fix typo in iana.org URI.
4735 2007-06-19 Andy Wingo <wingo@pobox.com>
4737 * tests/check/pipelines/simple-launch-lines.c
4738 (test_state_change_returns): Enable pull-mode tests now that
4739 basesink has been fixed.
4741 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
4742 Changed from gst_base_sink_is_prerolled, reversing the sense of
4743 the return value. Returns FALSE also if the sink is in pull mode,
4744 in which case it needs no preroll.
4745 (gst_base_sink_query, gst_base_sink_change_state): Update for
4746 needs_preroll change.
4747 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
4748 chaining up, in which we return SUCCESS directly if we activated
4749 in pull mode instead of ASYNC. Involves countering an async_start
4750 message sent before chaining up; not sure if this is correct, in
4751 an ideal world we only send async-start when activating in push
4754 * tests/check/pipelines/simple-launch-lines.c
4755 (test_state_change_returns): New test, partially disabled until
4758 2007-06-19 Wim Taymans <wim@fluendo.com>
4760 * plugins/elements/gstmultiqueue.c: (apply_buffer),
4761 (gst_multi_queue_sink_event):
4764 2007-06-19 Wim Taymans <wim@fluendo.com>
4766 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4767 (gst_bin_change_state_func), (bin_push_state_continue),
4768 (bin_handle_async_start), (bin_handle_async_done),
4769 (gst_bin_handle_message_func):
4770 Move the common code for posting state-change messages into
4772 Broadcast the state signal after we posted the messages.
4773 Mark the bin as busy when it's doing a state-change.
4774 Make sure async-start/done messages don't interfere with the bin's
4775 state when it's busy.
4776 After the state change, let the bin check which elements completed the
4777 state change while it was busy so that it can update its state.
4779 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
4781 * docs/random/release:
4782 Add a note about updating the doap file to the release checklist
4784 2007-06-18 Wim Taymans <wim@fluendo.com>
4786 * plugins/elements/gstmultiqueue.c: (apply_buffer),
4787 (gst_single_queue_push_one), (gst_multi_queue_chain),
4788 (gst_multi_queue_sink_event):
4789 Make sure we don't reference the buffer/event after we have given away
4790 ownership in the queue.
4792 2007-06-18 Wim Taymans <wim@fluendo.com>
4794 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4795 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
4796 Update queue state _after_ adding the item in the queue because else we
4797 could end up being full without the element added yet.
4799 2007-06-18 Wim Taymans <wim@fluendo.com>
4801 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4802 (gst_bin_remove_func), (gst_bin_get_state_func),
4803 (gst_bin_element_set_state), (gst_bin_continue_func),
4804 (bin_push_state_continue), (bin_handle_async_start),
4805 (bin_handle_async_done), (gst_bin_handle_message_func):
4807 Immediatly commit the toplevel bin state when receiving an async-done
4808 message. This enables us to avoid spawning a thread to commit the state
4809 in some common cases and it also avoids some races.
4810 Avoid spawning a state thread when adding/removing async elements to a
4811 toplevel bin. Instead we immediatly update the bin state.
4812 Get rid of iterating all the children when getting the state in the bin
4813 because it is now always up-to-date.
4814 Fix bug where locked elements would always return _SUCCESS even it they
4815 returned NO_PREROLL before being locked.
4816 Fix the order of the state_change, async-start/done messages that was
4817 sometimes incorrect.
4818 Mark the state_dirty field as deprecated, we don't need it anymore as we
4819 are always up-to-date.
4821 * gst/gstelement.c: (gst_element_get_state_func),
4822 (gst_element_continue_state):
4823 Small debug inprovements.
4824 Return the previous element state return when nothing is pending instead
4825 of blindly returning SUCCESS.
4827 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
4829 Add a whole bunch of new testcases.
4831 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
4835 Update translations.
4837 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
4840 Fix typo in the docs.
4842 2007-06-15 Wim Taymans <wim@fluendo.com>
4844 * docs/libs/gstreamer-libs-sections.txt:
4845 Add docs for new methods.
4847 2007-06-15 Wim Taymans <wim@fluendo.com>
4849 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
4850 (gst_multi_queue_item_new):
4851 Don't use GSlice because we don't depend on >= 2.10 yet.
4853 2007-06-15 Wim Taymans <wim@fluendo.com>
4855 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4856 (update_time_level), (apply_segment), (apply_buffer),
4857 (gst_single_queue_push_one), (gst_multi_queue_item_new),
4858 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
4859 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
4860 (single_queue_underrun_cb), (single_queue_check_full):
4861 Remove debug printf.
4863 2007-06-15 Wim Taymans <wim@fluendo.com>
4865 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
4866 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
4867 (gst_data_queue_set_flushing), (gst_data_queue_push),
4868 (gst_data_queue_pop), (gst_data_queue_drop_head),
4869 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
4870 * libs/gst/base/gstdataqueue.h:
4872 Added methods to get the current levels and to inform the queue that the
4873 'full' limits changed.
4875 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4876 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4877 (gst_single_queue_flush), (update_time_level), (apply_segment),
4878 (apply_buffer), (gst_single_queue_push_one),
4879 (gst_multi_queue_item_steal_object),
4880 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4881 (gst_multi_queue_loop), (gst_multi_queue_chain),
4882 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4883 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
4884 (gst_multi_queue_src_query), (single_queue_overrun_cb),
4885 (single_queue_underrun_cb), (single_queue_check_full),
4886 (gst_single_queue_new):
4887 Keep track of time in the queue by measuring the difference between
4888 running_time on input and output. This gives more accurate results and
4889 can compensate for segments correctly.
4890 Make a queue by default only 5 buffers deep. We will now increase the
4891 buffer size depending on the filledness of the other queues.
4892 Factor out commong flush code.
4893 Make sure we don't add additional refcounts to buffers when we can avoid
4895 Propagate GstFlowReturn differently.
4896 Use GSlice for intermediate GstMultiQueueItems.
4898 Resize queues on over and underruns based on filled level of other
4900 When checking if the queue is filled, prefer to measure in time if we
4901 can and fall back to bytes when no time is known.
4903 * plugins/elements/gstqueue.c:
4906 2007-06-15 Wim Taymans <wim@fluendo.com>
4908 * libs/gst/base/gstbasetransform.c:
4909 (gst_base_transform_sink_event):
4910 Work around the brokenness of the event vmethod in basetransform. Prefer
4911 to return TRUE when the subclass returned FALSE (meaning don't forward
4914 * libs/gst/base/gstbasetransform.h:
4917 2007-06-15 Wim Taymans <wim@fluendo.com>
4919 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4920 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4921 (gst_base_src_default_query), (gst_base_src_get_range),
4922 (gst_base_src_start):
4923 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
4926 2007-06-15 Stefan Kost <ensonic@users.sf.net>
4928 * docs/pwg/advanced-types.xml:
4929 Added more formats to caps table.
4931 2007-06-15 Stefan Kost <ensonic@users.sf.net>
4933 * tools/gst-launch.c: (main):
4934 Remove crufy code. GOption does not need this workaround.
4936 2007-06-14 Stefan Kost <ensonic@users.sf.net>
4938 * libs/gst/controller/gstcontroller.c:
4939 (gst_controlled_property_set_interpolation_mode):
4940 Fix wrong getter for enums in controller.
4942 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4944 * libs/gst/check/gstcheck.c: (gst_check_init):
4945 Intercept criticals and warnings in the Gst-Phonon log domain, so
4946 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
4949 2007-06-14 Edward Hervey <edward@fluendo.com>
4951 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
4952 Since this file doesn't include "gst.h" it will not go through the
4953 macros that disable GST_LOG if debugging was disabled.
4955 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4957 * libs/gst/check/Makefile.am:
4958 * libs/gst/check/gstcheck.h:
4959 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4960 * pkgconfig/gstreamer-check.pc.in:
4961 Ugly 'fix' for the controller unit test on the p5 bot: in
4962 fail_unless_equals_float() check whether the values are 'almost
4963 equal' by allowing a small absolute error, which should be good
4964 enough for our use cases (normal numbers and values close to 0).
4965 Proper fixage left to floating point arithmetic aficionados.
4967 2007-06-14 Stefan Kost <ensonic@users.sf.net>
4969 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4970 (gst_base_sink_render_object), (gst_base_sink_get_position):
4971 Add two breaks thats where missing.
4973 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4975 * docs/libs/gstreamer-libs-sections.txt:
4976 * libs/gst/check/gstcheck.h:
4977 API: add fail_unless_equals_float() and assert_equals_float().
4978 Add documentation for some of the macros.
4980 * tests/check/libs/controller.c: (GST_START_TEST):
4981 Use newly-added asserts.
4983 2007-06-14 Stefan Kost <ensonic@users.sf.net>
4985 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
4986 Show the caps change in the log to help spotting the case of not
4987 exactly matching caps.
4989 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4991 * docs/pwg/building-boiler.xml:
4992 Fix typos, spotted by Thijs Vermeir (#447190).
4994 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
4996 * docs/plugins/tmpl/.cvsignore:
4997 Ignore file to keep the buildbots happy
4999 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
5001 * docs/plugins/Makefile.am:
5002 * docs/plugins/gstreamer-plugins-docs.sgml:
5003 * docs/plugins/gstreamer-plugins-sections.txt:
5004 Pull fdsink into the docs too.
5006 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
5008 * libs/gst/controller/gstinterpolation.c:
5009 Actually use the new functions with min/max checks for the trigger and
5010 none interpolation modes for get() and get_value_array() instead of
5013 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
5015 * libs/gst/controller/gstcontroller.c:
5016 (gst_controlled_property_free):
5017 Unset the minimum and maximum GValues when freeing the corresponding
5018 GstControllerProperty struct.
5020 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
5022 * libs/gst/controller/gstcontroller.c:
5023 (gst_controlled_property_new):
5024 * libs/gst/controller/gstcontrollerprivate.h:
5025 * libs/gst/controller/gstinterpolation.c:
5026 (gst_controlled_property_find_control_point_node),
5027 (interpolate_none_get), (interpolate_none_get_enum_value_array),
5028 (interpolate_none_get_string_value_array),
5029 (interpolate_trigger_get),
5030 (interpolate_trigger_get_enum_value_array),
5031 (interpolate_trigger_get_string_value_array):
5032 Protect against values larger or smaller than the minimum or maximum
5033 allowed value for the property when using values that can be compared.
5035 Optimize trigger interpolator a bit by taking the last requested value
5036 into account instead of always looping through the complete list.
5038 Fix coding style a bit, everywhere else we use "return foo" instead
5041 * tests/check/libs/controller.c: (GST_START_TEST),
5042 (gst_controller_suite):
5043 Add unit test for the protection against too large or too small
5046 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
5048 * docs/random/slomo/controller.txt:
5049 Add some thoughts about the future of the controller.
5051 2007-06-08 Wim Taymans <wim@fluendo.com>
5053 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5054 Don't overflow in retimestamping code.
5056 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
5058 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
5059 Use gst_util_guint64_to_gdouble for conversions.
5060 * win32/common/libgstreamer.def:
5061 Add new exported functions.
5063 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
5066 Small docs addition.
5068 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5071 Remove that test line again.
5073 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5076 Test commit mail sending.
5078 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5081 Fix typo and test commit mail sending.
5083 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5085 * tests/examples/controller/audio-example.c:
5086 Improve comment and test commit mail sending.
5088 2007-06-07 Wim Taymans <wim@fluendo.com>
5090 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
5091 (gst_bin_remove_func), (gst_bin_element_set_state),
5092 (bin_handle_async_start), (bin_handle_async_done),
5093 (gst_bin_handle_message_func):
5094 Add helper function to find messages.
5095 Generate the async-done messages together with the state change
5097 Small cleanups in handling toplevel bins.
5099 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
5101 * libs/gst/base/gstdataqueue.c:
5102 * libs/gst/base/gstdataqueue.h:
5103 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5104 (gst_multi_queue_item_new), (gst_multi_queue_chain),
5105 (gst_multi_queue_sink_event):
5106 * tests/check/elements/multiqueue.c: (multiqueue_suite):
5107 Fix multiqueue leaking buffers and events when downstream or the
5108 queue are flushing. Make refcounting assumptions explicit and
5109 document them (shouldn't break existing code that uses it other than
5110 maybe leak miniobjects, but that already happens anyway). Add unit
5111 test for the most common flushing case. Fixes #423700.
5113 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
5115 * libs/gst/controller/gstcontroller.c:
5116 Clarify docs: The get_all, get_value_array(s) functions
5117 don't modify the GObject properties.
5119 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
5121 * libs/gst/controller/gstcontroller.c:
5122 (gst_controlled_property_set_interpolation_mode),
5123 (gst_controlled_property_prepend_default),
5124 (gst_controlled_property_new), (gst_controller_set_unlocked),
5125 (gst_controller_set), (gst_controller_set_from_list),
5126 (gst_controller_unset), (gst_controller_unset_all):
5127 * libs/gst/controller/gstcontrollerprivate.h:
5128 * libs/gst/controller/gstinterpolation.c:
5129 Factor out the 'set' logic into gst_controller_set_unlocked for the
5130 gst_controller_set and gst_controller_set_from_list functions.
5132 To make life of the interpolators easier always add a control point
5133 at timestamp zero with the default value.
5135 In the linear interpolator make things more obvious by better variable
5138 Implement cubic interpolation mode (by using a natural cubic spline)
5139 and map the quadratic interpolation mode to this too (as quadratic
5140 doesn't make much sense, see discussion on the list).
5142 * tests/check/libs/controller.c: (GST_START_TEST),
5143 (gst_controller_suite):
5144 Add unit test for the cubic interpolation mode and check everywhere
5145 if the interpolation mode could be set as expected.
5147 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
5149 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
5150 Don't use GLib-2.10 functions, we still depend on
5151 GLib-how-old-is-it-again-2.8.
5153 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
5155 * docs/gst/gstreamer-sections.txt:
5159 * gst/gstparamspecs.c: (_gst_param_fraction_init),
5160 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
5161 (_gst_param_fraction_values_cmp),
5162 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
5163 * gst/gstparamspecs.h:
5165 * tests/check/Makefile.am:
5166 * tests/check/gst/.cvsignore:
5167 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
5168 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
5169 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
5170 (GST_START_TEST), (gst_param_spec_suite):
5171 API: add GstParamSpecFraction, so elements can have fraction
5172 properties without lots of painful string parsing (#444648).
5174 2007-06-05 Wim Taymans <wim@fluendo.com>
5176 * gst/gstobject.c: (gst_object_class_init):
5177 Fix signal signature.
5180 Add small clarification in the api docs.
5182 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
5183 States are protected with object lock.
5185 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
5188 I should probably be listed as an author by now.
5190 * docs/random/release:
5191 Update the release doc
5193 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
5196 Make docs for gst_value_compare() mention return enums that
5199 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
5204 === release 0.10.13 ===
5206 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
5209 releasing 0.10.13, "With or without you"
5211 2007-05-25 Wim Taymans <wim@fluendo.com>
5213 * gst/gstbin.c: (bin_handle_async_done):
5214 Make sure that the child bin stops after completing the async state
5215 change so that the parent can continue the state change to PLAYING.
5218 2007-05-25 Wim Taymans <wim@fluendo.com>
5220 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5221 (unref_data), (gst_collect_pads_remove_pad),
5222 (gst_collect_pads_check_pads):
5223 Use additional refcounting to avoid crashes when dynamically adding and
5224 removing pads. Fixes #420206.
5226 2007-05-24 Wim Taymans <wim@fluendo.com>
5228 * tools/gst-launch.c: (event_loop):
5229 When buffering goes from a two digit to a single digit number, make sure
5230 to remove the old second digit by writing a blank over it.
5232 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
5234 * libs/gst/base/gstdataqueue.c:
5235 Eliminate tabs and trailing comma in enum list; fix some typos.
5237 2007-05-24 Wim Taymans <wim@fluendo.com>
5239 * tests/check/gst/gstbin.c: (GST_START_TEST):
5240 Allow refcount of 3 and 4 because some state thread might still be busy
5243 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
5245 * plugins/elements/Makefile.am:
5246 * plugins/elements/gstmultiqueue.h:
5247 * plugins/elements/gstqueue.h:
5248 These are not installed headers, no need for padding.
5250 2007-05-24 Wim Taymans <wim@fluendo.com>
5252 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5253 (gst_bin_continue_func):
5254 Enable latency for next release.
5255 Restore STATE_LOCK around recalc_state that was left out during the
5256 rewrite and could result in racy behaviour when _get_state and
5257 recalc_state are run concurrently. See #440463.
5259 2007-05-23 Wim Taymans <wim@fluendo.com>
5261 * tests/check/gst/gstsystemclock.c: (store_callback),
5263 Improve test_async_order to also work when both timers are already
5264 expired when we get scheduled to check it.
5266 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
5268 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
5269 (gst_bin_set_property), (gst_bin_get_property),
5270 (gst_bin_remove_func), (gst_bin_handle_message_func):
5272 'private' is a c++ keyword, let's not use that in header files,
5273 otherwise c++ compilers will throw a tantrum.
5275 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
5277 * plugins/elements/gstelements.c:
5278 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
5279 (gst_file_sink_get_current_offset):
5280 * plugins/indexers/gstindexers.c: (plugin_init):
5281 Use #ifdef for HAVE_XYZ for consistency.
5283 * tests/check/Makefile.am:
5284 * tests/check/elements/.cvsignore:
5285 * tests/check/elements/filesink.c: (setup_filesink),
5286 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
5287 Add some unit tests for filesink.
5289 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
5291 Patch by: Mark Nauwelaerts <manauw at skynet be>
5293 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5294 (gst_file_sink_query), (gst_file_sink_do_seek),
5295 (gst_file_sink_get_current_offset), (gst_file_sink_render):
5296 * plugins/elements/gstfilesink.h:
5297 Fix position reporting; rename data_written member to current_pos to
5298 reflect its real meaning (fixes #412648).
5300 2007-05-22 Edward Hervey <edward@fluendo.com>
5302 * docs/gst/gstreamer-sections.txt:
5303 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5304 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
5305 (gst_bin_remove_func), (gst_bin_handle_message_func):
5307 Add a property for bins that handle the state change of their childs.
5310 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
5312 * libs/gst/controller/gstinterpolation.c:
5313 Use an array of the correct type when using _get_value_array with
5314 linear interpolation.
5316 2007-05-22 Stefan Kost <ensonic@users.sf.net>
5318 * gst/gstelement.c (gst_element_requires_clock,
5319 gst_element_provides_clock, gst_element_request_pad,
5320 gst_element_class_set_details, gst_element_class_set_details_simple,
5321 gst_element_default_send_event, gst_element_abort_state,
5322 gst_element_continue_state, gst_element_set_state,
5323 gst_element_set_state_func, iterator_activate_fold_with_resync):
5324 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
5325 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
5326 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
5327 gst_pad_get_range, gst_pad_pull_range):
5328 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
5329 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
5330 GstPadActivateModeFunction, GstPadChainFunction,
5331 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
5332 GstPadFixateCapsFunction, GstPadTemplate):
5333 * gst/gstpipeline.c (gst_pipeline_change_state,
5334 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
5335 gst_pipeline_set_clock, gst_pipeline_auto_clock,
5336 gst_pipeline_get_delay):
5337 Whitespace and docs fixes.
5339 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
5341 * libs/gst/controller/gstinterpolation.c:
5342 (interpolate_trigger_get_enum_value_array),
5343 (interpolate_trigger_get_string_value_array):
5344 Add support for retrieving value arrays when using the trigger
5347 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
5349 * libs/gst/controller/gstcontroller.c:
5350 (gst_controller_get_value_array):
5351 * libs/gst/controller/gstcontroller.h:
5352 Clarify the docs of gst_controller_get_value_array(): The array where
5353 the values should be written to must be allocated as there seems to be
5354 no way to get the size of a random GType. This doesn't change any
5355 behaviour. Also fix some typos all over the place and remove an unused,
5356 commented function that is not necessary as g_object_set() could be
5358 * tests/check/libs/controller.c: (GST_START_TEST),
5359 (gst_controller_suite):
5360 Add unit test for gst_controller_get_value_array().
5362 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
5364 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5366 Disable part of the gst_buffer_try_new_and_alloc test, because
5367 it can happily succeed on 64-bit systems where there's more address
5370 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
5372 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5373 Add unit test for the improved caps checking from bug #421543.
5375 2007-05-21 Wim Taymans <wim@fluendo.com>
5377 * docs/design/part-synchronisation.txt:
5380 * gst/gstbin.c: (gst_bin_query):
5381 * plugins/elements/gstqueue.c: (apply_segment):
5387 2007-05-21 Wim Taymans <wim@fluendo.com>
5389 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5390 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
5391 (gst_pad_configure_src):
5392 Added simple version of improved caps checking. It was previously
5393 assumed that a setcaps function would check the validity of the caps but
5394 people prefer us to check caps against the template automatically.
5397 2007-05-21 Wim Taymans <wim@fluendo.com>
5399 * libs/gst/base/gstbasetransform.h:
5400 Fix macro for locking/unlocking the transform lock.
5402 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
5404 * docs/plugins/tmpl/.cvsignore:
5407 2007-05-18 Edward Hervey <edward@fluendo.com>
5409 * plugins/elements/gstqueue.c: (gst_queue_loop):
5410 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
5411 for the subtle art of warning a potentially blocking thread that it
5412 should check the source pad return value, and relay the information
5415 2007-05-18 Edward Hervey <edward@fluendo.com>
5417 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5418 Release the queue lock !
5420 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5422 * docs/libs/gstreamer-libs-sections.txt:
5423 Add the two new controller functions to the appropiate places.
5425 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5427 reviewed by: Stefan Kost <ensonic@users.sf.net>
5429 * libs/gst/controller/gstcontroller.c:
5430 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
5431 (_gst_controller_get_property), (_gst_controller_set_property),
5432 (_gst_controller_init), (_gst_controller_class_init):
5433 * libs/gst/controller/gstcontroller.h:
5434 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
5435 (gst_object_get_control_rate), (gst_object_set_control_rate):
5436 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
5437 Add API that provides sync suggestion timestamps for elements that
5438 call gst_object_sync_values() from which those elements can subdivide
5439 their processing loop to get the best results for the controlled
5440 properties. For now it just suggests last_sync + control_rate as
5441 new timestamp but this will be improved in the future.
5443 While doing that change the control-rate property to a GstClockTime
5444 from guint and change it's meaning from samples to nanoseconds as
5445 the GstController doesn't know anything about sampling rate. Strictly
5446 speaking this breaks ABI but as the control-rate property didn't do
5447 anything in the past and as such couldn't be used this should be no
5450 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5452 reviewed by: Stefan Kost <ensonic@users.sf.net>
5454 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
5455 (gst_controller_unset_all):
5456 * libs/gst/controller/gstcontrollerprivate.h:
5457 * libs/gst/controller/gstinterpolation.c:
5458 (gst_controlled_property_find_control_point_node):
5459 Save last synced value from the list to continue searching from there
5460 in future syncs. This speeds everything up a bit.
5462 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5464 reviewed by: Stefan Kost <ensonic@users.sf.net>
5466 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
5467 (gst_control_point_find), (gst_controlled_property_new),
5468 (gst_control_point_free), (gst_controlled_property_free),
5469 (gst_controller_set), (gst_controller_set_from_list),
5470 (gst_controller_unset), (gst_controller_unset_all),
5471 (gst_controller_sync_values):
5472 * libs/gst/controller/gstcontroller.h:
5473 * libs/gst/controller/gstcontrollerprivate.h:
5474 * libs/gst/controller/gstinterpolation.c:
5475 (gst_controlled_property_find_control_point_node),
5476 (interpolate_none_get), (interpolate_trigger_get):
5477 Add a new private GstControlPoint struct which "inherits" from
5478 GstTimedValue to allow different interpolators to store internal
5479 values next to each control point. From the outside everything is
5480 still a GstControlPoint so we don't loose binary compatibility.
5481 Also fixup all the GValue handling to not leak GValues or list nodes.
5482 * tests/check/libs/controller.c: (GST_START_TEST):
5483 Free the list nodes and GValues in the controller_misc test.
5485 2007-05-17 Edward Hervey <edward@fluendo.com>
5490 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
5492 * gst/gstplugin.c: (gst_plugin_load_file):
5493 If we fail to load a plugin because of unresolved symbols or missing
5494 libraries and spew a warning to stderr, we may just as well mention
5495 which plugin it was that failed to load.
5497 2007-05-13 David Schleef <ds@schleef.org>
5499 * docs/Makefile.am: the gtk-doc makefile snippet correctly
5500 handles the case when ENABLE_GTK_DOC is false, and installs
5501 the prebuilt documentation. So gtk-doc subdirs are
5502 unconditionally enabled. Fixes: #349099.
5504 2007-05-13 David Schleef <ds@schleef.org>
5506 * gst/gstutils.h: Reword some documentation.
5508 2007-05-12 David Schleef <ds@schleef.org>
5510 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
5511 do anything with the passed "module" parameter, so remove it.
5512 Allows removal of additional vestigal code.
5514 2007-05-12 David Schleef <ds@schleef.org>
5517 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
5518 Switch to using g_stat() because it's more portable.
5520 2007-05-12 David Schleef <ds@schleef.org>
5523 Add GST_DISABLE_OPTION_PARSING, in order to disable option
5524 parsing for embedded systems.
5525 * gst/gstelementfactory.c:
5526 Allow gst_element_register() to be called with plugin==NULL.
5527 Did nobody notice that static elements were broken?
5529 2007-05-12 Wim Taymans <wim@fluendo.com>
5531 * tools/gst-launch.c: (event_loop):
5532 Give more interesting info when buffering starts and stops.
5533 Fix case where buffering starts but we fail to update the buffering flag
5534 because the target state is not PLAYING.
5536 2007-05-12 Wim Taymans <wim@fluendo.com>
5538 * plugins/elements/gstqueue.c: (gst_queue_init),
5539 (gst_queue_finalize), (update_time_level), (apply_segment),
5540 (apply_buffer), (gst_queue_locked_flush),
5541 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
5542 (gst_queue_handle_sink_event), (gst_queue_chain),
5543 (gst_queue_push_one), (gst_queue_loop):
5544 * plugins/elements/gstqueue.h:
5545 Refactor an cleanup queue a bit.
5546 Do better time level calculations that also work when the srcpad is not
5548 Remove some unneeded debug lines.
5550 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
5551 Added testcase for time level measurement.
5552 Try to make some stuff more racefree.
5554 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
5556 * gst/gsturi.c: (gst_element_make_from_uri):
5557 Don't leak plugin feature.
5559 * tests/check/Makefile.am:
5560 * tests/check/gst/.cvsignore:
5561 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
5562 Add brain-dead unit test.
5564 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
5566 Patch by: Jeroen Wouters <woutersj at gmail com>
5568 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
5569 Treat protocol strings in a case-insensitive way (#437563).
5571 2007-05-11 Michael Smith <msmith@fluendo.com>
5573 * gst/gstplugin.c: (gst_plugin_load_file):
5574 * gst/gstregistry.c: (gst_registry_scan_path_level):
5575 Don't print a g_warning for any failure to load a shared object.
5576 Instead, push this down into gstplugin.c, and warn _only_ if we
5577 failed to open the module (i.e. failure to link).
5578 Avoids warnings on normal, working, non-plugin .so files.
5580 2007-05-11 Stefan Kost <ensonic@users.sf.net>
5582 * gst/gstplugin.c (gst_plugin_load_file):
5583 * gst/gstregistry.c (GST_CAT_DEFAULT,
5584 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
5585 Print a g_warning if there was an error when loading a plugins during
5586 registry scan. The shuld help beginners starting with gst-plugin
5589 2007-05-10 Wim Taymans <wim@fluendo.com>
5591 * plugins/elements/gstqueue.c: (gst_queue_class_init),
5592 (update_time_level), (gst_queue_locked_flush),
5593 (gst_queue_handle_sink_event), (gst_queue_chain),
5594 (gst_queue_push_one), (gst_queue_loop):
5595 * plugins/elements/gstqueue.h:
5596 Be smarter when calculating the current amount of data in the queue by
5597 measuring the difference between start and end timestamps (in running
5598 time) inside the queue. Fixes #432876.
5599 API: GstQueue::pushing to notify elements that we are pushing data again
5600 since the running signal is rather broken for this purpose.
5602 2007-05-10 Stefan Kost <ensonic@users.sf.net>
5604 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
5605 gst_queue_base_init, gst_queue_init):
5608 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
5610 * win32/common/libgstreamer.def:
5611 Add new exported functions.
5612 * win32/vs6/grammar.dsp:
5613 Use grammar pre-generated files.
5615 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
5617 Based on patch by: Peter Kjellerstedt <pkj at axis com>
5620 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
5622 * gst/gstutils.c: (gst_parse_bin_from_description):
5624 Maintain API and ABI when --disable-parse is used. Now that
5625 we have an appropriate error code, we can just return NULL and the
5626 appropriate error when gst_parse_launch() is used despite it having
5627 been disabled (#342564).
5629 * tests/check/Makefile.am:
5630 * tests/check/pipelines/.cvsignore:
5631 * tests/check/pipelines/parse-disabled.c:
5632 Make sure these functions exist and return NULL plus a GError when
5633 --disable-parse is used.
5635 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
5637 * tests/benchmarks/complexity.c: (main):
5638 * tests/benchmarks/mass-elements.c: (main):
5639 Set a good example and don't leak messages.
5641 2007-05-06 Stefan Kost <ensonic@users.sf.net>
5643 * docs/gst/Makefile.am:
5644 * docs/libs/Makefile.am:
5645 Correct fixxrefs options.
5647 * docs/plugins/Makefile.am:
5648 * docs/plugins/gstreamer-plugins-docs.sgml:
5649 * docs/plugins/gstreamer-plugins-sections.txt:
5650 * plugins/elements/Makefile.am:
5651 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
5652 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
5653 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
5654 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
5655 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
5656 _GstCapsFilterClass, trans_class):
5657 * plugins/elements/gstelements.c (name, rank, type, _elements):
5658 * plugins/elements/gstidentity.c
5659 (gst_identity_check_imperfect_timestamp,
5660 gst_identity_check_imperfect_offset):
5661 Document capsfilter and add doc-blurb to identity.
5663 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
5665 * libs/gst/controller/gstcontroller.c:
5666 (gst_controlled_property_set_interpolation_mode):
5667 * libs/gst/controller/gstinterpolation.c:
5668 Don't crash if someone tries to set an interpolation mode that
5669 is invalid or that isn't supported yet. Fixes #422295.
5671 * tests/check/libs/controller.c: (GST_START_TEST),
5672 (gst_controller_suite):
5673 Add a test case for the above.
5675 2007-05-03 Edward Hervey <edward@fluendo.com>
5677 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5678 Properly set the last_stop position on GstSegment. This will only happen
5679 if there is a buffer to push out.
5681 2007-05-03 Wim Taymans <wim@fluendo.com>
5683 * libs/gst/base/gstbasetransform.c:
5684 (gst_base_transform_buffer_alloc):
5685 always_in_place does not mean that the sink and source caps are the
5686 same! Make sure we don't blindly proxy the buffer_alloc in this case.
5688 2007-05-03 Wim Taymans <wim@fluendo.com>
5690 * docs/libs/gstreamer-libs-sections.txt:
5691 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5692 (gst_base_src_default_query), (gst_base_src_get_range):
5693 * libs/gst/base/gstbasesrc.h:
5694 API: gst_base_src_query_latency(). Added method so that subclasses can
5695 easily get the latency values of the base source class.
5697 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
5699 * tools/gst-inspect.c (print_implementation_info):
5702 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
5704 * tools/Makefile.am:
5705 * tools/gst-launch.1.in:
5706 Don't create a customised man page based on the host architecture,
5707 describe the default registry path generically. That way the man
5708 page is the same for all architectures and packagers have one
5709 multilib issue less to deal with. Fixes #434926.
5711 2007-05-02 Wim Taymans <wim@fluendo.com>
5714 Fix documentation as spotted by rg on IRC.
5716 2007-04-29 Stefan Kost <ensonic@users.sf.net>
5719 Improve docs for gst_element_{link,unlink}.
5721 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
5723 * docs/design/part-events.txt:
5724 * docs/design/part-overview.txt:
5728 * libs/gst/base/gstbasesink.c:
5729 Typo fixes; minor docs addition.
5731 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
5733 * docs/gst/gstreamer-sections.txt:
5734 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5735 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
5737 API: Add gst_uri_protocol_is_supported(), which checks if a sink
5738 or src that supports a given URI protocol exists.
5740 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
5742 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5743 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5744 Set the location to NULL if "file://" is set as URI. Otherwise
5745 some random previous URI would still be set if "file://" is
5746 set on an already used filesink/filesrc.
5748 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
5750 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5751 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5752 Special case the "file://" URI as as this is used by some
5753 applications to test with gst_element_make_from_uri if there's
5754 an element that supports the URI protocol.
5755 Also move the g_path_is_absolute() check for the location part
5756 of the URI to also check this for "file://localhost/bla" URIs.
5758 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
5760 * docs/gst/gstreamer-sections.txt:
5761 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
5763 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5765 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
5767 2007-04-26 Stefan Kost <ensonic@users.sf.net>
5769 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5770 (gst_registry_binary_load_pad_template),
5771 (gst_registry_binary_load_plugin),
5772 (gst_registry_binary_read_cache):
5773 * gst/gstregistrybinary.h:
5774 Implement no-mmap alternative for registry reading. Do code cleanups.
5775 Add more comments about avoiding strdups for all text data. Comments
5778 2007-04-25 Stefan Kost <ensonic@users.sf.net>
5780 * gst/gstregistrybinary.h (GstBinaryPluginElement,
5781 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
5782 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
5783 Comment structs and reformat to fix the build (that stuff should go
5784 into a priv. header).
5786 2007-04-25 Stefan Kost <ensonic@users.sf.net>
5788 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
5789 (gst_registry_binary_load_feature):
5790 * gst/gstregistrybinary.h:
5791 Refactor so that we can implement multiple features. Add support for
5792 TypeFindFactory features.
5794 2007-04-24 Stefan Kost <ensonic@users.sf.net>
5796 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
5799 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
5801 2007-04-23 Stefan Kost <ensonic@users.sf.net>
5803 * gst/gstbin.c: (gst_bin_element_set_state),
5804 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
5805 (bin_handle_async_done), (gst_bin_handle_message_func):
5806 Fix build with --gst-disable-gst-debug
5808 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
5810 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
5811 Make sure streaming has finished before calling the ::stop() vfunc,
5812 since that vfunc might clear state which is being used in the
5813 streaming thread. This fixes a race that caused crashes in
5814 audioresample when shutting down a pipeline (#420106).
5816 2007-04-20 Stefan Kost <ensonic@users.sf.net>
5818 * docs/gst/gstreamer-sections.txt:
5819 That was one byte missing.
5821 2007-04-20 Stefan Kost <ensonic@users.sf.net>
5824 * docs/gst/gstreamer-sections.txt:
5826 * gst/gstconfig.h.in:
5827 * gst/gstobject.c: (gst_object_class_init),
5828 (gst_signal_object_class_init):
5830 2nd attempt to have a xml-less build as a joined effort of #413123
5833 2007-04-20 Stefan Kost <ensonic@users.sf.net>
5835 * docs/design/draft-tagreading.txt:
5836 Added open issues/thoughts to draft.
5838 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5840 * gst/parse/grammar.tab.pre.c:
5841 * gst/parse/grammar.tab.pre.h:
5842 * gst/parse/lex._gst_parse_yy.pre.c:
5843 Update the prebuild parser sources.
5845 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5847 * gst/parse/Makefile.am:
5848 And now fix the building of the flex sources. Now everything should
5851 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5853 * gst/parse/Makefile.am:
5854 Now hopefully fix the build failures by setting proper rule
5855 dependencies and moving instead of copying.
5857 2007-04-19 Stefan Kost <ensonic@users.sf.net>
5859 * tests/benchmarks/complexity.gnuplot:
5860 * tests/benchmarks/complexity.scm:
5861 * tests/benchmarks/mass-elements.gnuplot:
5862 * tests/benchmarks/mass-elements.scm:
5863 Total licensification.
5865 2007-04-19 Stefan Kost <ensonic@users.sf.net>
5867 * gst/parse/Makefile.am:
5868 Fix the build by correcting the rule that gave wrong files to flex.
5870 2007-04-19 Stefan Kost <ensonic@users.sf.net>
5872 * tests/benchmarks/complexity.c:
5873 * tests/benchmarks/mass-elements.c:
5874 Change licence to LGPL as granted by Benjamin and Andy.
5876 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5878 * gst/parse/Makefile.am:
5879 Add correct grammar.tab.h dependency if compiling without new enough
5880 flex. Fixes #431150.
5882 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
5884 * gst/parse/Makefile.am:
5885 Fix typo and use outdated sources if the flex/bison sources are newer
5886 than the pregenerated ones but flex is too old. Print a warning in
5887 that case. This should fix the build on the build bot.
5889 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
5891 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
5892 * gst/parse/Makefile.am:
5893 * gst/parse/grammar.y:
5894 * gst/parse/parse.l:
5895 Make the parser reentrant and recursively callable. This requires flex
5896 >= 2.5.31, for older versions pregenerated sources are used as we
5897 can't bump the build dependency. Finally fixes #349180.
5899 * gst/gstparse.c: (gst_parse_launch):
5900 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
5903 * docs/gst/Makefile.am:
5904 * docs/gst/Makefile.am:
5905 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
5906 (__gst_parse_strfree), (__gst_parse_link_new),
5907 (__gst_parse_link_free), (__gst_parse_chain_new),
5908 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
5909 (gst_parse_element_set), (gst_parse_free_link),
5910 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
5911 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
5912 (_gst_parse_launch):
5913 * gst/parse/grammar.tab.pre.h:
5914 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
5915 (yy_get_previous_state), (yy_try_NUL_trans), (input),
5916 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
5917 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
5918 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
5919 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
5920 (_gst_parse_yypop_buffer_state),
5921 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
5922 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
5923 (yy_fatal_error), (_gst_parse_yyget_extra),
5924 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
5925 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
5926 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
5927 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
5928 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
5929 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
5930 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
5931 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
5932 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
5933 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
5934 (_gst_parse_yyfree):
5935 If the installed flex version is too old use pre-generated parser
5936 sources. These pre-generated parser sources are always updated when
5937 the actual flex/bison sources change but require everybody who wants
5938 to change something in the parser to have flex >= 2.5.31 installed.
5940 2007-04-18 Stefan Kost <ensonic@users.sf.net>
5942 * common/m4/gst-gettext.m4:
5943 * gst/gst-i18n-lib.h:
5944 Make --disable-nls to work
5946 2007-04-17 Wim Taymans <wim@fluendo.com>
5948 * gst/gstconfig.h.in:
5949 Revert previous change that broke the build.
5951 2007-04-17 Stefan Kost <ensonic@users.sf.net>
5955 * gst/gstconfig.h.in:
5956 Drop libxml2 dependency when building with
5957 --enable-binary-registry --disable-loadsave
5959 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
5961 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5962 (gst_registry_binary_read_cache):
5963 * gst/gstregistrybinary.h:
5964 Remove unnecessary <sys/mman.h> include which broke the win32 build
5965 with MingW; move includes from header file to .c file, even if the
5966 header file isn't installed; use g_strerror() where UTF-8 strings
5967 are expected, such as in GST_DEBUG messages.
5969 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
5971 * docs/libs/gstreamer-libs-sections.txt:
5972 Remove bogus addition for API I didn't end up keeping.
5974 * libs/gst/base/gstbasesrc.h:
5975 Mention Since: 0.10.13 in the documentation.
5977 Add the API keyword to the previous ChangeLog entry.
5979 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
5981 * docs/libs/gstreamer-libs-sections.txt:
5982 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5983 (gst_base_src_default_prepare_seek_segment),
5984 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
5985 * libs/gst/base/gstbasesrc.h:
5986 Allow basesrc derived classes to execute seeks in other formats
5987 by providing a prepare_seek_segment vmethod. Sub-classes can choose
5988 to prepare the GstSegment in any format that their perform_seek method
5989 will be able to understand. The default implementation provides the
5990 old behaviour of attempting to convert the seek offsets to the
5991 configured native format.
5993 API: basesrc::prepare_seek_segment vmethod.
5995 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
5997 * gst/gstelement.c: (gst_element_get_state_func):
5998 Don't output the same debug statement twice.
6000 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
6001 (gst_adapter_peek), (gst_adapter_take_buffer):
6002 Optimise the case where we have buffers at the head of the queue that
6003 can be joined quickly (because they're contiguous sub-buffers) by
6004 merging them together rather than copying data out into new memory.
6006 * gst/parse/grammar.y:
6007 * tests/check/pipelines/parse-launch.c:
6008 Fix a leak in an error path for parse_launch, and add a check
6009 for it to the testsuite.
6011 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
6013 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6014 Don't deadlock when releasing a pad - gst_pad_set_active may try
6015 and take the multiqueue lock too.
6017 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
6019 * gst/gsterror.c: (_gst_core_errors_init):
6021 API: add GST_CORE_ERROR_DISABLED (#392804).
6023 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
6025 * docs/faq/gst-uninstalled:
6026 don't get empty paths on the PATH variables
6027 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
6028 Don't format for the uncommon terminal width of 84 characters.
6030 2007-04-06 Wim Taymans <wim@fluendo.com>
6032 * gst/gstpipeline.c: (reset_stream_time),
6033 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
6034 Only try to select a different pipeline clock when we went back to
6035 PAUSED and not when we merely got flushed.
6037 2007-04-05 Michael Smith <msmith@fluendo.com>
6039 * tools/gst-launch.1.in:
6040 fractions are better supported in gstreamer than ractions, so
6041 suggest using those.
6043 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
6045 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
6049 Added Danish translation.
6051 2007-04-05 Wim Taymans <wim@fluendo.com>
6053 * libs/gst/base/gstbasesink.c:
6054 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
6055 Fix leak caused when refusing newsegment after EOS.
6057 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6058 (gst_fake_sink_init), (gst_fake_sink_set_property),
6059 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
6060 (gst_fake_sink_render), (gst_fake_sink_change_state):
6061 * plugins/elements/gstfakesink.h:
6062 Add num-buffers property to make the element generate EOS after a
6063 configurable amount of buffers.
6064 API: fakesink::num-buffers property.
6066 * tests/check/elements/fakesink.c: (GST_START_TEST),
6068 Fix GstBus leak in test.
6069 Test for fakesink num-buffers.
6071 2007-04-05 Wim Taymans <wim@fluendo.com>
6073 * libs/gst/base/gstbasesink.c:
6074 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6075 (gst_base_sink_change_state):
6076 Don't accept anything after an EOS, return UNEXPECTED instead.
6078 * tests/check/elements/fakesink.c: (GST_START_TEST),
6080 Unit test for new EOS behaviour.
6082 2007-04-05 Wim Taymans <wim@fluendo.com>
6084 * gst/gstelement.c: (gst_element_get_request_pad):
6085 Make padtemplates also work when they don't contain %s or %d.
6087 2007-04-05 Wim Taymans <wim@fluendo.com>
6089 * docs/gst/gstreamer-sections.txt:
6090 * gst/gstclock.c: (gst_clock_adjust_unlocked),
6091 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
6093 Improve _adjust_unlocked() so that it overflows less.
6094 Add gst_clock_unadjust_unlocked to convert from external time to
6095 internal time based on calibration.
6096 Add some more debug.
6097 API: GstClock::gst_clock_unadjust_unlocked()
6099 2007-04-03 Wim Taymans <wim@fluendo.com>
6101 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6103 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6104 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
6105 when releasing sink pad. Fixes #425400.
6107 2007-04-02 Stefan Kost <ensonic@users.sf.net>
6109 * docs/random/ensonic/dynlink.txt:
6110 More work on proposal for new core api.
6112 * docs/libs/gstreamer-libs-sections.txt:
6113 * libs/gst/base/gstbasetransform.h:
6114 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
6116 * libs/gst/controller/gstcontroller.c:
6117 (on_object_controlled_property_changed),
6118 (gst_controller_sync_values),
6119 (gst_controller_set_interpolation_mode):
6120 * libs/gst/controller/gstcontroller.h:
6121 Less verbose logging add docs for unimplemented parts and correctly
6122 return when using unavailable parts.
6124 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
6126 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
6127 Move all the debug to the CLOCK category, and associate it with
6130 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
6132 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
6133 Make take_buffer a bit quicker by removing redundant checks
6134 caused by calling gst_adapter_take.
6136 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
6138 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
6141 * tests/check/Makefile.am:
6142 * tests/check/elements/.cvsignore:
6143 * tests/check/elements/multiqueue.c: (setup_multiqueue),
6144 (GST_START_TEST), (multiqueue_suite):
6145 Add some dead simple unit tests for the 'multiqueue' element
6146 (some bits don't work yet and are disabled for now).
6148 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
6150 * gst/gstelement.c: (gst_element_get_request_pad),
6151 (gst_element_class_get_request_pad_template):
6152 Make gst_element_get_request_pad() create request pads only for
6153 request pad templates and not for, say, sometimes pad templates.
6155 2007-03-28 Stefan Kost <ensonic@users.sf.net>
6157 * docs/design/draft-klass.txt:
6158 Add example that needs more thinking.
6160 * docs/design/draft-missing-plugins.txt:
6161 More thoughts about wrapper plugins.
6163 * docs/random/ensonic/embedded.txt:
6164 * docs/random/ensonic/profiling.txt:
6167 2007-03-25 Wim Taymans <wim@fluendo.com>
6169 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
6170 (gst_base_src_loop):
6171 Only push the segment events in the PLAYING state for live sources.
6173 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
6175 * gst/gstpipeline.c: (gst_pipeline_change_state):
6176 Modify the clock distribution path in PAUSED->PLAYING so that we
6177 never attempt to choose a new clock unless we're actually leaving
6178 the PAUSED state for the first time. This prevents choosing a
6179 different clock when the state_change gets called for a 2nd time due
6180 to some element doing an async state change.
6182 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
6184 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
6185 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
6186 (gst_pad_chain_unchecked), (gst_pad_push):
6187 Revert last commit. This needs some more thoughts.
6189 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
6191 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
6192 (gst_pad_chain_unchecked), (gst_pad_push):
6193 Check in set_caps if the caps are compatible with the pad and remove
6194 two functions that are redundant now. Fixes #421543.
6196 2007-03-22 Wim Taymans <wim@fluendo.com>
6198 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
6199 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
6200 Unref some more to make valgrind happy.
6202 2007-03-22 Wim Taymans <wim@fluendo.com>
6204 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
6205 (gst_system_clock_id_wait_jitter),
6206 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
6207 Fix anoying regression that survived a few releases. When adding an
6208 async entry while blocking on a sync entry, the sync entry will unblock
6209 but still be busy, so it should continue to wait instead of returning
6211 Add some comments here and there.
6213 * tests/check/gst/gstsystemclock.c: (mixed_thread),
6214 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
6215 Add testcase for this.
6217 2007-03-22 Wim Taymans <wim@fluendo.com>
6219 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6220 Handle errors from the clock sync better, only UNSCHEDULED indicates a
6221 WRONG_STATE and can silently pause the task. All other cases should
6224 2007-03-22 Wim Taymans <wim@fluendo.com>
6226 Patch by: Ville Syrjala <syrjala at sci dot fi>
6228 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
6229 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
6232 2007-03-21 Michael Smith <msmith@fluendo.com>
6234 * docs/pwg/advanced-types.xml:
6235 Fix some errors in the typefinding docs pointed out on irc.
6237 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
6239 * libs/gst/base/gstbasesrc.c:
6240 Clarify FIXME comment in the face of having added unlock_stop()
6242 2007-03-21 Wim Taymans <wim@fluendo.com>
6244 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
6245 Prepare for release where we warn against possible app breakage in the
6246 case of live pipelines along with an env var to enable/disable live
6247 preroll mode (GST_COMPAT=[no-]live-preroll).
6249 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6251 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
6252 So we should use correct constants for checking for None offset.
6254 2007-03-20 Wim Taymans <wim@fluendo.com>
6256 * docs/design/part-block.txt:
6257 Mention the fact that the newly switched element should be set to at
6260 2007-03-20 Wim Taymans <wim@fluendo.com>
6263 Fix compilation with registry disabled as spotted by Saur.
6265 2007-03-20 Wim Taymans <wim@fluendo.com>
6267 Patch by: Olivier Crete <tester at tester dot ca>
6269 * gst/gstelement.c: (gst_element_sync_state_with_parent):
6270 Look at the pending state too when syncing the element state to the
6271 parent. Fixes #420133.
6273 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
6275 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6276 (gst_base_sink_change_state):
6277 * libs/gst/base/gstbasesink.h:
6278 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6279 (gst_base_src_default_event), (gst_base_src_unlock_stop),
6280 (gst_base_src_deactivate):
6281 * libs/gst/base/gstbasesrc.h:
6282 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
6283 for sub-classes to correctly clear any state they set trying to
6284 unlock, such as clearing out unlock commands from a command fd.
6285 API: basesrc::unlock_stop
6286 API: basesink::unlock_stop
6288 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
6289 (gst_fd_sink_render), (gst_fd_sink_unlock),
6290 (gst_fd_sink_unlock_stop):
6291 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
6292 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
6293 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
6295 Implement unlock_stop in fdsrc and fdsink.
6296 Implement seeking in fdsrc when a seekable fd is passed, as in
6297 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
6299 2007-03-19 Wim Taymans <wim@fluendo.com>
6301 Patch by: Evan Nemerson <evan at coeus dash group dot com>
6303 * gst/gstelement.c: (gst_element_class_init):
6304 Fix pad-added and pad-removed signal signatures so that the pad type is
6305 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
6307 2007-03-19 Wim Taymans <wim@fluendo.com>
6309 * docs/gst/gstreamer-sections.txt:
6310 Add new element field and method.
6312 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6313 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
6314 (gst_bin_recalc_state), (gst_bin_get_state_func),
6315 (gst_bin_element_set_state), (gst_bin_change_state_func),
6316 (gst_bin_continue_func), (bin_bus_handler),
6317 (bin_push_state_continue), (bin_handle_async_start),
6318 (bin_handle_async_done), (gst_bin_handle_message_func):
6319 Make async state changes a bit smarter by using new ASYNC_START and
6320 ASYNC_DONE messages. This reduces the number of times we run the state
6321 recalculation thread.
6322 Don't change state of element with a pending ASYNC_START message.
6323 Deprecate STATE_DIRTY messages.
6325 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
6326 (gst_element_get_state_func), (gst_element_continue_state),
6327 (gst_element_lost_state), (gst_element_set_state_func),
6328 (gst_element_change_state):
6330 Keep the state that was last set by the app in a new element field.
6331 Don't allow state changes when handling an element event.
6332 Post ASYNC_START and ASYNC_DONE messages.
6333 Change lost_state so that we go to PAUSED and wait for the parent to set
6334 us to PLAYING again (so latency calculation can be performed)
6335 Export gst_element_change_state() method so that subclasses can use it.
6336 API: gst_element_change_state()
6337 API: GST_STATE_TARGET
6339 * gst/gstpipeline.c: (gst_pipeline_class_init),
6340 (reset_stream_time), (gst_pipeline_change_state),
6341 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
6342 Using the new ASYNC_START message we can reset the base_time when
6343 needed. This can then be used to implement base_time redistribution in
6344 flushing seeks so that we can remove the explicit seek handling.
6345 Perform latency query and configuration when going to PLAYING.
6347 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6348 (gst_base_sink_query), (gst_base_sink_change_state):
6349 Post new ASYNC_START/ASYNC_DONE messages.
6351 * tests/check/generic/sinks.c: (GST_START_TEST):
6352 Fix test because the bin will not set the async element to PLAYING right
6355 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
6356 Make the message check a little stronger.
6357 Handle ASYNC messages.
6359 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
6360 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
6361 Expect ASYNC_DONE messages.
6363 2007-03-19 Wim Taymans <wim@fluendo.com>
6365 * docs/gst/gstreamer-sections.txt:
6366 * gst/gstmessage.c: (gst_message_new_async_start),
6367 (gst_message_new_async_done), (gst_message_parse_info),
6368 (gst_message_parse_async_start):
6370 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
6373 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
6375 * tools/gst-inspect.c:
6376 (print_plugin_automatic_install_info_codecs):
6377 Now that we don't check for the 'Codec' keyword any longer in the
6378 klass, we shouldn't spew a warning if the klass isn't a decoder or
6379 encoder (since it might be a Source/Network, for example).
6381 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
6383 * tools/gst-inspect.c:
6384 (print_plugin_automatic_install_info_codecs):
6385 Don't require decoder/demuxer/depayloader elements or
6386 encoder/muxer/paylader elements to have 'Codec' as part of their
6387 factory class string when introspecting a plugin's capabilities.
6388 draft-klass.txt mentions that it might be removed in future, and
6389 flump3dec doesn't have it as part of its class string, so chances
6390 are others might also not have it.
6392 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
6414 Update translations from translation project
6416 2007-03-14 Stefan Kost <ensonic@users.sf.net>
6418 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
6419 (gst_child_proxy_set_property):
6420 Invert precondition check to be alike the ones in the mimiced gobject
6423 2007-03-13 Stefan Kost <ensonic@users.sf.net>
6425 * docs/design/draft-tagreading.txt:
6426 * docs/random/ensonic/audiobaseclasses.txt:
6427 Do some Architect work.
6429 * gst/gstobject.c: (gst_object_set_name):
6433 Add docs that point from gst_pad_get_range to gst_pad_pull_range
6435 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
6437 * gst/gstsystemclock.c: (gst_system_clock_init),
6438 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
6439 Defer starting the async system clock thread until the first async
6440 wait is scheduled. Fixes #414986.
6442 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
6444 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
6445 (gst_single_queue_free):
6446 Fix small leak (free GstSingleQueue structure too, not only contents).
6448 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
6450 * gst/gstbin.c:(gst_bin_add):
6451 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
6452 * win32/common/libgstbase.def:
6453 * win32/common/libgstreamer.def:
6454 Add new exported functions.
6456 2007-03-09 Wim Taymans <wim@fluendo.com>
6458 * docs/plugins/gstreamer-plugins-sections.txt:
6461 2007-03-09 Wim Taymans <wim@fluendo.com>
6463 * docs/gst/gstreamer-sections.txt:
6464 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
6466 Add metadata copy functions. Fixes #393099.
6467 API: gst_buffer_copy_metadata()
6469 * gst/gstutils.c: (gst_buffer_stamp):
6470 * libs/gst/base/gstbasetransform.c:
6471 (gst_base_transform_prepare_output_buffer):
6472 Use new metadata copy functions.
6474 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
6476 * plugins/elements/gstidentity.c: (gst_identity_class_init),
6477 (gst_identity_init), (gst_identity_check_perfect),
6478 (gst_identity_check_imperfect_timestamp),
6479 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
6480 (gst_identity_set_property), (gst_identity_get_property):
6481 * plugins/elements/gstidentity.h:
6482 Separate out check-imperfect-timestamp and check-imperfect-offset.
6483 Put back check-perfect as it was to keep compatibility.
6485 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
6487 * gst/gstelement.c: (gst_element_dispose):
6488 There's no need to warn if VOID_PENDING is not NONE here, as
6489 long as the state is NULL it's ok, and that's checked immediately
6492 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6494 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6495 Fix check for perfect stream to ignore buffers with -1
6496 offsets/offset ends when checking data contiguity.
6498 2007-03-08 Wim Taymans <wim@fluendo.com>
6500 * tools/gst-launch.c: (event_loop):
6501 Print INFO messages.
6503 2007-03-08 Wim Taymans <wim@fluendo.com>
6505 * libs/gst/base/gstbasetransform.c:
6506 (gst_base_transform_sink_eventfunc),
6507 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6508 (gst_base_transform_activate):
6509 * libs/gst/base/gstbasetransform.h:
6510 Add support for dropping buffers with custom GstFlowReturn.
6511 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
6512 buffers or dropped buffers.
6514 * docs/libs/gstreamer-libs-sections.txt:
6515 docs for new custom return code.
6517 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6518 Use drop support in base class to implement drop-probability.
6520 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
6522 * gst/gst.c: (load_plugin_func):
6523 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
6524 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6525 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6526 Remove newlines at end of debug log strings.
6528 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6530 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6531 Only post bus message at max, once per buffer received.
6533 2007-03-07 Wim Taymans <wim@fluendo.com>
6535 * docs/design/Makefile.am:
6536 * docs/design/part-synchronisation.txt:
6537 Add doc about synchronisation
6539 * docs/design/draft-latency.txt:
6540 * docs/design/part-TODO.txt:
6541 * docs/design/part-clocks.txt:
6542 * docs/design/part-events.txt:
6543 * docs/design/part-gstbus.txt:
6544 * docs/design/part-gstpipeline.txt:
6545 * docs/design/part-live-source.txt:
6546 * docs/design/part-messages.txt:
6547 * docs/design/part-overview.txt:
6548 * docs/design/part-streams.txt:
6549 * docs/design/part-trickmodes.txt:
6550 Documentation updates.
6552 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
6555 Update the doap file.
6557 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6559 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6560 Rename non-perfect to imperfect for Mike and for the sanctity of the
6562 Also make sure bus message gets emitted for data-incontiguities.
6564 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6566 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
6567 (gst_identity_start):
6568 * plugins/elements/gstidentity.h:
6569 Emit bus message if check-perfect is true and we encounter a
6570 non-perfect stream between 2 consecutive buffers.
6573 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
6578 === release 0.10.12 ===
6580 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
6583 releasing 0.10.12, "Inevitable Demise"
6585 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
6588 Version 0.10.11.2 (0.10.12 pre-release)
6589 Bump libtool versioning.
6591 2007-03-01 Stefan Kost <ensonic@users.sf.net>
6593 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6594 Log flow-names and not numbers.
6596 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
6599 Convert to new AG_GST style.
6601 2007-02-28 Wim Taymans <wim@fluendo.com>
6603 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
6604 Don't unref query twice.
6606 2007-02-28 Wim Taymans <wim@fluendo.com>
6608 * gst/gstvalue.c: (gst_value_transform_object_string),
6609 (_gst_value_initialize):
6610 Implement GstObject -> string transform so we print object names
6611 when serializing GValues containing GstObjects.
6613 2007-02-28 Wim Taymans <wim@fluendo.com>
6615 * docs/gst/gstreamer-sections.txt:
6616 Add new stuff to docs.
6618 2007-02-28 Wim Taymans <wim@fluendo.com>
6620 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6621 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
6622 (gst_base_sink_change_state):
6623 Improve latency query code.
6624 Don't leak latency events.
6626 * tests/check/gst/gstbin.c: (GST_START_TEST):
6629 2007-02-28 Wim Taymans <wim@fluendo.com>
6631 * gst/gstelement.c: (gst_element_message_full),
6632 (gst_element_get_state_func):
6634 Improve docs a little. Added Since: for new macro.
6636 * gst/gstobject.c: (gst_object_sink):
6637 * gst/gstpipeline.c: (gst_pipeline_change_state),
6638 (gst_pipeline_set_new_stream_time):
6639 * gst/gstpipeline.h:
6640 Improve debugging and docs.
6642 * gst/gstutils.c: (gst_element_state_change_return_get_name):
6645 2007-02-28 Wim Taymans <wim@fluendo.com>
6647 * gst/gstelement.c: (gst_element_message_full),
6648 (gst_element_set_locked_state), (gst_element_get_state_func),
6649 (gst_element_change_state):
6650 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
6651 Documentation updates.
6652 Small code cleanups.
6654 * gst/gstmessage.c: (gst_message_new_info),
6655 (gst_message_parse_info):
6657 API: gst_message_new_info()
6658 API: gst_message_parse_info()
6659 Add INFO message create and parse code.
6661 2007-02-28 Wim Taymans <wim@fluendo.com>
6663 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
6664 (bin_query_latency_done):
6665 Also report the live parameter of a latency query.
6667 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
6669 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
6670 Copy the current generic/states example from -base and adapt so
6671 we can use the exact same code everywhere.
6672 Check a STATES_IGNORE_ELEMENTS env var which can be used
6673 to ignore certain element factories for this test, which is
6674 what is being done in -base
6675 * tests/check/Makefile.am:
6676 Mention this environment variable.
6678 2007-02-27 Wim Taymans <wim@fluendo.com>
6680 * docs/gst/gstreamer-sections.txt:
6681 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6682 (gst_bus_timed_pop), (gst_bus_pop):
6684 API: gst_bus_timed_pop()
6685 Implement gst_bus_timed_pop() to do a blocking timed wait for a
6686 message to arrive on the bus.
6688 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
6690 Two unit tests for new _timed_pop() function.
6692 2007-02-23 Wim Taymans <wim@fluendo.com>
6694 * gst/gstpipeline.c: (gst_pipeline_change_state),
6695 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
6696 Don't ref a NULL clock in _provide_clock_func().
6697 Don't allow an INVALID delay.
6698 Don't try to calculate base_time with an invalid start_time.
6699 Also distribute and notify a NULL clock when it was selected.
6701 * tools/gst-launch.c: (event_loop):
6702 Don't crash when a NULL clock was selected in the pipeline.
6704 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
6706 * docs/design/Makefile.am:
6707 * docs/design/draft-missing-plugins.txt:
6708 * docs/random/draft-missing-plugins.txt:
6709 Some small updates: update plugin system identifier prefix
6710 ('gstreamer.net' to 'gstreamer'), mention our new install
6711 API in libgstbaseutils rather than libgimme-codec, add
6712 reference to the online docs.
6714 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
6716 * win32/common/config.h:
6717 Pretty sure Bill never made a powerpc version. Powerpc hackers,
6718 use moap cl ci to only check in what is mentioned in the ChangeLog.
6720 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
6722 * docs/gst/gstreamer-sections.txt:
6724 Fix up documentation to link to the correct GstGError section.
6725 Add GST_ELEMENT_INFO macro since someone else added a Info message.
6727 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
6729 * tools/gst-launch.c: (event_loop):
6730 Make sure that we actually show the important message part of a
6732 No need to check if the gerror is not NULL to free; first of all
6733 g_free accepts NULL; and second the default error handler would
6734 segfault if gerror was NULL.
6736 2007-02-21 Wim Taymans <wim@fluendo.com>
6738 * docs/gst/gstreamer-sections.txt:
6739 Removed docs as well.
6741 2007-02-21 Wim Taymans <wim@fluendo.com>
6743 * gst/gstmessage.c: (gst_message_parse_duration):
6745 Remove new messages for release.
6747 2007-02-20 Wim Taymans <wim@fluendo.com>
6749 * docs/design/part-gstghostpad.txt:
6750 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
6751 (gst_ghost_pad_new_full):
6752 Make the ghostpad a parent of the internal pad again for better backward
6753 compatibility. Don't write code that relies on this however.
6755 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6756 (gst_pad_link_check_hierarchy):
6757 Require that parents should be GstElements in the hierarchy check.
6759 2007-02-20 Wim Taymans <wim@fluendo.com>
6761 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
6762 (gst_bin_change_state_func), (bin_query_min_max_init),
6763 (bin_query_latency_fold), (bin_query_latency_done),
6766 Implement latency query.
6768 2007-02-20 Wim Taymans <wim@fluendo.com>
6770 * docs/design/part-gstghostpad.txt:
6771 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
6772 (gst_ghost_pad_internal_do_activate_push),
6773 (gst_ghost_pad_internal_do_activate_pull),
6774 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6775 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
6776 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
6777 Do not set the internal pad as a parent anymore so we can avoid
6778 hierarchy linking errors when the ghostpad has no parent yet. This also
6779 fixes failed activation because of unlinked internal pads, which in
6780 turn fixes the impossible case where you have to activate a pad before
6781 you can add it to a running element.
6784 * gst/gstpad.c: (pre_activate), (post_activate),
6785 (gst_pad_set_active), (gst_pad_activate_pull),
6786 (gst_pad_activate_push), (gst_pad_check_pull_range):
6787 Add some more debug info.
6788 Mark activation mode in pre_activate so that we don't try to activate in
6789 endless loops. Fixes #385084.
6791 2007-02-19 Wim Taymans <wim@fluendo.com>
6793 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
6794 (gst_base_transform_check_get_range):
6795 Implement a checkgetrange function instead of relying on the default
6796 core behaviour that assumes we can operate in pull mode if we have a
6797 getrange function. First step at fixing #385084.
6799 2007-02-15 Stefan Kost <ensonic@users.sf.net>
6801 * gst/gstchildproxy.h:
6802 * libs/gst/base/gstbasesink.h:
6803 * libs/gst/base/gstbasesrc.h:
6804 * libs/gst/base/gstbasetransform.h:
6805 More docs coverage and some ChangeLog surgery (add missing names)
6807 2007-02-15 Wim Taymans <wim@fluendo.com>
6809 * docs/design/part-TODO.txt:
6810 * docs/design/part-activation.txt:
6811 * docs/design/part-block.txt:
6812 * docs/design/part-buffering.txt:
6813 * docs/design/part-clocks.txt:
6814 * docs/design/part-element-source.txt:
6815 * docs/design/part-events.txt:
6816 * docs/design/part-gstbin.txt:
6817 * docs/design/part-gstbus.txt:
6818 * docs/design/part-gstpipeline.txt:
6819 * docs/design/part-live-source.txt:
6820 * docs/design/part-messages.txt:
6821 * docs/design/part-overview.txt:
6822 * docs/design/part-qos.txt:
6823 * docs/design/part-query.txt:
6824 * docs/design/part-states.txt:
6825 * docs/design/part-trickmodes.txt:
6826 Some doc updates. Start renaming from stream_time to running_time where
6827 it was used wrongly.
6829 2007-02-15 Wim Taymans <wim@fluendo.com>
6831 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6832 Answer LATENCY query.
6834 2007-02-15 Wim Taymans <wim@fluendo.com>
6836 * tests/check/gst/gstevent.c: (event_probe), (test_event),
6840 2007-02-15 Wim Taymans <wim@fluendo.com>
6842 * gst/gstpad.c: (gst_pad_get_internal_links_default),
6843 (gst_pad_dispatcher):
6844 Improve debugging of default pad dispatcher and query functions.
6846 2007-02-15 Wim Taymans <wim@fluendo.com>
6848 * docs/gst/gstreamer-sections.txt:
6849 Remove old unused method.
6851 2007-02-13 Wim Taymans <wim@fluendo.com>
6853 * tests/check/gst/gstsegment.c: (GST_START_TEST):
6856 2007-02-13 Wim Taymans <wim@fluendo.com>
6858 * docs/design/part-seeking.txt:
6861 * gst/gstsegment.c: (gst_segment_set_seek):
6862 Revert old bogus change that should make seeking work again.
6864 2007-02-13 Stefan Kost <ensonic@users.sf.net>
6866 * docs/random/ensonic/dynlink.txt:
6867 * docs/random/ensonic/interfaces.txt:
6868 * docs/random/ensonic/receipies.txt:
6869 Possible dynamic reconnection api, plus some type fixes the other two
6872 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
6874 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6875 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6876 Also check for an absolute path following file:// in the filesrc
6877 element. Remove redundant check and call g_path_is_absolute() on the
6880 2007-02-13 Stefan Kost <ensonic@users.sf.net>
6882 * docs/design/draft-klass.txt:
6883 Add existing category analysis.
6886 Fix doc example, framerate is a fraction.
6888 2007-02-12 Stefan Kost <ensonic@users.sf.net>
6891 * docs/gst/Makefile.am:
6892 * docs/gst/gstreamer-sections.txt:
6893 * docs/libs/Makefile.am:
6894 Erm, forgot a bunch of --extra-dir.
6896 2007-02-12 Stefan Kost <ensonic@users.sf.net>
6899 * docs/gst/Makefile.am:
6900 * docs/libs/Makefile.am:
6901 * docs/plugins/Makefile.am:
6902 Add crossreferences to glib/gobject docs.
6904 2007-02-12 Wim Taymans <wim@fluendo.com>
6906 * docs/design/draft-latency.txt:
6909 * docs/libs/gstreamer-libs-sections.txt:
6910 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6911 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
6912 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
6913 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
6914 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
6915 (gst_base_sink_get_position), (gst_base_sink_query),
6916 (gst_base_sink_change_state):
6917 * libs/gst/base/gstbasesink.h:
6918 API: gst_base_sink_query_latency() to let subclasses query the upstream
6920 API: gst_base_sink_get_latency() to let subclasses query the configured
6921 latency in the sink.
6922 Implement query and set latency.
6924 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
6925 don't continue preroll when we are flushing. Fixes #405284.
6927 * tests/check/pipelines/stress.c: (change_state_timeout),
6928 (quit_timeout), (GST_START_TEST), (stress_suite):
6931 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
6933 Patch by: René Stadler <mail at renestadler de>
6935 * docs/gst/gstreamer-sections.txt:
6936 * gst/gsttaglist.c: (_gst_tag_initialize):
6938 API: add GST_TAG_REFERENCE_LEVEL (#403597).
6940 2007-02-11 Stefan Kost <ensonic@users.sf.net>
6942 * docs/libs/Makefile.am:
6943 Fix path to core docs.
6945 * gst/gstbin.c: (gst_bin_get_by_interface),
6946 (gst_bin_iterate_all_by_interface):
6947 Refix docs by also renaming 'interface' to 'iface' in implementation.
6949 * docs/gst/gstreamer-sections.txt:
6951 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
6952 * gst/gstchildproxy.h:
6953 * gst/gstelementfactory.c:
6954 * gst/gstpadtemplate.h:
6955 * libs/gst/controller/gstcontroller.c:
6956 (gst_controlled_property_new):
6959 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
6961 * gst/gstbin.h:(gst_bin_get_by_interface),
6962 (gst_bin_iterate_all_by_interface):
6963 Replace interface parameter name by iface as interface is
6964 a reserved keyword in Visual Studio for C++ projects so it removes
6965 a build error for application developpers using VS.
6966 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
6967 Fix a bug on Windows in uri format check. Now the prefix checked
6968 is file:// and next we check if the path after file:// is absolute.
6969 * win32/common/libgstbase.def:
6970 * win32/common/libgstdataprotocol.def:
6971 * win32/common/libgstgstreamer.def:
6972 Add new exported functions.
6974 2007-02-09 Andy Wingo <wingo@pobox.com>
6976 * tests/check/pipelines/simple-launch-lines.c
6977 (simple_launch_lines_suite, test_tee): Disable tee test until I
6978 have time to fix it :-(
6980 * tests/check/Makefile.am (noinst_HEADERS):
6981 * tests/check/libs/libsabi.c:
6982 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
6983 * tests/check/gst/gstabi.c:
6984 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
6986 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
6987 tests for push and pull tee behavior.
6989 * plugins/elements/gsttee.h:
6990 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
6991 mark as deprecated as well as unimplemented. It was a crack idea.
6992 Add support for tee operating in pull mode, off by default.
6994 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
6995 normal-case logs down to LOG, raise errors to WARNING.
6996 (gst_registry_xml_read_cache): Don't log before calling a function
6999 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
7000 exit (registry finalize).
7001 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
7002 DEBUG log when we emit signals that people don't even have the
7003 chance to connect to.
7004 (gst_registry_scan_path_level): Less logging in the normal case.
7006 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
7008 Patch by: Michal Benes <michal dot benes at itonis dot tv>
7010 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7011 Correctly generate EOS for non-seekable files. We don't have a total
7012 length for them and would get an unexpected end of file if we only
7013 special-cased for regular files. (Fixes: #404569)
7015 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
7017 * tests/check/elements/filesrc.c: (GST_START_TEST),
7019 Add unit test for the GstURIHandler interface in filesrc. This also
7020 tests the newly added file://localhost/foo/bar support.
7022 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
7024 * gst/gstelementfactory.h:
7025 The klass string is not a hierarchy. Add reference to the design doc
7026 for more information and common types.
7028 2007-02-02 Wim Taymans <wim@fluendo.com>
7030 * gst/gstquery.c: (gst_query_new_latency):
7031 Remove old structure field.
7033 2007-02-02 Stefan Kost <ensonic@users.sf.net>
7035 * tools/gst-launch.1.in:
7036 Give example for network streaming (#351998)
7038 2007-02-02 Wim Taymans <wim@fluendo.com>
7040 * docs/gst/gstreamer-sections.txt:
7041 Add docs for new methods.
7043 * gst/gstevent.c: (gst_event_new_latency),
7044 (gst_event_parse_latency):
7046 Add new LATENCY event to configure latency in a pipeline.
7047 API: gst_event_new_latency
7048 API: gst_event_parse_latency
7050 * gst/gstmessage.c: (gst_message_new_buffering),
7051 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
7052 (gst_message_new_latency), (gst_message_parse_buffering),
7053 (gst_message_parse_lost_preroll):
7055 Added messages used in draft-latency.
7056 API: gst_message_new_lost_preroll
7057 API: gst_message_parse_lost_preroll
7058 API: gst_message_new_prerolled
7059 API: gst_message_new_latency
7061 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
7062 (gst_query_parse_latency):
7064 Implemented new latency query as in design doc.
7065 API: gst_query_new_latency
7066 API: gst_query_set_latency
7067 API: gst_query_parse_latency
7069 2007-02-02 Wim Taymans <wim@fluendo.com>
7071 * docs/design/draft-latency.txt:
7072 Slight redesign to allow for dynamic latency adjustments.
7074 * docs/design/part-negotiation.txt:
7077 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
7079 reviewed by: Wim Taymans <wim@fluendo.com>
7081 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7082 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7083 Allow file://localhost/foo/bar URLs and correctly fail for every other
7084 hostname that one sets. This was gnomevfssrc is linked for those if
7085 installed as it can handle it (#403172)
7087 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
7089 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7091 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7092 (unref_data), (gst_collect_pads_add_pad_full):
7093 * libs/gst/base/gstcollectpads.h:
7094 Don't put the previously added destroy notify in the GstCollectData
7095 struct as all it's padding is already used and we don't want to break
7096 ABI. Instead put in the pad's GObject data for now. This should be
7097 cleaned up for 0.11 (#402393).
7099 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
7101 reviewed by: Wim Taymans <wim@fluendo.com>
7103 * docs/libs/gstreamer-libs-sections.txt:
7104 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7105 (unref_data), (gst_collect_pads_add_pad),
7106 (gst_collect_pads_add_pad_full):
7107 * libs/gst/base/gstcollectpads.h:
7108 API: Add function to specify a destroy notification for custom
7109 GstCollectData when adding new pads in GstCollectPads (#402393).
7111 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
7114 Update Swedish translation (#378255).
7116 2007-01-31 Stefan Kost <ensonic@users.sf.net>
7118 * docs/design/draft-klass.txt:
7119 Fix the previous change, this is a list of categories and not a hierarchy.
7121 2007-01-31 Stefan Kost <ensonic@users.sf.net>
7123 * docs/design/draft-klass.txt:
7124 Add info about how to get a list of used classes.
7126 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
7128 * plugins/elements/gsttypefindelement.c:
7129 (gst_type_find_element_chain_do_typefinding),
7130 (gst_type_find_element_change_state):
7131 Don't leak found caps in chain function (no idea why that never
7132 showed up as a leak anywhere).
7134 2007-01-30 Stefan Kost <ensonic@users.sf.net>
7137 Fix and expand GstPluginDesc API docs.
7139 2007-01-29 Stefan Kost <ensonic@users.sf.net>
7142 * gst/gstelementfactory.c:
7143 * gst/gstpadtemplate.h:
7146 * libs/gst/controller/gstcontroller.c:
7147 (gst_controlled_property_new):
7148 * tests/examples/controller/audio-example.c:
7151 2007-01-29 Stefan Kost <ensonic@users.sf.net>
7154 comment about refining the xml deps
7157 comments about moving away from jade for docs
7160 recommit the ifdefs to use the binary registry
7162 * gst/gstbin.c: (gst_bin_change_state_func):
7163 this break is obsolete
7165 * gst/gstelementfactory.h:
7166 better GST_ELEMENT_DETAILS docs, add comment about translation
7171 * gst/gstobject.c: (gst_signal_object_get_type):
7172 add G_UNLIKELY as usual
7174 * gst/gstpad.c: (gst_pad_event_default):
7175 add fall trhu comment
7177 * gst/gstregistrybinary.c: (gst_registry_binary_write),
7178 (gst_registry_binary_initialize_magic),
7179 (gst_registry_binary_save_string),
7180 (gst_registry_binary_save_pad_template),
7181 (gst_registry_binary_save_feature),
7182 (gst_registry_binary_save_plugin),
7183 (gst_registry_binary_write_cache),
7184 (gst_registry_binary_check_magic),
7185 (gst_registry_binary_load_pad_template),
7186 (gst_registry_binary_load_feature),
7187 (gst_registry_binary_load_plugin),
7188 (gst_registry_binary_read_cache):
7189 comment typo and formatting
7191 * gst/gstutils.c: (gst_element_state_get_name),
7192 (gst_element_state_change_return_get_name):
7193 remove obsolete breaks
7195 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7196 add FIXME 0.11 and remove cpp comment
7198 2007-01-29 Edward Hervey <edward@fluendo.com>
7200 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7201 Fix print statement in an even more portable way.
7203 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
7205 * docs/gst/gstreamer-sections.txt:
7207 API: add GST_ROUND_DOWN_* macros (#401781).
7209 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
7211 * docs/gst/gstreamer.types.in:
7212 * gst/gstregistry.c: (gst_registry_class_init):
7213 Document registry signals and make gtk-doc pick them up (#401381).
7215 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
7217 * docs/pwg/building-testapp.xml:
7218 Add some audioconverts and audioresample to the pipeline, and some
7219 more comments and error handling.
7221 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
7223 * docs/manual/manual.xml:
7227 2007-01-26 Wim Taymans <wim@fluendo.com>
7229 * gst/gstcaps.c: (gst_static_caps_get):
7230 Init caps flags too.
7232 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
7234 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
7236 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7237 If not using mmap'ed files try to seek to the end instead of the
7238 start to determine whether we can seek at all. This fixes the case
7239 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
7240 seeks for everything afterwards fail. Fixes #400656
7242 2007-01-25 Wim Taymans <wim@fluendo.com>
7244 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
7245 Add some refcount debugging.
7246 Make gst_static_caps_get threadsafe, which is needed when autoplugging
7247 in multiple streaming threads.
7249 2007-01-25 Wim Taymans <wim@fluendo.com>
7251 Patch by: David Schleef <ds at schleef dot org>
7253 * docs/libs/gstreamer-libs-sections.txt:
7254 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
7255 * libs/gst/base/gstadapter.h:
7256 API: gst_adapter_copy() that can reduce the amount of memcpy when
7257 getting data from the adapter. Fixes #388201.
7259 2007-01-25 Edward Hervey <edward@fluendo.com>
7261 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7262 In print statements, "%x" is for guint. Fixes build on macosx.
7264 2007-01-24 Edward Hervey <edward@fluendo.com>
7266 * plugins/elements/gstmultiqueue.c:
7267 (gst_multi_queue_loop):
7269 (single_queue_overrun_cb), (single_queue_underrun_cb),
7270 (single_queue_check_full), (gst_single_queue_new):
7271 Implement single queue growth system.
7272 This uses the extra-size properties, and will grow single queues by
7273 that much if one goes full whereas there are others empty. This is
7274 called extra-mode in the code.
7275 When a single queue's levels go back below the initial max-size
7276 limits, it is no longer in extra-mode. This is to ensure we don't
7277 consume too much memory.
7280 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
7282 * gst/gst.c: (gst_init_get_option_group):
7283 Make warning about late g_thread_init() calls a bit more explicit,
7284 so that it's more obvious to application developers what they need
7285 to do if a user files a bug against their application.
7287 2007-01-22 Edward Hervey <edward@fluendo.com>
7289 * plugins/elements/gstmultiqueue.c:
7290 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
7291 Remove previous hack of unsetting the flushing flag for the source pad
7292 instead of activating it. Instead, fix the source pad activate function
7293 so that it no longer depends on having a parent set or not.
7295 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
7297 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
7299 * docs/manual/basics-bus.xml:
7300 Fix example code, gst_element_unref() doesn't exist any longer.
7302 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
7304 Patch by: Mark Nauwelaerts <manauw at skynet be>
7307 Fix two docs typoes (#399094).
7309 2007-01-19 Edward Hervey <edward@fluendo.com>
7311 * docs/faq/gst-uninstalled:
7312 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
7313 depending on libgstbaseutils can work in uninstalled environment.
7315 2007-01-18 Stefan Kost <ensonic@users.sf.net>
7318 * gst/gsttagsetter.c:
7319 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
7320 statement for new tag.
7322 2007-01-17 Edward Hervey <edward@fluendo.com>
7324 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
7325 When dynamically creating single queues, activate sinkpad before adding
7327 We should be doing the same thing for the source pad, but we can't
7328 since it would call a method which needs the parent to be set in order
7329 to work propertly. Instead of activating the source pad, we just unset
7330 the flushing flag, which is the minimal requirement for adding a pad
7331 to an element in a state greater than READY.
7333 2007-01-17 Edward Hervey <edward@fluendo.com>
7335 * docs/faq/gst-uninstalled:
7336 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
7339 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
7341 * tests/check/gst/gstabi.c:
7342 * tests/check/gst/struct_hppa.h:
7343 * tests/check/libs/libsabi.c:
7344 * tests/check/libs/struct_hppa.h:
7345 Add ABI structs for HPPA (see #393796).
7347 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
7349 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
7350 Actually write ABI structs to the file specified in the GST_ABI
7351 environment variable, as the message we print claims we would.
7353 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7355 * tests/check/gst/gsttask.c:
7358 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7360 * gst/gsttaglist.c: (_gst_tag_initialize):
7361 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
7362 previous two entries.
7364 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7366 * docs/gst/gstreamer-sections.txt:
7367 * gst/gsttaglist.c: (_gst_tag_initialize):
7369 Add tag support for beat-per-minute.
7371 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7373 * gst/gstregistrybinary.c: (gst_registry_binary_write),
7374 (gst_registry_binary_initialize_magic),
7375 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
7376 (gst_registry_binary_save_pad_template),
7377 (gst_registry_binary_save_feature),
7378 (gst_registry_binary_save_plugin),
7379 (gst_registry_binary_write_cache),
7380 (gst_registry_binary_check_magic),
7381 (gst_registry_binary_load_pad_template),
7382 (gst_registry_binary_load_feature),
7383 (gst_registry_binary_load_plugin),
7384 (gst_registry_binary_read_cache):
7385 * gst/gstregistrybinary.h:
7386 Use glib types, cleanup comments, impement interfaces and uri-types.
7388 2007-01-13 Andy Wingo <wingo@pobox.com>
7390 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
7391 getrange() to return buffers with other caps, while we fix
7392 demuxers and typefind, or otherwise change part-negotiation.txt.
7394 2007-01-12 Andy Wingo <wingo@pobox.com>
7396 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
7397 Factor start/stop into this private function instead of partially
7398 in activate functions and partially in the change_state function.
7399 Fixes setup before the element has changed from READY->PAUSED, as
7400 is the case in pull-mode pipelines.
7401 (gst_base_transform_sink_activate_push)
7402 (gst_base_transform_src_activate_pull): Refactor to use
7403 gst_base_transform_activate().
7404 (gst_base_transform_change_state): Removed, not needed any more.
7406 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7407 Truncate before fixating.
7409 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7410 Don't set_caps() if the result of fixating is ANY, as it's not
7411 supported, and not necessary in the case of a link with no
7412 template caps on either side. Fixes tests/check/libs/basesrc in
7413 some pull-mode tests.
7415 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
7416 (gst_base_transform_init, gst_base_transform_sink_activate_push)
7417 (gst_base_transform_src_activate_pull):
7418 Track the activation mode.
7419 (gst_base_transform_setcaps): In pull mode, when activating the
7420 src pad, after activating the sink pad, activate the sink pad's
7421 peer, as discussed in part-negotiation.txt.
7423 * libs/gst/base/gstbasesrc.h:
7424 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
7425 vmethod, as in basesink.
7427 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
7429 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
7430 mode, first proxy the setcaps to the peer pad.
7431 (gst_base_sink_pad_fixate): Add a fixate function that calls the
7433 (gst_base_sink_default_activate_pull): Rename from
7434 gst_base_sink_activate_pull.
7435 (gst_base_sink_negotiate_pull): New function, performs negotiation
7436 in pull mode before calling ::activate_pull().
7437 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
7438 vmethod instead of the default implementation. I have no idea how
7439 this worked before. Negotiate before calling activate_pull.
7441 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
7442 sink pads in pull mode. In addition to being correct, fixes
7443 filesrc ! decodebin ! identity ! fakesink.
7444 (gst_pad_get_range, gst_pad_pull_range): Don't call
7445 gst_pad_set_caps() if the caps changes; instead error out with
7446 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
7448 2007-01-12 Andy Wingo <wingo@pobox.com>
7450 * docs/design/part-negotiation.txt: Update with more policy.
7452 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
7454 * libs/gst/check/gstbufferstraw.h:
7455 * libs/gst/check/gstcheck.h:
7456 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
7459 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
7461 * tests/check/Makefile.am:
7462 * tests/check/gst/.cvsignore:
7463 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
7464 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
7465 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
7466 (GST_START_TEST), (gst_tag_setter_suite):
7467 Add minimal unit test for beforementioned GstTagSetter bug.
7469 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
7471 Patch by: René Stadler <mail at renestadler dot de>
7473 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
7474 gst_tag_list_merge() returns a new list, so it's not the best idea
7475 to ingore its return value. Effectively meant that tags could only
7476 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
7477 Also add function guard to require a non-NULL taglist as input (has
7478 always been so due to gst_tag_list_copy(), just making it explicit).
7480 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
7482 * docs/random/draft-missing-plugins.txt:
7483 Some additions: mention new API that is supposed to be used at the
7484 various stages; short blob about new gst-inspect introspection
7485 option; mention potential future problem with plugins that have
7486 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
7488 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
7490 * tools/gst-inspect.c:
7491 (print_plugin_automatic_install_info_codecs),
7492 (print_plugin_automatic_install_info_protocols),
7493 (print_plugin_automatic_install_info), (main):
7494 Add --print-plugin-auto-install-info option to gst-inspect, so we can
7495 introspect plugin files and get machine-parsable output that corresponds
7496 to the last bit of the missing-plugin installer string (small gotcha:
7497 doesn't take into account ranks).
7499 2007-01-11 Stefan Kost <ensonic@users.sf.net>
7502 * docs/gst/gstreamer-sections.txt:
7504 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
7505 (gst_registry_lookup_locked):
7506 * gst/gstregistry.h:
7507 * gst/gstregistrybinary.c: (gst_registry_binary_write),
7508 (gst_registry_binary_initialize_magic),
7509 (gst_registry_binary_save_string),
7510 (gst_registry_binary_save_pad_template),
7511 (gst_registry_binary_save_feature),
7512 (gst_registry_binary_save_plugin),
7513 (gst_registry_binary_write_cache),
7514 (gst_registry_binary_check_magic),
7515 (gst_registry_binary_load_pad_template),
7516 (gst_registry_binary_load_feature),
7517 (gst_registry_binary_load_plugin),
7518 (gst_registry_binary_read_cache):
7519 * gst/gstregistrybinary.h:
7520 * gst/gstregistryxml.c: (load_feature),
7521 (gst_registry_xml_read_cache):
7522 commit binary registry (disabled by default, see #359653)
7524 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
7526 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
7527 Fix 'make check' too.
7529 2007-01-10 Andy Wingo <wingo@pobox.com>
7531 * docs/design/part-negotiation.txt: Fix a typo, add a couple
7534 * docs/design/part-negotiation.txt: Update with, um, one way that
7535 pull-mode negotiation might work?
7538 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
7539 that the pad must be a src pad; makes sense to call it the other
7540 way in pull mode, and the logic is symmetric anyway.
7542 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
7544 * plugins/elements/gstfilesink.c:
7545 Include <stdio.h> for fseeko().
7547 2007-01-10 Wim Taymans <wim@fluendo.com>
7551 Reserve LATENCY event.
7553 2007-01-09 Wim Taymans <wim@fluendo.com>
7555 * docs/design/draft-latency.txt:
7558 2007-01-09 Wim Taymans <wim@fluendo.com>
7560 * docs/design/draft-latency.txt:
7564 * gst/gststructure.c:
7568 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
7570 * tests/check/.cvsignore:
7571 Ignore test-registry.xml as well.
7573 2007-01-09 Wim Taymans <wim@fluendo.com>
7575 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7576 unref data at the end when we are done with the pad.
7578 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
7580 * docs/gst/gstreamer-sections.txt:
7581 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
7582 (init_post), (gst_deinit), (gst_update_registry):
7584 API: add gst_update_registry() (#391296).
7586 * tests/check/Makefile.am:
7587 * tests/check/gst/gstregistry.c:
7588 * tests/check/gst/.cvsignore:
7589 Simple unit test for the above.
7591 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
7593 * gst/gstregistry.c: (gst_registry_scan_path_level):
7594 Plugin extension on HP-UX is .sl, add that to the list of approved
7595 plugin extensions (see #393796).
7597 * tests/check/gst/gstpad.c: (GST_START_TEST):
7598 ulong => gulong. Fixes compilation with HP-UX compiler.
7600 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7601 Fix compilation if valgrind headers are not available.
7603 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
7605 * win32/common/libgstreamer.def:
7606 Add new exported function.
7607 * win32/vs6/libgstbase.dsp:
7608 Add gstdataqueue.c to the build.
7609 * win32/vs6/libgstcoreelements.dsp:
7610 Add gstmultiqueue.c to the build.
7612 2007-01-06 Andy Wingo <wingo@pobox.com>
7614 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
7615 activate_pull(), providing for a way to specialize the process of
7616 spawning a thread to pull on the sink pad. There is a default
7619 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
7620 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
7621 (gst_base_sink_init): Renamed pad activation functions (inserting
7622 "_pad" in their names). Refactor to use the new activate_pull
7623 vmethod, as appropriate.
7624 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
7625 default activate_pull function to start a task pulling from the
7626 sink pad, as before.
7628 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
7629 on the pads if necessary, as in push()/chain(). Update docs.
7630 Shouldn't affect existing pull() usage as it is currently only
7631 being used on buffers without caps.
7633 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7635 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7637 Call g_thread_init() first thing in gst_init() / gst_check_init().
7638 When initialisation is done via gst_init_get_option_group() and
7639 GOption parsing, issue a warning if the GLib thread system has not
7640 been initialised yet by the time gst_init_get_option_group() is
7641 called, as it's quite likely other GLib functions such as
7642 g_option_context_new() have been called already then, and
7643 g_thread_init() must be called before any other GLib function. The
7644 application in question must be fixed in that case, since memory
7645 corruption might happen otherwise.
7646 We issue the warning because even if the GLib folks decide to work
7647 around the problem on their end in future, this is still an issue
7648 with all GLib versions >= 2.10.0, so we should warn until we depend
7649 on a GLib version we know to be safe.
7650 Update documentation as well.
7653 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7655 * tools/gst-inspect.c: (main):
7656 * tools/gst-launch.c: (main):
7657 * tools/gst-typefind.c: (main):
7658 * tools/gst-xmlinspect.c: (main):
7659 Call g_thread_init() really really early, before any other GLib
7660 function (see #342564 and recent discussion on gtk-devel-list).
7662 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7664 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
7666 * gst/gst_private.h:
7667 * gst/gstconfig.h.in:
7669 On win32, all the __declspec stuff for symbol exporting is
7670 apparently only needed with MSVC, but doesn't work with MingW.
7671 Fixes compilation with MingW and #391909.
7673 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7675 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
7676 Change some GST_ERROR_OBJECT that aren't really errors to
7677 GST_WARNING_OBJECT in order to reduce terminal spam.
7679 2007-01-04 Stefan Kost <ensonic@users.sf.net>
7681 * tests/check/Makefile.am:
7682 disable test again, as there seem to be still race problems
7684 2007-01-04 Stefan Kost <ensonic@users.sf.net>
7686 * tests/check/Makefile.am:
7687 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7688 (GST_START_TEST), (queue_suite):
7689 enable queue test again, add tests for the leaky behaviour
7691 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
7694 * tests/examples/Makefile.am:
7695 Compile adapter test/example only if the required headers are
7696 available (fixes #391915).
7698 2007-01-01 David Schleef <ds@schleef.org>
7701 Restore the previous signal handler for SIGSEGV instead of
7702 setting to default, since we may have stolen it away from
7703 someone. (i.e., Mono)
7705 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
7707 * docs/random/draft-missing-plugins.txt:
7708 Some small additions and clarifications.
7710 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
7712 * gst/gstregistryxml.c: (gst_registry_save_escaped):
7713 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
7714 since that can lead to random memory corruptions and crashes
7715 (may or may not be related to #383244, #386711, and #386711).
7717 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7719 * tests/check/.cvsignore:
7720 * tests/check/Makefile.am:
7721 sync .cvsignome and CLEANFILES
7723 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7725 * tests/check/Makefile.am:
7728 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7730 * docs/design/part-states.txt:
7731 two tiny additional comments
7733 * gst/gststructure.c:
7736 * tests/check/Makefile.am:
7737 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7739 disable test for now, unless it gets fixed
7741 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7743 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7745 fix race in underrun test
7747 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7749 * tests/check/elements/.cvsignore:
7752 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7754 try to narrow test failure
7756 2006-12-21 David Schleef <ds@schleef.org>
7758 * plugins/elements/gstfakesrc.c:
7759 Use g_random_int_range(), since it produces better random
7760 numbers in a range than almost-correct floating point code.
7762 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7764 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7765 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7766 (gst_check_teardown_sink_pad):
7767 do not automatically (de)activate pads
7769 * tests/check/Makefile.am:
7770 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7771 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
7772 add new, yet simple tests for queue
7774 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
7775 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
7776 * tests/check/elements/filesrc.c: (cleanup_filesrc),
7778 * tests/check/elements/identity.c: (cleanup_identity):
7779 consistent pad (de)activation
7781 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
7783 Patch by: Sebastian Dröge <slomo ubuntu com>
7785 * libs/gst/base/gstcollectpads.c:
7786 Fix two doc typos (#387866).
7788 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
7790 * docs/manual/advanced-dparams.xml:
7791 Fix typo (g_object_control_properties() doesn't exist).
7793 2006-12-19 Edward Hervey <edward@fluendo.com>
7795 * gst/gstsegment.c: (gst_segment_set_seek):
7796 Fine tune the cases where the segment start/stop values are really
7798 * tests/check/gst/gstsegment.c: (GST_START_TEST):
7799 Add tests for the return values of gst_segment_set_seek().
7801 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
7806 * plugins/elements/gstqueue.c: (gst_queue_class_init),
7808 Fix incorrect documentation and flesh it out a bit more.
7809 Set default values for the max properties on the GParamSpec as well,
7810 so it shows up correctly in gst-inspect.
7812 2006-12-18 Stefan Kost <ensonic@users.sf.net>
7814 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7815 Correct docs of queue, add more detail and crosslink it more.
7817 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
7819 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7820 Print additional debug info when the stream isn't perfectly
7821 timestamped; don't try to use invalid durations.
7823 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
7825 * docs/design/Makefile.am:
7826 Dist new design docs.
7828 2006-12-16 Wim Taymans <wim@fluendo.com>
7830 Patch by: Sjoerd Simons <sjoerd at luon dot net>
7832 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
7833 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7834 (gst_collect_pads_stop), (gst_collect_pads_event),
7835 (gst_collect_pads_chain):
7836 * libs/gst/base/gstcollectpads.h:
7837 Add refcounting to the collectpads data so we can track when it's safe
7838 to free the data. Fixes #383382.
7840 2006-12-15 Wim Taymans <wim@fluendo.com>
7842 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7843 (gst_collect_pads_remove_pad):
7844 Automatically activate/deactivate pads when they are added to a
7845 started/stoped collectpads.
7847 2006-12-15 Wim Taymans <wim@fluendo.com>
7849 * gst/gstelement.c: (gst_element_add_pad):
7850 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7851 * gst/gstpad.c: (gst_pad_init):
7852 Set pads to FLUSHING when they are created. Check, warn and fix when a
7853 demuxer adds an inactive pad to itself when running. Fixes #339326.
7855 2006-12-15 Wim Taymans <wim@fluendo.com>
7857 * gst/gstelement.c: (gst_element_class_init),
7858 (gst_element_default_send_event), (gst_element_send_event),
7859 (gst_element_default_query), (gst_element_query):
7860 Expose default element send_event and query handling as vmethods that
7861 subclasses can chain up to.
7863 2006-12-15 Wim Taymans <wim@fluendo.com>
7865 * gst/gstelement.c: (gst_element_set_state_func):
7866 Small documentation fixes.
7868 2006-12-15 Wim Taymans <wim@fluendo.com>
7870 * docs/design/draft-latency.txt:
7871 Checked in draft for handling latency in pipelines.
7873 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
7877 * gstreamer.spec.in:
7880 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
7882 * gst/gst.c: (init_pre), (init_post):
7883 init_pre() and init_post() might be called via our GOptionGroup or
7884 from gst_init(), and we should skip both of them if we've already
7885 been initialised, otherwise we will init some things twice or add
7886 two default log functions.
7888 2006-12-13 Edward Hervey <edward@fluendo.com>
7890 * docs/manual/basics-bus.xml:
7891 No, gst_main_loop does not exist. Its g_main_loop.
7892 Discovered by somebody who abused the copy-paste technique of coding :)
7894 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
7896 * gst/gstghostpad.c:
7897 Log ghostpad debug stuff to the GST_PADS category as well rather
7898 than just to the default category.
7900 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
7903 * gst/gst.c: (init_pre):
7904 Add some basic system details such as OS and architecture
7905 to the debug output if possible, courtesy of uname().
7907 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
7909 * docs/gst/running.xml:
7910 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
7911 environment variables.
7913 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
7915 * tests/check/gst/gstbin.c: (GST_START_TEST):
7916 It is acceptable to have a refcount of 2 or 3 at this point in the
7917 test, because the pipeline might be just posting its state_change
7918 message. The next line then waits for that message to appear using
7919 bus_poll, so that should be fine too.
7921 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
7923 * gst/gst.c: (ensure_current_registry_forking):
7924 Ignore EINTR when reading from the child registry pipe.
7925 Explicitly ignore the return value from close, since it makes no
7928 * gst/gstminiobject.c: (gst_mini_object_ref),
7929 (gst_mini_object_unref):
7930 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
7932 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
7933 When removing cached plugins, remove their features too, so they're
7934 not visible after they've disappeared.
7936 * gst/gstutils.c: (prepare_link_maybe_ghosting):
7937 In the unlikely case that we are linking pads with no parents, don't
7938 crash trying to get the non-existent parent bin.
7940 * gst/parse/grammar.y:
7941 Output debug in the PIPELINE category
7943 2005-03-08 Wim Taymans <wim@fluendo.com>
7945 Patch by: René Stadler <mail at renestadler dot de>
7947 * gst/gstclock.c: (gst_clock_new_periodic_id):
7948 Reject invalid clock times for interval of periodic ids.
7951 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
7953 * gst/gstelementfactory.c: (gst_element_factory_create):
7954 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7955 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7956 * tools/gst-inspect.c: (print_element_info):
7957 Fix refcounting of gst_plugin_feature_load to match the docs.
7960 2006-12-07 Wim Taymans <wim@fluendo.com>
7962 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
7963 (gst_base_sink_get_position):
7964 Improve debugging of events.
7966 2006-12-07 Wim Taymans <wim@fluendo.com>
7968 Patch by: René Stadler <mail at renestadler dot de>
7970 * gst/gstclock.c: (gst_clock_id_wait):
7971 Make period ids add the interval to the origial requested time instead
7972 of the possibly updated time which can be wrong when there are multiple
7973 waiters for the same id. Fixes #382592.
7975 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
7976 (gst_system_clock_id_wait_jitter_unlocked),
7977 (gst_system_clock_id_wait_jitter):
7978 Fix restart in the async notify thread when an async entry is added to
7979 the front of the list. Fixes #381492.
7981 * tests/check/gst/gstsystemclock.c: (store_callback),
7982 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
7983 Added test for multiple async waits.
7984 Added test for async wait order.
7986 2006-12-07 Wim Taymans <wim@fluendo.com>
7988 * gst/gstbin.c: (gst_bin_query):
7989 Add some more docs about the POSITION query.
7991 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
7994 Bump version nano - back to CVS.
7996 === release 0.10.11 ===
7998 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
8001 releasing 0.10.11, "Love never runs on time"
8003 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
8005 * win32/common/libgstbase.def:
8006 * win32/common/libgstreamer.def:
8007 * win32/vs8/libgstbase.vcproj:
8008 * win32/vs8/libgstcoreelements.vcproj:
8009 * win32/vs8/libgstreamer.vcproj:
8010 Fix compilation on win32 under VS8
8011 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8012 Partially fixes #381175
8014 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
8016 * gst/gstvalue.c: (gst_value_compare_fraction):
8017 If someone is foolish enough to compare 2 fractions with denominator =
8018 0, return UNORDERED rather than aborting.
8020 2006-11-28 Edward Hervey <edward@fluendo.com>
8022 * libs/gst/base/Makefile.am:
8023 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
8024 (gst_data_queue_base_init), (gst_data_queue_class_init),
8025 (gst_data_queue_init), (gst_data_queue_new),
8026 (gst_data_queue_cleanup), (gst_data_queue_finalize),
8027 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
8028 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
8029 (gst_data_queue_is_empty), (gst_data_queue_is_full),
8030 (gst_data_queue_set_flushing), (gst_data_queue_push),
8031 (gst_data_queue_pop), (gst_data_queue_drop_head),
8032 (gst_data_queue_set_property), (gst_data_queue_get_property):
8033 * libs/gst/base/gstdataqueue.h:
8034 New GstDataQueue object for threadsafe queueing. Most useful for
8035 elements that need some queueing functionnality.
8036 * docs/libs/gstreamer-libs-docs.sgml:
8037 * docs/libs/gstreamer-libs-sections.txt:
8038 Insert documentation for GstDataQueue
8039 * plugins/elements/Makefile.am:
8040 * plugins/elements/gstelements.c:
8041 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
8042 (gst_multi_queue_class_init), (gst_multi_queue_init),
8043 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8044 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
8045 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
8046 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8047 (gst_multi_queue_loop), (gst_multi_queue_chain),
8048 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8049 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
8050 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
8051 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
8052 (wake_up_next_non_linked), (compute_next_non_linked),
8053 (single_queue_overrun_cb), (single_queue_underrun_cb),
8054 (single_queue_check_full), (gst_single_queue_new):
8055 * plugins/elements/gstmultiqueue.h:
8056 New multiqueue element, using GstDataQueue. Used for queuing multiple
8058 Closes #344639 and #347785
8060 2006-11-22 Stefan Kost <ensonic@users.sf.net>
8062 * docs/pwg/advanced-types.xml:
8063 add more missing type details
8065 * tools/gst-run.c: (main):
8066 remove unused variable
8068 2006-11-21 Stefan Kost <ensonic@users.sf.net>
8070 * docs/libs/Makefile.am:
8071 * docs/libs/gstreamer-libs.types:
8072 add types of base classes to enable gobject specific stuff in the docs
8074 * docs/random/ensonic/embedded.txt:
8075 more ideas about isolating platform specific things
8077 2006-11-20 Wim Taymans <wim@fluendo.com>
8079 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
8081 * libs/gst/check/gstcheck.h:
8082 Fix compilation and running against 0.9.4. Fixes #377332.
8084 2006-11-20 Wim Taymans <wim@fluendo.com>
8086 * gst/gstsegment.c: (gst_segment_set_seek),
8087 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8088 (gst_segment_to_running_time):
8089 Fix boundary checking in to_running_time() and to_stream_time().
8092 * tests/check/gst/gstsegment.c: (GST_START_TEST):
8093 stream and running time can now be calculated for the complete
8096 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
8098 * gst/gstpad.c: (gst_pad_push_event):
8099 Can't access event structure after giving away ownership of
8102 2006-11-15 Stefan Kost <ensonic@users.sf.net>
8104 * docs/random/ensonic/embedded.txt:
8105 * docs/random/ensonic/profiling.txt:
8106 * docs/random/ensonic/receipies.txt:
8109 2006-11-13 Wim Taymans <wim@fluendo.com>
8111 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8114 Fix documentation for gst_pad_dispatcher. Fixes #374475.
8116 2006-11-13 Wim Taymans <wim@fluendo.com>
8118 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
8120 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8121 Store new length in segment duration so we don't keep on calling the
8122 potentially expensize get_size() call. Fixes #370865.
8124 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
8126 Patch by: Sergey Scobich <sergey.scobich at gmail com>
8128 * win32/common/libgstreamer.def:
8129 Add two missing symbols (#366492).
8131 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
8133 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
8134 (gst_adapter_take_buffer):
8135 Fix format string to use all its arguments.
8136 Remove useless >= check on a guint
8138 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
8140 * tests/examples/adapter/.cvsignore:
8141 Ignore build file as commanded by the build-bot
8143 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
8145 * tests/examples/adapter/Makefile.am:
8146 * tests/examples/adapter/adapter_test.c: (run_test_take),
8147 (run_test_take_buffer), (run_tests), (main):
8149 Add new files from the previous commit
8151 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
8155 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
8156 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
8157 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
8158 * libs/gst/base/gstadapter.h:
8159 * tests/check/libs/adapter.c: (create_and_fill_adapter),
8160 (GST_START_TEST), (gst_adapter_suite):
8161 * tests/examples/Makefile.am:
8162 Do some optimisation work in GstAdapter to avoid copies in more cases.
8163 It could still do slightly better by merging buffers when
8164 gst_buffer_is_span_fast is true, but is already faster.
8166 Also, avoid traversing a single-linked list to append each incoming
8167 buffer inside the adapter.
8169 Add simple test app that times the adapter behaviour in different
8170 situations, and extend the unit test to check that bytes enter and
8171 exit the adapter in their original order.
8173 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
8175 * docs/random/draft-missing-plugins.txt:
8176 Update: use element message instead of adding a new message
8177 type to the core; don't provide GStreamer API to initiate the
8178 plugin download, just provide API to compose the strings needed
8179 and let an external libgimmestuff handle the rest.
8181 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
8183 * tools/gst-inspect.c: (print_element_properties_info):
8184 Print a string instead of 'unknown type' for GValueArray properties
8186 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
8188 * docs/random/draft-missing-plugins.txt:
8191 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
8193 * tests/examples/typefind/typefind.c: (type_found), (main):
8194 Make typefind element example work again (#371894); add a
8197 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
8199 * docs/random/draft-missing-plugins.txt:
8200 Commit initial draft about how to deal with missing plugins,
8201 needs work (API too).
8203 2006-11-07 Stefan Kost <ensonic@users.sf.net>
8205 * docs/pwg/advanced-types.xml:
8206 documents the new caps elements (see #363118)
8208 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
8210 * gst/gstplugin.c: (gst_plugin_load_file):
8211 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
8212 (gst_file_src_map_region), (gst_file_src_start):
8213 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
8214 (gst_file_index_commit):
8215 Use g_strerror() instead of strerror() - we want UTF-8.
8217 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
8219 Patch by: Peter Kjellerstedt <pkj at axis com>
8221 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8222 Another printf fix (#371493).
8224 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8226 * tests/check/gst/gsttag.c:
8227 relicence (okay with author=company)
8229 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8231 * gst/gstpad.c: (gst_pad_event_default_dispatch),
8232 (gst_pad_push_event):
8233 Enhance debug and improve docs
8238 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8240 * docs/random/ensonic/distributed.txt:
8241 * docs/random/ensonic/profiling.txt:
8244 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8246 * docs/gst/gstreamer-sections.txt:
8247 add new API and fix the build
8249 * gst/gstbin.c: (gst_bin_recalc_state):
8250 * gst/gstelement.c: (gst_element_message_full),
8251 (gst_element_get_state_func), (gst_element_set_state_func):
8252 use new API and improve logging
8254 * gst/gstutils.c: (gst_element_state_change_return_get_name):
8256 API: add function to get StateChangereturn names to improve logs
8258 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
8260 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8261 I'm considering shooting the next person to put strerror stuff
8262 in the translateable part of the message.
8264 2006-11-03 Wim Taymans <wim@fluendo.com>
8266 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8267 Get the type and printf conversion specifiers right.
8269 2006-11-03 Wim Taymans <wim@fluendo.com>
8271 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8273 * gst/gstpad.c: (gst_pad_init), (pre_activate),
8274 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
8275 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
8276 Some small cleanups. Improve debugging.
8278 Signal all waiting threads with a broadcast instead of just one.
8281 2006-11-03 Wim Taymans <wim@fluendo.com>
8283 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
8284 (gst_fd_src_create):
8286 Only update fd when it's different from the old.
8288 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
8290 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
8291 Printf fixes for PPC/OSX, take two (#369366).
8293 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
8295 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
8297 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8298 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8299 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
8300 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
8301 don't cast to long long for portability reasons, but use
8302 GLib's types instead.
8304 2006-10-30 Michael Smith <msmith@fluendo.com>
8306 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8307 Get the arguments to lseek() the right way around.
8310 2006-10-30 Wim Taymans <wim@fluendo.com>
8312 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
8315 _declspec should be __declspec (two underscores, not one). Fixes 366572.
8317 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
8319 Patch by: Kjartan Maraas <kmaraas at gnome org>
8321 * docs/design/part-MT-refcounting.txt:
8322 * docs/random/wtay/capsnego2-docs:
8325 Typo fixes (#366212).
8327 2006-10-28 Wim Taymans <wim@fluendo.com>
8329 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8332 * win32/common/libgstbase.def:
8333 * win32/common/libgstreamer.def:
8334 * win32/vs8/libgstbase.vcproj:
8335 * win32/vs8/libgstcontroller.vcproj:
8336 Add needed entries in .def files.
8338 Rearrange def files in vs8 solutions. Fixes #366286.
8340 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
8342 * win32/common/gstconfig.h:
8343 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
8344 hand-made win32 gstconfig.h. Fixes #366321.
8346 2006-10-27 Wim Taymans <wim@fluendo.com>
8348 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
8349 (gst_ghost_pad_new_full):
8350 Make acceptcaps return TRUE when we don't have a target, just like
8353 2006-10-27 Wim Taymans <wim@fluendo.com>
8355 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8356 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
8358 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
8360 * gst/gststructure.c: (gst_structure_id_set_value):
8361 If someone tries to set a non-UTF8 string field on a structure,
8362 don't just print a warning, but also ignore the request and do
8363 not change/add that field to the structure.
8365 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8368 2006-10-25 David Schleef <ds@schleef.org>
8371 g_hash_table_insert() needs a cast to a non-const pointer duh.
8373 2006-10-25 David Schleef <ds@schleef.org>
8377 Change name parameter of _gst_debug_register_funcptr to const
8378 to reflect the constness of its use in the function as well
8379 as to quiet a gcc warning.
8381 2006-10-25 Edward Hervey <edward@fluendo.com>
8383 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8384 Don't push the buffer if it's empty.
8387 2006-10-24 Wim Taymans <wim@fluendo.com>
8392 * libs/gst/base/gstbasetransform.c:
8393 (gst_base_transform_sink_eventfunc):
8394 Debug segment values *after* updating them as this is more
8397 2006-10-23 Wim Taymans <wim@fluendo.com>
8399 * docs/design/part-events.txt:
8402 * docs/design/part-block.txt:
8403 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8404 (gst_pad_push_event):
8405 Revert BLOCKING patch, it tries to be smart without really having a
8406 clear idea what or how. So, now we discard all FLUSHING events again on
8407 a blocking pad. Should fix gnonlin again.
8409 2006-10-23 Wim Taymans <wim@fluendo.com>
8411 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8413 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8414 (gst_base_src_start), (gst_base_src_activate_push):
8415 Make sure size is always initialized. Fixes #364388.
8417 2006-10-20 Stefan Kost <ensonic@users.sf.net>
8419 * docs/random/ensonic/distributed.txt:
8420 add some ideas about doing distributed processing
8422 * docs/random/ensonic/profiling.txt:
8423 get_rusage look promising
8425 2006-10-18 Stefan Kost <ensonic@users.sf.net>
8427 * docs/manual/basics-helloworld.xml:
8428 Add a cast in example to fix compile warning
8430 2006-10-18 Wim Taymans <wim@fluendo.com>
8432 * gst/gstsegment.c: (gst_segment_set_last_stop),
8433 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8434 Relax arg checking again, -1 is allowed.
8436 2006-10-18 Wim Taymans <wim@fluendo.com>
8438 * gst/gstsegment.c: (gst_segment_set_last_stop),
8439 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8440 _set_last_stop() must be with a value != -1
8441 A _TYPE_SET to -1 means seek to 0.
8442 Calc last_stop correctly for negative rates.
8443 Make sure we work with positive durations when updating a segment.
8445 2006-10-18 Wim Taymans <wim@fluendo.com>
8447 * docs/design/part-live-source.txt:
8451 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
8454 Add an explicit cast to GstBuffer** to keep old code that added an
8455 explicit cast to GstMiniObject** for gst_mini_object_replace()
8456 compiling without warning.
8458 2006-10-18 Stefan Kost <ensonic@users.sf.net>
8460 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
8461 check for validity of dates
8463 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
8465 * docs/gst/gstreamer-sections.txt:
8466 Forgot this one, makes gtk-doc shut up.
8468 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
8470 Patch by: Peter Kjellerstedt <pkj at axis com>
8473 Don't define xmlNodePtr to gpointer if the core was built with
8474 --disable-loadsave and --disable-registry, this will break
8475 applications that want to use libxml2 but are buildling against a
8476 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
8477 instead so we don't have to mess with the libxml2 namespace
8480 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
8483 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
8484 type-punned pointer warnings.
8486 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
8489 Add casts to the correct return type to state <=> state transition
8492 2006-10-16 Stefan Kost <ensonic@users.sf.net>
8494 * docs/design/part-live-source.txt:
8495 describe howto handle latency
8497 * docs/random/ensonic/profiling.txt:
8500 * tools/gst-plot-timeline.py:
8501 fix log parsing for solaris, remove unused function
8503 2006-10-16 Wim Taymans <wim@fluendo.com>
8505 * docs/design/part-trickmodes.txt:
8507 Update some docs regarding reverse playback.
8509 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
8511 Patch by: Marcus Granado <mrc dot gran at gmail com>
8513 * win32/vs8/grammar.vcproj:
8514 Error out with a warning if glib-genmarshal.exe is not in path,
8515 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
8517 2006-10-13 Wim Taymans <wim@fluendo.com>
8519 * gst/gstsegment.c: (gst_segment_set_seek):
8520 When seeking to stop -1, set last_stop (current position) to the
8521 duration of the segment.
8523 2006-10-13 Wim Taymans <wim@fluendo.com>
8526 Clarify _NO_PREROLL a bit more.
8531 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
8532 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
8533 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
8534 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
8535 due to wrong locking order. Fixes #361769.
8536 Remove some redundant/misplaced checks in pad_block.
8538 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8539 For negative rates, count backwards from the duration.
8541 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
8543 * gst/gsterror.c: (_gst_library_errors_init):
8544 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
8545 up with something better).
8547 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
8549 * win32/vs6/libgstreamer.dsp:
8550 * win32/vs7/libgstreamer.vcproj:
8551 * win32/vs8/libgstreamer.vcproj:
8552 Don't reference glib-compat.c which is currently not used and not
8553 disted; add gstquark.c which was recently added. Fixes #361730.
8555 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
8557 * win32/common/libgstbase.def:
8558 * win32/common/libgstcontroller.def:
8559 * win32/common/libgstreamer.def:
8560 Add gst_caps_merge() and a bunch of other recently-added functions.
8563 2006-10-11 Wim Taymans <wim@fluendo.com>
8565 * docs/plugins/gstreamer-plugins.args:
8566 * docs/plugins/inspect/plugin-coreelements.xml:
8567 * docs/plugins/inspect/plugin-coreindexers.xml:
8568 Update element args.
8570 * gst/gstsystemclock.c:
8571 Small comment update.
8573 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
8574 (gst_tee_request_new_pad), (gst_tee_release_pad),
8575 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
8576 (gst_tee_sink_activate_pull):
8577 * plugins/elements/gsttee.h:
8579 Add default property defines.
8580 Implement release pad function.
8581 Give properties better blubs etc.
8582 Activate pads before adding them to a running tee.
8583 Do simple buffer_alloc on the first requested pad.
8584 Post error when activation fails.
8586 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
8588 * gst/gst.c: (ensure_current_registry_forking):
8589 Check return value of write() to make compiler happy.
8591 2006-10-11 Wim Taymans <wim@fluendo.com>
8593 Patch by: Sjoerd Simons <sjoerd at luon dot net>
8595 * plugins/elements/gstqueue.c: (gst_queue_chain):
8596 Recheck queue filledness after signalling the overrun when we're about
8597 to leak downstream because we released the lock when emitting the signal
8598 and the queue could be empty again. Fixes #352345.
8600 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
8602 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
8603 Fix refcounting here too, just like we did for _new_valist() a few
8604 days ago (#357180) (thanks to René Stadler). Also remove all those
8605 'Since: 0.9' from the gtk-doc blobs.
8607 * tests/check/libs/controller.c: (controller_refcount_new_list),
8608 (gst_controller_suite):
8609 Unit test for the above.
8611 2006-10-10 Wim Taymans <wim@fluendo.com>
8613 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
8615 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8616 (gst_pad_save_thyself):
8618 Write pad direction in XML output. Fixes #345496.
8620 2006-10-10 Wim Taymans <wim@fluendo.com>
8622 Patch by: René Stadler <mail at renestadler dot de>
8624 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8625 (gst_controller_new_list), (_gst_controller_dispose),
8626 (_gst_controller_finalize), (_gst_controller_class_init):
8627 Take ref to controlled object so that it cannot disappear.
8630 2006-10-10 Wim Taymans <wim@fluendo.com>
8632 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8633 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8634 (gst_check_teardown_sink_pad):
8635 Activate/deactivate pads in setup/teardown respectively.
8637 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8639 Patch by: Josep Torra Valles <josep@fluendo.com>
8642 Cast values when making gstenumtypes.h. This pacifies Forte
8643 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
8646 2006-10-09 Wim Taymans <wim@fluendo.com>
8648 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
8649 Rename some more @cur to @start to fix docs.
8651 * gst/gstsegment.c: (gst_segment_set_seek):
8653 time and start must always stay in sync as defined in design doc.
8655 * gst/gsttaglist.c: (gst_tag_list_is_empty):
8656 Rename param to fix docs.
8658 * tests/check/gst/gstsegment.c: (GST_START_TEST):
8659 Check that start and time are in sync.
8661 * tests/check/pipelines/parse-launch.c:
8662 (gst_parse_test_element_change_state):
8663 Activate pad before adding to the element.
8665 2006-10-09 Wim Taymans <wim@fluendo.com>
8667 * docs/design/part-qos.txt:
8672 Update seek event docs regarding negative rates.
8673 Rename @cur to @start.
8675 * gst/gstsegment.c: (gst_segment_set_seek):
8677 Update set_seek docs regarding negative rates.
8678 Correctly update last_stop to @stop when dealing with negative
8680 Rename @cur to @start.
8682 * tests/check/gst/gstpad.c: (GST_START_TEST):
8683 Activate pads before trying to use them.
8685 * tests/check/gst/gstsegment.c: (GST_START_TEST),
8686 (gst_segment_suite):
8687 Add simple check for segments and negative rates.
8689 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
8691 * gst/gsttaglist.c: (gst_tag_list_is_empty):
8693 * docs/gst/gstreamer-sections.txt:
8694 API: add gst_tag_list_is_empty() (#360467).
8696 * tests/check/gst/gsttag.c: (GST_START_TEST):
8699 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8702 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
8703 a value that doesn't fit on enumeration.
8705 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8707 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8708 Remove local debugging system and use Gstreamer's instead.
8710 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8712 Patch by: Josep Torra Valles <josep@fluendo.com>
8714 * common/m4/gst-error.m4:
8715 Disable warning of statement not reached on Forte.
8717 Fix warning on Forte (value doesn't fit on enumeration).
8718 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
8719 Fix warning on Forte (value doesn't fit on enumeration).
8720 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8721 DEBUG macro says it takes minimum of 2 args and so Forte
8722 complains about the use with just 1 arg.
8723 * plugins/elements/gstfdsink.c:
8724 * plugins/elements/gstfdsrc.c:
8725 * plugins/elements/gstfilesink.c:
8726 * plugins/elements/gstfilesrc.c:
8727 Use correct return type for the uri handler implementations.
8729 All these fix warnings in Forte. Fixes bug #360860.
8731 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
8734 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
8735 format string, so don't use G_GNUC_PRINTF for those versions.
8737 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
8739 * gst/gsttaglist.c: (gst_is_tag_list):
8741 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
8743 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8744 Small test for the above.
8746 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
8749 Less tabs, more spaces.
8751 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
8754 Those two function declarations do actually belong there, revert
8755 commit from yesterday that turned them intro macros.
8757 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8759 Patch by: Josep Torra Valles <josep@fluendo.com>
8761 * gst/gst.c: (gst_init_get_option_group):
8762 Fix empty declaration and type mismatch.
8763 * gst/gstbin.c: (gst_bin_change_state_func):
8765 * gst/gstelement.c: (gst_element_continue_state),
8766 (gst_element_set_state_func), (gst_element_change_state),
8767 (gst_element_change_state_func):
8768 Fix type mismatches.
8769 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
8770 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
8771 Cast as appropriate.
8772 * gst/gstobject.c: (gst_class_signal_connect):
8773 Cast as appropriate. The function pointer parameter really
8774 has the wrong type but would break API if we change it.
8776 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
8777 order of including string.h.
8778 * gst/gstutils.c: (gst_element_state_get_name):
8779 Remove unreachable line.
8780 * gst/gstxml.c: (gst_xml_parse_doc):
8782 All these caught by Forte.
8784 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8786 Patch by: Josep Torra Valles <josep@fluendo.com>
8788 * common/m4/gst-error.m4:
8790 We need to disable warnings on Forte for empty declarations
8791 due to gst-indent adding ;s to lines that just use macros
8792 where the macro actually doesn't need a ; at end to end
8795 2006-10-06 Wim Taymans <wim@fluendo.com>
8797 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8798 (gst_file_sink_close_file), (gst_file_sink_event),
8799 (gst_file_sink_render):
8800 Add some FIXME for the NEWSEGMENT handling.
8802 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8804 * gst/parse/grammar.y:
8805 Remove static function gst_parse_element_lock as all it does
8806 is return. Looks like cruft from 0.8.
8808 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8810 Patch by: Josep Torra Valles <josep@fluendo.com>
8812 * common/m4/gst-error.m4:
8814 * libs/gst/net/Makefile.am:
8815 Fix a compilation issue with Forte on Solaris. inet_aton is in
8818 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
8820 * gst/gstpad.c: (pre_activate):
8821 * gst/gstregistry.c: (gst_registry_scan_path_level):
8822 * gst/gstregistryxml.c: (load_plugin):
8823 * libs/gst/controller/gstcontroller.c:
8824 (gst_controlled_property_set_interpolation_mode):
8825 * libs/gst/dataprotocol/dataprotocol.c:
8826 (gst_dp_packet_from_event_1_0):
8827 * libs/gst/net/gstnetclientclock.c:
8828 (gst_net_client_clock_observe_times):
8829 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8832 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
8835 * docs/gst/gstreamer-sections.txt:
8836 * gst/gstconfig.h.in:
8839 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
8840 whether we can use G_GNUC_PRINTF in other header files and at
8841 least check the printf format/arguments of debug messages and
8842 GST_ELEMENT_ERROR messages when the printf extension is not
8844 Replace more tabs with spaces in gstinfo.h and remove two spurious
8845 function declarations in GST_DISABLE_DEBUG part with macros.
8847 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
8849 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
8850 More docs for the sync-message signal (mention that it is not
8851 emitted by default); log message structures of messages posted on
8854 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
8856 * gst/gst.c: (ensure_current_registry_forking):
8857 Use a pipe pair to receive status results from the forked child, and
8858 ignore the result from waitpid. Fixes #355499
8860 2006-10-02 Wim Taymans <wim@fluendo.com>
8862 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8863 (gst_ghost_pad_suite):
8866 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
8869 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
8871 2006-10-02 Edward Hervey <edward@fluendo.com>
8873 * docs/design/part-block.txt:
8874 Further explain the use of flushing on blocked pads.
8875 * docs/gst/gstreamer-sections.txt:
8876 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8877 (gst_pad_push_event):
8879 Added new GstPadFlag : GST_PAD_BLOCKING.
8880 Adds the notion of pads really blocking, which enables to properly
8881 handle FLUSH_START/FLUSH_STOP events on blocked pads.
8883 API: gst_pad_is_blocking()
8884 API: GST_PAD_IS_BLOCKING() macro
8885 API: GST_PAD_BLOCKING GstPadFlag
8887 2006-10-02 Wim Taymans <wim@fluendo.com>
8889 Patch by: mrcgran <mrc.gran at gmail dot com>
8891 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
8892 Filter the proxied caps against the padtemplate if we have one.
8894 * gst/gstquery.c: (gst_query_new_segment):
8895 Add include for gstinfo.h so that compilation with
8896 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
8898 2006-10-02 Wim Taymans <wim@fluendo.com>
8900 Patch by: Alessandro Decina <alessandro at nnva org>
8902 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
8903 (gst_file_sink_set_location), (gst_file_sink_open_file),
8904 (gst_file_sink_close_file), (gst_file_sink_event),
8905 (gst_file_sink_render):
8906 Set file to NULL when closing filesink so that we can set a new filename
8907 in READY. Fixes #358613.
8909 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
8911 Patch by: Alessandro Decina <alessandro at nnva org>
8913 * gst/gstevent.c: (_gst_event_copy):
8914 Fix gst_mini_object_make_writable() and gst_event_copy() for events
8915 with event structures by setting the parent refcount address of the
8916 copied structure to the address of the refcount member of the newly
8917 copied event rather than the address of the refcount member of the
8918 original event. Fixes #358737.
8920 * tests/check/gst/gstevent.c: (GST_START_TEST):
8921 Unit test for the above.
8923 2006-09-29 Stefan Kost <ensonic@users.sf.net>
8925 * docs/design/Makefile.am:
8926 Dist some more files.
8928 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
8930 * tests/check/libs/controller.c: (GST_START_TEST),
8931 (gst_controller_suite):
8932 Add test for the previous fix; add some more tests
8933 for correct refcounting behaviour; fix a few leaks
8934 in test cases; call gst_controller_init() at start
8937 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
8939 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8940 (gst_controller_set_from_list):
8941 Don't g_return_val_if_fail() on timed values with invalid timestamps
8942 inside a critical section without unlocking the mutex. Spotted by
8943 René Stadler. (#357617)
8944 Also, fix up refcounting properly: when returning an existing
8945 controller, we should increase the reference only once and not
8946 once per property and when trying to control a property again
8947 we should also increase the refcount.
8949 2006-09-29 Wim Taymans <wim@fluendo.com>
8951 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8952 * libs/gst/net/gstnettimeprovider.c:
8953 (gst_net_time_provider_thread):
8954 Stop reading commands when EOF as well.
8956 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8957 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8958 * plugins/elements/gstidentity.c: (gst_identity_class_init):
8959 Unify description of the dump property.
8961 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
8963 * tests/examples/manual/.cvsignore:
8964 OK, so it's actually cvsignore that needs changing. Stop laughing.
8966 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
8968 * tests/examples/manual/Makefile.am:
8969 Gah, declare vars *before* using them
8971 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
8973 * gst/gst.c: (init_pre), (scan_and_update_registry),
8974 (ensure_current_registry_nonforking),
8975 (ensure_current_registry_forking), (ensure_current_registry),
8976 (init_post), (gst_debug_help), (gst_deinit):
8977 * gst/gst_private.h:
8978 * gst/gstregistry.c: (gst_registry_finalize),
8979 (gst_registry_remove_features_for_plugin_unlocked),
8980 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8981 (gst_registry_scan_path),
8982 (_priv_gst_registry_remove_cache_plugins),
8983 (_priv_gst_registry_cleanup):
8984 * gst/gstregistry.h:
8985 Re-commit the registry changes, along with an extra fix:
8986 When a cached plugin is encountered at a different file path,
8987 update the stored path in the registry cache so that the parent
8988 process knows where it actually is now when it re-reads the registry
8989 cache. Fixes the thing that broke distcheck with the previous commit.
8991 * tests/check/Makefile.am:
8992 Clean up files named 'core' too when running make clean.
8994 * tests/examples/manual/Makefile.am:
8995 Set up a registry path for running these tests, and clean it properly
8998 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
9001 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
9002 want gmodule-no-export-2.0.pc instead so that we don't drag in
9003 --export-dynamic on every project that links to GStreamer.
9005 Also, make our export regex only match the start of symbols, rather
9006 than any symbol that contains '_gst' somewhere.
9008 * libs/gst/check/Makefile.am:
9009 The libgstcheck we build does however need export-dynamic, as it
9010 produces some symbols that don't match our _gst... style regex.
9013 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
9015 * gst/gst.c: (init_pre), (scan_and_update_registry),
9016 (ensure_current_registry_nonforking),
9017 (ensure_current_registry_forking), (ensure_current_registry),
9018 (init_post), (gst_debug_help), (gst_deinit):
9019 * gst/gst_private.h:
9020 * gst/gstregistry.c: (gst_registry_finalize),
9021 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9022 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
9023 (_gst_registry_cleanup):
9024 * gst/gstregistry.h:
9025 Revert previous change until I figure out why it breaks distcheck.
9027 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
9029 * gst/gst.c: (init_pre), (scan_and_update_registry),
9030 (ensure_current_registry_nonforking),
9031 (ensure_current_registry_forking), (ensure_current_registry),
9032 (init_post), (gst_debug_help), (gst_deinit):
9034 Make init_pre and init_post take the full complement of GOptionFunc
9035 args so they can return useful GErrors. Make the registry updating
9038 Call _priv_gst_registry_remove_cache_plugins after scanning files to
9039 ensure that the registry we're about to write out doesn't contain
9040 stale information about old-deleted plugin files.
9042 Make _priv_gst_registry_remove_cache_plugins return a boolean so
9043 that deletion of plugin files is considered a registry change.
9045 * gst/gst_private.h:
9046 * gst/gstregistry.c: (gst_registry_finalize),
9047 (gst_registry_remove_features_for_plugin_unlocked),
9048 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9049 (gst_registry_scan_path),
9050 (_priv_gst_registry_remove_cache_plugins),
9051 (_priv_gst_registry_cleanup):
9052 * gst/gstregistry.h:
9053 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
9054 by adding _priv prefix, so that they won't appear in the global
9055 symbol table. They still do atm though because of #318031. Move the
9056 prototypes to gst_private.h
9058 When removing a plugin, remove all features for that plugin too.
9061 2006-09-27 Wim Taymans <wim@fluendo.com>
9063 * docs/random/moving-plugins:
9064 Make it clear that the "compiled-in descriptions" really mean
9065 the element details.
9067 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9068 (gst_base_sink_wait_preroll):
9071 * docs/libs/gstreamer-libs-sections.txt:
9072 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9073 (gst_base_src_get_range), (gst_base_src_activate_push):
9074 * libs/gst/base/gstbasesrc.h:
9075 Added function to block while waiting for PLAYING, this function
9076 is used by live sources that block on the clock.
9077 API: gst_base_src_wait_playing()
9079 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
9081 Patch by: Peter Kjellerstedt <pkj at axis com>
9084 gst-element-check.m4 is generated and should therefore be
9085 copied from the build dir rather than the source dir (#357593).
9086 'make distcheck' hasn't noticed this because we were disting
9087 the file as well, so stop doing that.
9089 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
9091 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9092 Add some tests for gst_caps_intersect().
9094 * tools/gst-launch.c: (event_loop):
9095 Print all buffering percentages we get, even the 100% one.
9097 2006-09-26 Wim Taymans <wim@fluendo.com>
9099 * tools/gst-inspect.c: (print_element_properties_info),
9100 (print_signal_info):
9101 Fix printing of flags to match the look of enums.
9103 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
9105 * gst/gstelementfactory.c:
9106 Fix typo in docs blurb.
9108 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
9110 * gst/gsturi.c: (search_by_entry):
9111 Don't assert/crash here if a uri handler doesn't return any
9112 supported protocols. The list of protocols could be generated
9113 dynamically at runtime or at plugin registration, and an error
9114 in the underlying library shouldn't be fatal (#353301).
9116 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
9119 Fix warning if HAVE_PRINTF_EXTENSION is undefined
9120 (spotted by Peter Kjellerstedt).
9122 2006-09-23 Wim Taymans <wim@fluendo.com>
9124 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
9126 * libs/gst/base/gstbasesrc.c:
9127 (gst_base_src_default_check_get_range), (gst_base_src_start),
9128 (gst_base_src_activate_push), (gst_base_src_activate_pull),
9129 (gst_base_src_change_state):
9130 Match _start/_stop calls in the activate functions. Remove redundant
9131 _stop call from the state change function. Fixes #356910.
9132 Turn failure DEBUG into ERROR.
9134 2006-09-22 Wim Taymans <wim@fluendo.com>
9136 * docs/design/part-buffering.txt:
9137 * gst/gstmessage.c: (gst_message_new_buffering),
9138 (gst_message_parse_buffering):
9139 Update docs about buffering.
9141 * docs/design/part-trickmodes.txt:
9144 2006-09-22 Stefan Kost <ensonic@users.sf.net>
9146 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9147 (gst_controller_new_list):
9148 Ref instances when returning them again (fixes #357180)
9150 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
9152 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
9153 Don't forget to release proxy lock when there's an error.
9155 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
9158 Add extra initialisers for Caps things, to fix some plugin warnings
9161 2006-09-18 Wim Taymans <wim@fluendo.com>
9163 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9164 Also set template on the internal pad so that a getcaps from the
9165 target pad returns the template caps.
9167 2006-09-18 Wim Taymans <wim@fluendo.com>
9169 * gst/gstelement.c: (gst_element_post_message),
9170 (gst_element_dispose):
9171 Use _DEBUG_OBJECT some more.
9173 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9176 * tools/gst-launch.c: (main):
9177 If the toplevel element is not a GstPipeline, it must be put in a
9178 pipeline so that a bus and clock is selected.
9180 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
9182 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9183 JITTER, RATE, and LATENCY query should be handled by the
9184 default case and not by the CONVERT query code.
9186 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
9188 * gst/gstformat.c: (gst_format_register):
9189 Fix locking order (must take lock before using n_values).
9191 * gst/gstvalue.c: (gst_value_serialize_enum),
9192 (gst_value_deserialize_enum_iter_cmp),
9193 (gst_value_deserialize_enum):
9194 Fix serialisation/deserialisation of custom registered GstFormats.
9196 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9197 Unit test for custom format serialisation/deserialisation.
9199 2006-09-17 Stefan Kost <ensonic@users.sf.net>
9201 * docs/pwg/building-boiler.xml:
9202 * plugins/elements/gstcapsfilter.c:
9203 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
9206 2006-09-16 Edward Hervey <edward@fluendo.com>
9208 * libs/gst/base/gstbasetransform.c:
9209 (gst_base_transform_buffer_alloc):
9210 Check if requested caps are the same as the sinks caps IF
9211 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
9213 This fixes the renegotiation issues stated in #352827.
9215 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
9218 * docs/manual/advanced-autoplugging.xml:
9219 * tests/examples/Makefile.am:
9220 * tests/examples/manual/.cvsignore:
9221 * tests/examples/manual/Makefile.am:
9222 * tests/examples/manual/extract.pl:
9223 Extract the manual examples again like we used to do.
9226 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
9228 * win32/common/config.h:
9231 2006-09-16 Stefan Kost <ensonic@users.sf.net>
9234 Documents how to receive errors.
9236 2006-09-15 Wim Taymans <wim@fluendo.com>
9238 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
9239 (event_loop), (main):
9240 Added some comments here and there.
9241 Post an application message when an interrupt is caught instead of doing
9242 an uncontrolled state change.
9243 Clean up the event loop.
9244 Handle buffering messages, pause/resume the pipeline.
9245 Make shutdown because of an interrupt more reliable.
9247 2006-09-15 Wim Taymans <wim@fluendo.com>
9249 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9250 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
9251 (gst_base_sink_preroll_object):
9252 Make sure that our internal state is correct when we commit our state
9253 asynchronously. This solves a race where a state change to PLAYING
9254 could cause the sink to remain blocked in preroll in some situations.
9256 2006-09-15 Wim Taymans <wim@fluendo.com>
9258 * tools/gst-inspect.c: (print_element_properties_info),
9259 (print_signal_info):
9260 List flags as hex so it's easier to deal with.
9262 2006-09-15 Wim Taymans <wim@fluendo.com>
9264 * docs/libs/gstreamer-libs-sections.txt:
9265 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
9266 (gst_base_sink_do_sync):
9267 * libs/gst/base/gstbasesink.h:
9268 Expose logic to wait for preroll so that subclasses such as audiosink
9269 can also use this method.
9270 API: gst_base_sink_wait_preroll()
9272 2006-09-15 Wim Taymans <wim@fluendo.com>
9274 * gst/gstobject.c: (gst_object_set_parent):
9275 * gst/gstpipeline.c: (do_pipeline_seek):
9276 Small cleanups in docs and code.
9278 * gst/gstsegment.c: (gst_segment_clip):
9279 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9280 if stop == start and start is in the segment, no clipping should be
9281 done. Also add a test for this.
9283 2006-09-15 Wim Taymans <wim@fluendo.com>
9285 * docs/design/part-buffering.txt:
9286 * docs/gst/gstreamer-sections.txt:
9287 * gst/gstmessage.c: (gst_message_new_buffering),
9288 (gst_message_parse_buffering):
9290 Added methods to create and parse BUFFERING messages.
9291 Added preliminary docs about buffering.
9292 API: gst_message_new_buffering
9293 API: gst_message_parse_buffering
9295 2006-09-06 Wim Taymans <wim@fluendo.com>
9298 Update documentation.
9300 * gst/gstelement.c: (gst_element_class_init),
9301 (gst_element_release_request_pad), (gst_element_set_clock),
9302 (gst_element_get_index), (gst_element_add_pad),
9303 (gst_element_remove_pad), (gst_element_get_random_pad),
9304 (gst_element_send_event), (gst_element_get_query_types),
9305 (gst_element_query), (gst_element_post_message),
9306 (gst_element_message_full), (gst_element_continue_state),
9307 (gst_element_lost_state), (gst_element_save_thyself),
9308 (gst_element_restore_thyself):
9309 Documentation updates.
9310 Rename last bit of the new-pad -> pad-added signal rename.
9311 Fix the case where an element query would only work if the source
9313 Avoid some useless type checking in message handling.
9318 Documentation updates.
9320 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
9322 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9323 add an INFO line for when we actually update the fd
9325 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
9330 === release 0.10.10 ===
9332 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
9335 releasing 0.10.10, "Pais"
9337 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
9339 * docs/manual/advanced-position.xml:
9340 Fix typo in sample code.
9342 2006-09-05 Wim Taymans <wim@fluendo.com>
9344 * libs/gst/net/gstnetclientclock.c: (inet_aton),
9345 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
9346 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
9347 * libs/gst/net/gstnetclientclock.h:
9348 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9349 * libs/gst/net/gstnettimepacket.h:
9350 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
9351 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
9352 (gst_net_time_provider_thread), (gst_net_time_provider_new):
9353 * libs/gst/net/gstnettimeprovider.h:
9354 Make stuff compile on windows. Fixes #345295.
9356 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
9358 * gst/gst.c: (ensure_current_registry_forking):
9359 Print better details when child was terminated by signal.
9361 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
9363 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
9364 Print a warning rather than g_assert() if a plugin feature
9365 is a URI handler but returns no protocols (#353976).
9367 2006-09-02 Stefan Kost <ensonic@users.sf.net>
9369 * docs/random/moving-plugins:
9372 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
9374 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
9375 Fix locking order, handle NULL function values properly.
9380 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
9381 Initialise variable before using it and fix debug statement to
9382 print the address of the function rather than the address of the
9383 variable on the stack holding the address of the function.
9385 2006-09-01 Wim Taymans <wim@fluendo.com>
9387 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
9388 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
9389 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9390 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
9391 (gst_ghost_pad_parent_unset),
9392 (gst_ghost_pad_internal_do_activate_push),
9393 (gst_ghost_pad_internal_do_activate_pull),
9394 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9395 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9396 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9397 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
9398 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
9399 (gst_ghost_pad_new_no_target_from_template),
9400 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9402 Avoid needless typechecking in macros.
9403 Since the internal pad is always present and never changes, there is
9404 no need to locking or ref when retrieving it.
9405 Improve debugging a bit.
9406 Handle link errors when setting the target. Fixes #341029.
9408 2006-09-01 Wim Taymans <wim@fluendo.com>
9410 * docs/libs/gstreamer-libs-sections.txt:
9411 * docs/plugins/gstreamer-plugins-sections.txt:
9414 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9415 (gst_collect_pads_event):
9416 * libs/gst/base/gstcollectpads.h:
9417 Documentation updates.
9418 Free queued buffer when removing a pad.
9420 2006-08-31 Michael Smith <msmith@fluendo.com>
9422 * gst/gstutils.c: (gst_element_link_pads),
9423 (gst_element_link_pads_filtered):
9424 Ensure that we set a capsfilter to NULL if we failed to link it
9425 when doing filtered linking, to avoid criticals.
9427 No need to check for unreffing srcpad, which is explicly NULLed
9428 above (a trivial code cleanup).
9430 2006-08-31 Wim Taymans <wim@fluendo.com>
9432 * docs/design/part-gstghostpad.txt:
9433 Update ascii art in documentation.
9435 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
9436 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
9437 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9438 (gst_ghost_pad_internal_do_activate_push),
9439 (gst_ghost_pad_internal_do_activate_pull),
9440 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9441 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9442 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
9443 (gst_ghost_pad_set_target):
9444 Small cleanups and leak fixes.
9445 Remove some checks now that the internal pad is never NULL.
9446 Fix the case where linking pads without a target would create nasty
9447 criticals. Fixes #341029.
9448 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
9449 value of _set_target().
9451 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9452 (gst_ghost_pad_suite):
9453 Some more tests for creating and linking untargeted ghostpads.
9455 2006-08-31 Edward Hervey <edward@fluendo.com>
9457 * docs/gst/gstreamer-sections.txt:
9458 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
9459 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9460 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
9461 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
9462 (gst_ghost_pad_new_from_template),
9463 (gst_ghost_pad_new_no_target_from_template):
9464 * gst/gstghostpad.h:
9465 Refactored *_new() functions.
9466 Templates are now used as a g_object_new() parameter.
9467 Use template in _do_getcaps() if we don't have a target.
9468 Small documentation cleanups.
9469 Added two new constructors:
9470 gst_ghost_pad_new_from_template()
9471 gst_ghost_pad_new_no_target_from_template()
9472 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9473 (gst_ghost_pad_suite):
9474 Added tests for new ghostpad instanciation functions.
9476 API additions: gst_ghost_pad_new_from_template,
9477 gst_ghost_pad_new_no_target_from_template
9479 2006-08-30 Stefan Kost <ensonic@users.sf.net>
9481 * docs/random/ensonic/profiling.txt:
9482 Ideas about qos profiling.
9484 2006-08-29 Wim Taymans <wim@fluendo.com>
9486 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
9490 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
9493 Improve and detypofy docs.
9495 * tests/check/Makefile.am:
9496 * tests/check/gst/.cvsignore:
9497 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
9498 Add a basic test suite for GstXML.
9500 2006-08-29 Wim Taymans <wim@fluendo.com>
9502 * gst/gstelement.c: (activate_pads), (clear_caps),
9503 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9504 Clear the pad caps when the element shut down all of the pads and
9505 is not streaming data that could modify the caps.
9508 2006-08-28 Michael Smith <msmith@fluendo.com>
9510 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9511 Revert previous change; I misunderstood single-segment mode.
9513 2006-08-28 Michael Smith <msmith@fluendo.com>
9515 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9516 Unset DISCONT on buffers when using single-segment mode.
9518 2006-08-28 Wim Taymans <wim@fluendo.com>
9520 * gst/gstcaps.c: (gst_caps_merge_structure):
9522 Fix docs and indentation again.
9524 * tests/check/gst/gstquery.c: (GST_START_TEST):
9525 Fix leak in tests and add some more tests.
9527 2006-08-28 Edward Hervey <edward@fluendo.com>
9529 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9530 Inform GstSegment of the last stop position in order for the current
9531 segment to have a proper duration if it doesn't have a specific stop
9532 position from which a duration could be calculated.
9533 This bug was noticeable when a non-flushing, non-update new segment was
9534 followed by another segment (all buffers from the new segment were being
9537 2006-08-28 Wim Taymans <wim@fluendo.com>
9539 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9540 Small comment update.
9542 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9543 (gst_identity_transform_ip):
9544 Drop-probability is broken, mention this in the code with a
9545 FIXME and also in the property description.
9546 Make silent also be silent about the drop messages.
9548 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
9550 * docs/manual/appendix-win32.xml:
9551 Remove mention of popt, we don't depend on that any
9552 longer (#353136). Add some comments pointing out that
9553 this section is slightly outdated.
9555 2006-08-28 Wim Taymans <wim@fluendo.com>
9557 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9559 * gst/gstquery.c: (gst_query_new_segment):
9560 * tests/check/gst/gstquery.c: (GST_START_TEST):
9561 Initialize variables when creating a new segment query.
9564 2006-08-28 Wim Taymans <wim@fluendo.com>
9566 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9568 * gst/gstelement.c: (gst_element_get_bus):
9569 * tests/check/gst/gstelement.c: (GST_START_TEST):
9570 Check for NULL before _reffing the bus. Fixes #353122.
9572 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
9574 * docs/manual/basics-bus.xml:
9575 Docs update: fix wrong callback return value explanation; add
9576 some lines about the implicit relationship between main loop
9577 and main context; remove duplicate main loop variable declaration.
9579 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
9581 * tests/check/gst/gstcaps.c: (GST_START_TEST):
9582 Don't leak caps in unit test; add a few more simple
9585 2006-08-24 Stefan Kost <ensonic@users.sf.net>
9587 * docs/gst/gstreamer-sections.txt:
9588 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
9589 (gst_caps_structure_is_subset), (gst_caps_merge),
9590 (gst_caps_merge_structure):
9592 * libs/gst/base/gstbasetransform.c:
9593 (gst_base_transform_transform_caps):
9594 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9595 implement caps merging (fixes #352580)
9597 2006-08-23 Stefan Kost <ensonic@users.sf.net>
9599 * tools/Makefile.am:
9600 * tools/gst-plot-timeline.py:
9601 add debug-log plotting developer tool (#340674)
9603 2006-08-23 Wim Taymans <wim@fluendo.com>
9605 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
9606 (gst_pad_stop_task):
9607 Improve debugging for task functions.
9609 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
9610 (gst_task_start), (gst_task_pause), (gst_task_join):
9611 Make sure that the task function started and finished after a
9613 Don't try to push the task function on the threadpool multiple
9615 Improve the g_warning message with some useful suggestions
9616 about how to fix the problem.
9618 2006-08-23 Wim Taymans <wim@fluendo.com>
9620 * gst/gstutils.c: (gst_pad_proxy_getcaps):
9621 Handle RESYNC correctly in _proxy_getcaps.
9623 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
9625 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
9626 (gst_xml_parse_memory), (gst_xml_get_element):
9627 Chain up to parent class in dispose function and also
9628 unref the elements in the toplevel_elements GList.
9629 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
9630 Always return a reference in gst_xml_get_element() rather
9631 than only sometimes.
9633 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9634 Don't leak GstXml object.
9636 2006-08-21 Stefan Kost <ensonic@users.sf.net>
9638 * docs/gst/gstreamer-sections.txt:
9639 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
9642 * libs/gst/base/gstbasetransform.c:
9643 (gst_base_transform_transform_caps):
9644 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
9647 2006-08-21 Edward Hervey <edward@fluendo.com>
9649 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
9650 Implement GObject::dispose virtual method in GstXML so we can free the
9653 2006-08-21 Wim Taymans <wim@fluendo.com>
9655 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
9656 (gst_buffer_create_sub):
9657 Copy duration/offset_end/caps when creating a subbuffer of the
9659 Make the subbuffer read-only when we make the metadata writable for
9662 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9663 Added check for metadata copy when creating subbuffers.
9665 2006-08-21 Edward Hervey <edward@fluendo.com>
9667 * libs/gst/base/gstbasetransform.c:
9668 (gst_base_transform_buffer_alloc):
9669 Only call downstream buffer_alloc if transform element is passthrough
9670 or always_in_place. Closes #350449.
9672 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9675 ChangeLog surgery to add comments to previous changes
9677 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9682 * gst/gstpad.c: (gst_pad_set_active):
9683 Be more verbose in the log
9685 * libs/gst/base/gstbasetransform.c:
9686 (gst_base_transform_transform_caps):
9687 Simplify caps to get rid of duplicates, fixes #345444
9689 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9693 Use these optimizations only internally.
9695 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9697 * gst/gstvalue.c: (gst_value_compare_list),
9698 (gst_value_compare_fraction_range),
9699 (gst_value_intersect_fraction_fraction_range),
9700 (gst_value_intersect_fraction_range_fraction_range),
9701 (gst_value_subtract_fraction_fraction_range),
9702 (gst_value_subtract_fraction_range_fraction_range),
9703 (gst_value_get_compare_func), (gst_value_compare),
9704 (gst_value_compare_with_func):
9706 Saves the expensive lookup of the compare function in many cases
9709 2006-08-18 Edward Hervey <edward@fluendo.com>
9711 * tests/check/gst/gstinfo.c: (gst_info_suite):
9712 Disable test that require gstdebug if it wasn't built in core.
9714 2006-08-18 Stefan Kost <ensonic@users.sf.net>
9716 * docs/random/ensonic/logging.txt:
9719 * gst/gstinfo.c: (gst_debug_log_default):
9720 reorder fields, save some columns, add optional color codes for log
9723 2006-08-18 Stefan Kost <ensonic@users.sf.net>
9725 * docs/random/ensonic/logging.txt:
9726 add ideas about making the logs a bit more useful
9728 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
9730 * docs/pwg/advanced-events.xml:
9731 * docs/pwg/titlepage.xml:
9732 Update for 0.10 API (#340627). Add myself
9735 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
9737 * docs/libs/gstreamer-libs-docs.sgml:
9738 * docs/libs/gstreamer-libs-sections.txt:
9739 * libs/gst/check/gstbufferstraw.c:
9740 Make gstcheck stuff show up in docs (still needs to
9741 be documented properly though).
9743 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
9745 * docs/gst/gstreamer-sections.txt:
9747 * gst/gst.c: (init_post):
9748 * gst/gst_private.h:
9749 * gst/gstquark.c: (_priv_gst_quarks_initialize):
9751 * gst/gstquery.c: (gst_query_new_position),
9752 (gst_query_set_position), (gst_query_parse_position),
9753 (gst_query_new_duration), (gst_query_set_duration),
9754 (gst_query_parse_duration), (gst_query_new_convert),
9755 (gst_query_set_convert), (gst_query_parse_convert),
9756 (gst_query_new_segment), (gst_query_set_segment),
9757 (gst_query_parse_segment), (gst_query_new_seeking),
9758 (gst_query_set_seeking), (gst_query_parse_seeking):
9759 Add internal helpers for pre-registering quarks from static strings
9760 and using the quark values directly instead of looking them up when
9761 creating and parsing queries. Can be used for event construction too.
9764 2006-08-16 Wim Taymans <wim@fluendo.com>
9769 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9771 * gst/gstutils.c: (gst_util_set_value_from_string):
9772 Fix memleak (#351502).
9774 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9775 Add unit test for most of gst_util_set_value_from_string()
9776 (not that one would want to encourage use of this function).
9778 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9780 * libs/gst/check/gstcheck.h:
9781 Use const gchar * variables in fail_unless_equals_string
9782 macro to avoid compiler warnings (and don't use tabs for
9785 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9787 * tools/gst-launch.c: (print_tag):
9788 More space on the left for the tag names, to cater
9789 for the 'extended comment' tag (not touching the
9790 string for the first line since it's translated).
9792 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9794 * libs/gst/check/gstcheck.h:
9795 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
9796 print something when they fail.
9798 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
9800 * docs/gst/gstreamer-sections.txt:
9801 * gst/gsttaglist.c: (_gst_tag_initialize):
9803 API: add GST_TAG_EXTENDED_COMMENT (#350935).
9804 Also change merge function for GST_TAG_COMMENT to
9807 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
9809 * gst/gstinfo.c: (gst_debug_print_object):
9810 Make GST_PTR_FORMAT print messages as well.
9812 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
9813 (GST_START_TEST), (gst_info_suite):
9816 2006-08-14 Edward Hervey <edward@fluendo.com>
9818 * gst/gstelementfactory.c: (gst_element_register):
9819 If the GstElementClass doesn't have a GstElementDetails with all fields
9820 filled up correctly (longname, description AND author), then error out
9821 nicely instead of crashing.
9823 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
9825 * gst/gststructure.c:
9826 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
9829 Expand on the difference between arrays and lists as we use them.
9831 2006-08-14 Wim Taymans <wim@fluendo.com>
9833 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9834 If the parent state change function failed, don't assume we can safely
9835 stop the source, this will be done when the pads are deactivated.
9837 2006-08-14 Wim Taymans <wim@fluendo.com>
9840 * gst/gsttask.c: (gst_task_join):
9843 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9844 (gst_pad_stop_task):
9845 When pad (de)activation failed for some reason, restore the old
9846 activation mode and set the pad to flushing instead of assuming the
9848 If the _task_join() failed, reinstall the task on the pad so that it can
9849 be stopped later and return an error.
9851 2006-08-11 Andy Wingo <wingo@pobox.com>
9854 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9855 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
9856 is only for users of API that don't want to see deprecated
9857 functions in the headers; people that want to compile out
9858 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
9859 CFLAGS. Fixes the build of multifdsink, or will soon..
9861 2006-08-11 Wim Taymans <wim@fluendo.com>
9863 * docs/gst/gstreamer-sections.txt:
9864 Add GstClockClass vmethod docs.
9867 Mark #endif with comment for associated #if
9869 * gst/gstclock.c: (gst_clock_id_wait):
9871 Add vmethod wait_jitter to avoid an unneeded _get_time() for
9872 most clock implementations.
9874 Flesh out docs about resolution methods.
9875 API: GstClockClass::wait_jitter
9877 * gst/gstsystemclock.c: (gst_system_clock_class_init),
9878 (gst_system_clock_async_thread),
9879 (gst_system_clock_id_wait_jitter_unlocked),
9880 (gst_system_clock_id_wait_jitter):
9881 Use base class wait_jitter variant for improved performance
9882 due to less clock polling.
9884 2006-08-11 Edward Hervey <edward@fluendo.com>
9886 * gst/gst.c: (gst_init_check), (init_post):
9887 Set gst as being initialized before scanning/updating the registry,
9888 since there might be my python plugin loader that calls gst_init() and
9889 we don't want to loop back in.
9892 2006-08-11 Wim Taymans <wim@fluendo.com>
9894 * docs/design/part-qos.txt:
9895 Bring docs in line with the code. Mostly the sign of the jitter was
9896 wrong in the docs. Fixes #349943.
9899 Fix the docs for the jitter.
9901 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
9902 (gst_event_parse_tag), (gst_event_new_buffer_size),
9903 (gst_event_parse_buffer_size), (gst_event_parse_qos),
9904 (gst_event_new_seek), (gst_event_parse_seek),
9905 (gst_event_new_navigation):
9906 Make sure the GstStructure has no parent when creating custom
9908 Add some more argument checking so that we avoid 0.0 rates.
9909 Flesh out the docs for the QoS event some more.
9911 2006-08-11 Wim Taymans <wim@fluendo.com>
9913 * docs/gst/gstreamer-sections.txt:
9914 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9915 (ensure_current_registry_forking), (ensure_current_registry),
9916 (parse_one_option), (parse_goption_arg), (gst_deinit),
9917 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
9920 Added API and command line option to disable registry forking in
9921 addition to the environment variable.
9922 Constify some static arrays.
9923 Added some more debug.
9925 API: gst_registry_fork_is_enabled()
9926 API: gst_registry_fork_set_enabled()
9927 API: --gst-disable-registry-fork command line option
9930 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
9932 * gst/gst.c: (gst_init):
9933 Fix typo in error message.
9935 2006-08-10 Stefan Kost <ensonic@users.sf.net>
9937 * libs/gst/controller/gstcontroller.h:
9938 fix ABI size-correction
9940 * tests/check/libs/gdp.c: (gst_dp_suite):
9941 make tests that use deprecated API conditional
9943 2006-08-10 Stefan Kost <ensonic@users.sf.net>
9945 * docs/libs/gstreamer-libs-sections.txt:
9946 * libs/gst/controller/gstcontroller.c:
9947 (_gst_controller_get_property), (_gst_controller_set_property),
9948 (_gst_controller_init), (_gst_controller_class_init):
9949 * libs/gst/controller/gstcontroller.h:
9950 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
9951 (gst_object_set_control_rate):
9952 API: add gst_object_{s,g}et_control_rate(), add private data section,
9955 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9956 * libs/gst/dataprotocol/dataprotocol.h:
9957 add deprecation guards to make gtk-doc happy and allow disabling cruft
9959 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
9961 * tests/check/Makefile.am:
9962 * tests/check/gst/.cvsignore:
9963 Let's enable the new unit test as well.
9965 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
9968 * docs/gst/gstreamer-sections.txt:
9969 * gst/gstconfig.h.in:
9970 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
9971 (_gst_info_printf_extension_ptr),
9972 (_gst_info_printf_extension_segment):
9973 API: add GST_SEGMENT_FORMAT, which is a printf extension we
9974 register that lets us easily dump GstSegments into debug
9977 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
9978 (info_segment_format_printf_extension), (gst_info_suite):
9979 Add simple unit test that logs a bunch of different segments (not
9980 valgrinded at the moment because of leaks in
9981 gst_debug_add_log_function).
9983 2006-08-09 Edward Hervey <edward@fluendo.com>
9985 * libs/gst/base/gstbasetransform.c:
9986 (gst_base_transform_buffer_alloc):
9987 Even if we can't figure out the proper format to request downstream,
9988 call buffer_alloc() downstream with the input parameters without setting
9989 the caps on the srcpad. This will force negotiation in the chain
9993 2006-08-08 Edward Hervey <edward@fluendo.com>
9995 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9996 Unlinking from a pad without a target is now a perfectly valid case
9997 which should NOT raise an assertion.
9998 This case would happen if a linked ghostpad its target set to NULL after
9999 it was previously linked.
10001 2006-08-08 Edward Hervey <edward@fluendo.com>
10003 * tests/check/libs/gdp.c:
10004 Also comment out the test (see below).
10006 2006-08-08 Edward Hervey <edward@fluendo.com>
10008 * tests/check/libs/gdp.c: (gst_dp_suite):
10009 Use the architecture information from config.h and not gcc macros
10010 in order to properly disable a test that fails on PPC64.
10012 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
10014 * gst/gstelement.c: (gst_element_remove_pad):
10015 Don't crash printing the warning if the pad has no parent.
10017 2006-08-02 Wim Taymans <wim@fluendo.com>
10019 * libs/gst/dataprotocol/dataprotocol.c:
10020 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10021 (gst_dp_crc), (gst_dp_header_payload_length),
10022 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
10023 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
10024 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
10025 (gst_dp_event_from_packet), (gst_dp_validate_header),
10026 (gst_dp_validate_payload):
10027 Make debug category static
10028 Constify the crc table.
10029 Do some more arg checking in public functions.
10030 Fix some docs and do some small cleanups.
10032 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
10033 Add some more checks to see if GDP deals with bogus input.
10035 2006-07-31 Wim Taymans <wim@fluendo.com>
10037 * gst/gstvalue.c: (gst_value_compare_list):
10038 Fix GstValueList comparison code. Fixes #347293.
10040 * tests/check/gst/gstvalue.c: (GST_START_TEST):
10041 Check to test GstValueList comparison.
10043 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
10045 * gst/gstelementfactory.c: (gst_element_factory_create):
10046 Remove unnecessary ref/unref pair
10048 * gst/parse/grammar.y:
10049 Make sure to free the parse buffer on all code paths.
10050 Move a g_free up to the error handler where it's easier to see.
10052 * tests/check/gst/gstevent.c: (test_event):
10053 Extending timeout for downstream travelling events to 10 seconds to
10054 hopefully avoid intermittent failure on the buildbots.
10056 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
10057 Don't manually set the state of the src element - it will happen as a
10058 natural consequence of the pipeline changing state, and that way it
10059 will do it in the right order too.
10061 2006-07-31 Wim Taymans <wim@fluendo.com>
10063 * libs/gst/base/gstbasetransform.c:
10064 (gst_base_transform_buffer_alloc):
10065 Use OBJECT_LOCK and refcounting to get the pad caps in the
10066 buffer_alloc function because the caps could change while we are
10067 busy with them. Fixes #349105
10069 2006-07-31 Wim Taymans <wim@fluendo.com>
10071 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
10072 Protect _PAD_CAPS with OBJECT_LOCK.
10074 2006-07-31 Wim Taymans <wim@fluendo.com>
10076 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10077 (gst_pad_get_property), (gst_pad_activate_pull),
10078 (gst_pad_activate_push), (gst_pad_set_blocked_async),
10079 (gst_pad_set_activate_function),
10080 (gst_pad_set_activatepull_function),
10081 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
10082 (gst_pad_set_getrange_function),
10083 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
10084 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10085 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
10086 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
10087 (gst_pad_set_acceptcaps_function),
10088 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10089 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
10090 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
10091 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
10092 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
10093 (gst_pad_configure_sink), (gst_pad_configure_src),
10094 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
10095 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
10096 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
10097 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
10098 (gst_pad_send_event):
10099 Use _DEBUG_OBJECT when it makes sense.
10100 Protect GST_PAD_CAPS with the OBJECT_LOCK.
10101 Small cleanups and code reflows.
10102 Avoid caps refcounting in _accept_caps.
10103 Refactor alloc_buffer so that the code performed on the peer is in a
10104 separate function. Also if the pad does not implement a buffer alloc
10105 function, we should still check if the pad is flushing before falling
10106 back to the default allocator.
10108 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
10110 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10111 Make all uses of identity and fakesink have silent=true to avoid
10112 serialising every passing data structure, which is breaking tests
10113 on FC4 for some unknown reason.
10115 2006-07-30 Stefan Kost <ensonic@users.sf.net>
10117 * gst/parse/Makefile.am:
10118 * gst/parse/grammar.y:
10119 * gst/parse/parse.l:
10120 Reverted previous patch as it required to bump the flex dependency to
10121 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
10123 2006-07-30 Stefan Kost <ensonic@users.sf.net>
10125 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
10127 * gst/parse/Makefile.am:
10128 * gst/parse/grammar.y:
10129 * gst/parse/parse.l:
10130 push & pop the state of the lexer for reentrant use case
10133 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
10135 * libs/gst/base/gstbasesrc.h:
10136 Note in the docs that the ::newsegment vfunc is not actually used by
10139 2006-07-28 Wim Taymans <wim@fluendo.com>
10141 * libs/gst/base/gstcollectpads.c:
10142 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
10143 (gst_collect_pads_clear), (gst_collect_pads_flush),
10144 (gst_collect_pads_event), (gst_collect_pads_chain):
10145 When flushing a pad, also clear the queued buffer so that we don't
10146 accidentally use it when we shouldn't.
10147 Fix leaks by inreffing incomming buffer.
10148 Flush out queued buffers in case of errors.
10151 2006-07-28 Wim Taymans <wim@fluendo.com>
10153 * docs/random/phonon-gst:
10154 Random notes about a Phonon backend.
10156 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10158 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10160 * tests/check/libs/gdp.c: (gst_dp_suite):
10161 Take a whack at fixing the ppc compile using a different define to
10162 disable the broken test.
10164 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10165 Remove excess g_print()
10167 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10169 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10170 Oops, meant to uncomment this line too to dampen the noise a bit.
10172 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10174 * gst/parse/grammar.y:
10175 * gst/parse/parse.l:
10176 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
10177 (GST_START_TEST), (parse_suite):
10178 Fix some of the leaks exposed by extending the parse-launch testsuite,
10179 and move the 3 I can't figure out into a separate test that won't run
10180 the pipelines unless the appropriate line is uncommented.
10182 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
10184 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10185 Requesting 0 bytes before the end of the file should result in
10186 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
10189 2006-07-27 Wim Taymans <wim@fluendo.com>
10191 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
10192 Fix useless assert, a uint is always positive.
10194 * gst/gststructure.c: (gst_structure_nth_field_name),
10195 (gst_structure_foreach), (gst_structure_map_in_place):
10196 Check input arguments for public functions to avoid obvious crashes.
10198 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
10199 * plugins/elements/gstfakesink.h:
10200 Do less useless typechecking.
10202 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
10204 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
10205 Do not use mmap() by default since there are a number of error
10206 conditions that we would like to handle in a non-fatal way that
10207 will result in a SIGBUS if we use mmap(). Examples: external
10208 devices (USB harddrive, portable music player) being unplugged
10209 while in use; file on mounted CD/DVD that can't be read because
10210 the medium is partly damaged. Fixes #348455 and #348475.
10212 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10215 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
10216 rates are a gdouble
10218 2006-07-26 Stefan Kost <ensonic@users.sf.net>
10220 * gst/gstregistry.c:
10221 Move big documentation comment into class section header, so that it
10222 appears in the API docs.
10224 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
10226 * docs/gst/gstreamer-sections.txt:
10227 Oops. Commit the docs additions too for new API.
10228 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
10230 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
10232 * gst/gststructure.c: (gst_structure_id_set),
10233 (gst_structure_id_set_valist):
10234 * gst/gststructure.h:
10235 Add API for setting values into structures without performing
10236 a quark lookup, if the appropriate quark is already known.
10238 API: gst_structure_id_set
10239 API: gst_structure_id_set_valist
10241 * gst/parse/grammar.y:
10242 * gst/parse/parse.l:
10243 Remove some dead code shown by the coverage information.
10244 Don't throw a critical g_warning when encountering a syntax error,
10245 just warn and let the normal error path handle it.
10247 * plugins/elements/gstelements.c:
10248 Bump the rank of filesink up to PRIMARY so that it is preferred over
10249 gnomevfssink for file:// sink uri's
10251 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
10252 (GST_START_TEST), (run_delayed_test),
10253 (gst_parse_test_element_base_init),
10254 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
10255 (gst_parse_test_element_change_state),
10256 (gst_register_parse_element), (parse_suite):
10257 Beef up the tests for parse syntax to check that more error cases
10258 fail as they are supposed to. Increases the test coverage a bit.
10260 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
10262 * docs/manual/basics-elements.xml:
10263 Fix gst_element_link() example.
10266 Mention in API docs that one should usually gst_bin_add()
10267 elements to a bin or pipeline before doing the linking.
10269 2006-07-26 Wim Taymans <wim@fluendo.com>
10271 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
10272 (gst_subbuffer_get_type), (gst_buffer_create_sub):
10273 Avoid function call for known types by keeping the buffer and
10274 subbuffer GType global.
10276 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10277 Random silly optimisations in read() path.
10279 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
10281 * tools/gst-launch.c: (main):
10282 If the top-level of the parse is a normal bin, it doesn't do the
10283 right logic to run as a top-level element, so place it inside a
10286 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
10288 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
10289 Remove superfluous g_object_notify() calls, GObject does
10290 that for us automatically.
10292 2006-07-25 Stefan Kost <ensonic@users.sf.net>
10295 on Win32, use dllspec to export the debug category symbols
10297 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
10299 * gst/gsttaglist.c: (_gst_tag_initialize):
10300 Allow more than one GST_TAG_IMAGE per taglist.
10302 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
10304 * gst/gstminiobject.c:
10306 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
10307 (gst_fd_src_create):
10308 log recurring events at LOG level
10309 add more debug for when the fd gets set
10311 2006-07-21 Stefan Kost <ensonic@users.sf.net>
10313 * gst/gstparse.c: (gst_parse_launch):
10314 Also remove reentrance checks if flex is MT safe (#348179)
10315 Fix my empty ChangeLog entry below
10317 2006-07-21 Andy Wingo <wingo@pobox.com>
10319 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
10321 * libs/gst/check/Makefile.am
10322 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
10323 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
10324 * libs/gst/check/gstbufferstraw.h:
10325 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
10326 functions, thus proving I am still a GStreamer haxor. OK I wrote
10327 them a long time ago, but anyways.
10329 2006-07-21 Stefan Kost <ensonic@users.sf.net>
10332 * gst/gstparse.c: (gst_parse_launch):
10333 Check for flex version and omit mutex if we have a MT save flex
10336 2006-07-21 Wim Taymans <wim@fluendo.com>
10338 * gst/gstparse.c: (gst_parse_launch):
10339 Protect recursive calls to _parse with a recursive mutex
10342 2006-07-21 Wim Taymans <wim@fluendo.com>
10344 * tests/check/gst/gstpad.c: (GST_START_TEST):
10347 2006-07-20 Stefan Kost <ensonic@users.sf.net>
10349 * gst/gstparse.c: (gst_parse_launch):
10350 Do not hang on recursive usage of gst_parse_launch()
10352 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
10354 * gst/gsttaglist.c:
10355 Add some more docs, comments and FIXME 0.11s here and there
10356 and also fix some typos.
10358 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
10360 * gst/gstsegment.h:
10361 Convert tabs to spaces for better readability.
10363 2006-07-20 Edward Hervey <edward@fluendo.com>
10365 * tests/check/libs/gdp.c: (gst_dp_suite):
10366 the test_buffer test fails at line 140 on ppc64 at the following
10368 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
10369 GST_BUFFER_FLAG_IN_CAPS),
10370 "GST_BUFFER_IN_CAPS flag should have been copied !");
10371 See bug #348114 for more details.
10373 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
10375 * docs/pwg/advanced-scheduling.xml:
10377 Fix typos (#348000).
10379 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
10381 * docs/pwg/intro-basics.xml:
10382 Fix wrong links (#347927).
10384 2006-07-18 Stefan Kost <ensonic@users.sf.net>
10386 * gst/gstregistry.h:
10387 * gst/gstregistryxml.c: (load_feature),
10388 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
10389 * win32/common/config.h:
10390 make --disable-index work (#342564)
10392 2006-07-18 Wim Taymans <wim@fluendo.com>
10394 Patch by: Peter Kjellerstedt <pkj at axis dot com>
10398 The attached patch adds two missing defines to gsttrace.h when tracing
10399 is disabled. It also corrects one existing define.
10402 2006-07-17 Wim Taymans <wim@fluendo.com>
10404 * docs/gst/gstreamer-sections.txt:
10405 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
10407 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
10408 Add two functions to check and change the SIGSEGV behaviour
10409 when loading plugins.
10410 Don't mess with the SIGSEGV handler when we were told not to.
10412 API: gst_segtrap_is_enabled
10413 API: gst_segtrap_set_enabled
10415 2006-07-14 Wim Taymans <wim@fluendo.com>
10417 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10418 * tests/check/elements/filesrc.c: (GST_START_TEST):
10419 Revert fix for regression in #347408 after release.
10421 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
10423 Patch by: Antoine Tremblay <hexa00 at gmail com>
10425 * gst/gstutils.c: (gst_element_unlink):
10426 Free iterator when done (#347311).
10428 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10429 And add a test case for this.
10431 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
10434 Bump nano back to CVS
10436 === release 0.10.9 ===
10438 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
10441 releasing 0.10.9, "On the road again"
10443 2006-07-13 Wim Taymans <wim@fluendo.com>
10445 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10446 * tests/check/elements/filesrc.c: (GST_START_TEST):
10447 Revert pull-0 fix for release. Disable check. Fixes #347408.
10449 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
10451 * libs/gst/dataprotocol/dataprotocol.c:
10452 (gst_dp_event_from_packet_1_0):
10453 Fixes #347337: failure to deserialize event packets with
10454 empty payload (only event type)
10456 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
10459 do not install a .c file in the header directory
10461 2006-07-13 Edward Hervey <edward@fluendo.com>
10463 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
10464 GhostPad no longer implicitely use the padtemplates of the targets.
10467 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
10469 * gst/gstvalue.c: (gst_value_compare_list),
10470 (gst_value_compare_array), (_gst_value_initialize):
10471 * tests/check/gst/gstvalue.c: (GST_START_TEST):
10472 Make GstValueArray comparison be order dependent as designed.
10473 Add checks for value lists and value array comparisons.
10476 2006-07-11 Edward Hervey <edward@fluendo.com>
10478 * gst/gstbin.c: (activate_pads),
10479 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
10480 (gst_bin_change_state_func):
10481 (de)activate src pads before calling state_change on the childs.
10482 This is to avoid the case where a src ghostpad is blocked (holding the
10483 stream lock), which would block the deactivation of the ghostpad's
10485 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
10486 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
10487 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
10488 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10489 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10490 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10491 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10492 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
10493 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
10494 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10495 (gst_ghost_pad_class_init),
10496 (gst_ghost_pad_internal_do_activate_push),
10497 (gst_ghost_pad_internal_do_activate_pull),
10498 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10499 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10500 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
10501 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
10502 GhostPads now create their internal GstProxyPad at creation (and not
10503 when they're linked, as it was being done previously).
10504 The internal and target pads are linked straight away.
10505 The data will also travel through the other pad in order to make
10506 pad blocking and probes non-hackish (the probe/block now really happens
10507 on the GhostPad and not on the target).
10508 * gst/gstpad.c: (gst_pad_set_blocked_async),
10509 (gst_pad_link_prepare), (gst_pad_push_event):
10510 Remove previous ghostpad cruft.
10511 * gst/gstutils.c: (gst_pad_add_data_probe),
10512 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10513 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10514 (gst_pad_remove_buffer_probe):
10515 Remove previous ghost pad cruft.
10516 Added more detailed debug statements.
10517 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10518 Fix the testsuite for refcounting changes.
10519 The comments about who has references were correct, but the refcount
10520 being checked wasn't the same (!?!).
10524 2006-07-10 Stefan Kost <ensonic@users.sf.net>
10526 * docs/gst/gstreamer-sections.txt:
10527 * gst/gstconfig.h.in:
10528 More docs for configuration options, add docs to gtk-doc.
10530 2006-07-10 Stefan Kost <ensonic@users.sf.net>
10533 * gst/gstconfig.h.in:
10534 * win32/common/config.h:
10535 Fix build when disabling tracing (fixes #344016). Also start to document
10536 the defines that disable the sub-systems.
10538 2006-07-10 Edward Hervey <edward@fluendo.com>
10540 * gst/gst.c: (ensure_current_registry_forking):
10541 let's make valgrind happy...
10543 2006-07-09 Wim Taymans <wim@fluendo.com>
10545 * gst/gstelement.c: (activate_pads),
10546 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10547 Better pad activation code: Reset the collect value too on resync.
10550 2006-07-09 Wim Taymans <wim@fluendo.com>
10552 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
10553 (gst_pad_activate_push):
10554 Use some more macros where it makes sense.
10555 Allow pad mode switching instead of asserting. When a pad
10556 is activated in one mode and we activate it in another,
10557 deactivate it first before activating it in a different mode.
10560 2006-07-08 Andy Wingo <wingo@pobox.com>
10562 * tools/gst-launch.c (main): Handle err == NULL.
10564 * gst/gst.c (init_post, ensure_current_registry)
10565 (ensure_current_registry_forking)
10566 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
10567 factoring out the registry scanning into separate functions. Don't
10568 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
10569 Better environment var name/interface suggestions accepted.
10571 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10573 * gst/gstobject.c: (gst_object_set_name_default),
10574 (gst_object_set_name):
10575 Random micro-optimisation: don't use a hash table
10576 with strings as keys and the usual strdup/strcmp
10577 involved, but rather just use the GQuark of the
10578 type name as key, since it needs to be looked up
10579 anyway to get the type name string.
10581 * tests/check/gst/gstobject.c: (GST_START_TEST):
10584 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10586 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
10587 (gst_bin_iterate_all_by_interface):
10588 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
10589 GTypes are gulongs and thus the top 4 bytes might be cut
10590 off on some platforms when doing GPOINTER_TO_INT, leading
10591 to invalid GTypes and bad things happening (see RH bug #179654).
10592 Also add a check to make sure the type passed in is really
10595 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10600 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10604 * gst-element-check.m4:
10605 * gst-element-check.m4.in:
10606 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
10607 instead of the unversioned gst-inspect (#324176, #168659).
10609 2006-07-06 Wim Taymans <wim@fluendo.com>
10611 * gst/gstmessage.h:
10612 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
10615 2006-07-06 Wim Taymans <wim@fluendo.com>
10617 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10618 (gst_base_src_wait), (gst_base_src_update_length),
10619 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
10620 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
10621 (gst_base_src_loop), (gst_base_src_start),
10622 (gst_base_src_activate_pull):
10624 blocksize == 0 now means the default blocksize when working in push
10626 Remove some pointless asserts in _wait function.
10627 Fix offset/length calculations and EOS handling. We can now pull 0
10628 bytes as well, which is allowed.
10629 use _check_get_range() to decide if we can operate in _pull based
10631 Fix refcounting leak when check_get_range function was not
10633 API GstBaseSrc::blocksize range can be 0 too now (default)
10635 * tests/check/elements/filesrc.c: (GST_START_TEST),
10637 Added check to test _get_range() behaviour.
10639 2006-07-06 Wim Taymans <wim@fluendo.com>
10641 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10642 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
10643 (gst_pad_pull_range):
10645 Lots of comments and docs added to the pad functions.
10646 Flesh out the expected behaviour of the get_range() functions.
10648 2006-07-06 Wim Taymans <wim@fluendo.com>
10653 * gst/gstiterator.h:
10657 Remove comma at end of enumerator list.
10659 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
10661 * win32/common/libgstbase.def:
10662 * win32/common/libgstdataprotocol.def:
10663 * win32/common/libsgtreamer.def:
10664 Add new exported functions.
10666 2006-07-05 Wim Taymans <wim@fluendo.com>
10668 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
10669 Add some more docs here and there.
10671 2006-07-05 Wim Taymans <wim@fluendo.com>
10673 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
10674 (gst_base_sink_loop), (gst_base_sink_get_position):
10675 When operating in pull mode update the offset so that we
10678 2006-07-05 Wim Taymans <wim@fluendo.com>
10680 * gst/gstregistryxml.c: (read_string):
10681 Avoid strdup. (will happen in libxml, but hey!)
10684 Add some more docs.
10686 2006-07-05 Wim Taymans <wim@fluendo.com>
10688 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
10689 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
10690 (gst_buffer_suite):
10691 No point in checking if the size of the subbuffer > 0, the
10692 code handles it correclty as demonstrated by unit test.
10693 Also add a unit test for the zero sized _new_and_alloc and
10694 _copy. Fixes #346663.
10696 2006-07-05 Wim Taymans <wim@fluendo.com>
10698 * libs/gst/base/gstbasetransform.c:
10699 (gst_base_transform_prepare_output_buffer),
10700 (gst_base_transform_buffer_alloc),
10701 (gst_base_transform_handle_buffer):
10702 Make sure the buffer we pass to transform_ip has a refcount of
10703 1 and thus is writable. Fixes #343196
10705 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
10707 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10708 (gst_file_src_init), (gst_file_src_set_property),
10709 (gst_file_src_get_property), (gst_file_src_map_region):
10710 * plugins/elements/gstfilesrc.h:
10711 Add "sequential" property, off by default, to use madvise and hint
10712 to the kernel that sequential access is desired.
10713 Touch all retrieved pages by default to ensure they are pulled
10714 into memory. (Closes #345720)
10716 2006-07-03 Wim Taymans <wim@fluendo.com>
10718 * docs/design/part-block.txt:
10719 * docs/design/part-dynamic.txt:
10720 Small docs updates.
10722 2006-07-03 Wim Taymans <wim@fluendo.com>
10724 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
10725 (gst_caps_unref), (gst_static_caps_get),
10726 (gst_caps_append_structure):
10727 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
10728 Use GSlice when the glib we build against is >= 2.10
10730 2006-07-03 Wim Taymans <wim@fluendo.com>
10732 * gst/gstelement.c: (gst_element_pads_activate):
10733 Small cleanup in pad activation code.
10735 2006-07-03 Wim Taymans <wim@fluendo.com>
10737 Patch by: Peter Kjellerstedt <pkj at axis dot com>
10739 * gst/gst-i18n-app.h:
10740 * gst/gst-i18n-lib.h:
10741 * tools/gst-inspect.c: (print_signal_info):
10742 The attached patch will make the inclusion of gettext.h unconditional in
10743 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
10744 libintl.h in tools/gst-inspect.c.
10745 This allows use of --disable-nls again and fixes #344642.
10747 2006-07-03 Edward Hervey <edward@fluendo.com>
10749 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
10750 Implement pad blocking on events according to part-block.txt.
10751 More comments on behaviour.
10752 * tests/check/gst/gstevent.c: (test_event):
10753 Send event to peer pad of blocked pad (else it will block).
10755 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
10757 * libs/gst/check/gstcheck.c: (gst_check_message_error),
10758 (gst_check_run_suite):
10759 if we get the wrong message, give us the types as string
10760 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10762 * tests/check/elements/filesrc.c: (GST_START_TEST):
10763 add a test for trying to open a non-existing file
10765 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
10767 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10768 add a test for adding self
10770 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
10772 * libs/gst/check/gstcheck.h:
10773 add some assert_ as alias for fail_unless_*
10774 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
10775 increase test coverage
10777 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10780 include lcov.mak for lcov coverage generation
10781 * tools/Makefile.am:
10784 2006-07-02 Edward Hervey <edward@fluendo.com>
10786 * tests/check/elements/.cvsignore:
10789 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10792 don't set CFLAGS and friends for gcov, done from GST_GCOV now
10793 * tests/check/Makefile.am:
10794 clean up gcov files
10796 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10798 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
10799 remove gst_caps_simplify; it was not declared and not used
10800 and deprecated in 0.8
10802 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10804 * docs/faq/gst-uninstalled:
10805 don't put empty paths on PYTHONPATH
10806 * docs/gst/gstreamer-sections.txt:
10807 remove some symbols that are not there
10809 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10811 * gst/gstcaps.c: (gst_caps_compare_structures):
10813 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10814 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10817 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10819 * libs/gst/dataprotocol/Makefile.am:
10820 build dataprotocol test by linking to the lib, instead of
10821 compiling the source, so we get coverage
10822 * tests/check/Makefile.am:
10823 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
10824 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
10825 add a test for filesrc
10827 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10829 * tests/check/gst/gststructure.c: (GST_START_TEST),
10830 (gst_structure_suite):
10831 Push coverage from 59.04% to 70.00%
10833 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10835 * tests/check/Makefile.am:
10836 gst-inspect every element; this makes sure that we also get
10837 coverage on element's get/set functions
10839 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10842 set CFLAGS and friends to -O0 if gcov is being used
10845 * libs/gst/base/Makefile.am:
10846 * libs/gst/check/Makefile.am:
10847 * libs/gst/controller/Makefile.am:
10848 * libs/gst/dataprotocol/Makefile.am:
10849 * libs/gst/net/Makefile.am:
10850 * plugins/elements/Makefile.am:
10851 * plugins/indexers/Makefile.am:
10852 add makefile rules to generate gcov data and clean up
10853 * tests/check/Makefile.am:
10854 add a coverage target that generates an html overview
10857 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
10859 * tests/check/elements/fakesink.c:
10860 * tests/check/elements/fakesrc.c:
10861 * tests/check/elements/fdsrc.c:
10862 * tests/check/elements/identity.c:
10863 * tests/check/generic/sinks.c: (gst_sinks_suite):
10864 * tests/check/generic/states.c:
10865 * tests/check/gst/gst.c:
10866 * tests/check/gst/gstabi.c:
10867 * tests/check/gst/gstbin.c:
10868 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
10869 * tests/check/gst/gstbus.c: (gst_bus_suite):
10870 * tests/check/gst/gstcaps.c: (GST_START_TEST):
10871 * tests/check/gst/gstelement.c:
10872 * tests/check/gst/gstevent.c: (gst_event_suite):
10873 * tests/check/gst/gstghostpad.c:
10874 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
10875 * tests/check/gst/gstmessage.c: (gst_message_suite):
10876 * tests/check/gst/gstminiobject.c:
10877 * tests/check/gst/gstobject.c:
10878 * tests/check/gst/gstpad.c:
10879 * tests/check/gst/gstpipeline.c:
10880 * tests/check/gst/gstplugin.c:
10881 * tests/check/gst/gstquery.c: (gst_query_suite):
10882 * tests/check/gst/gstsegment.c: (gst_segment_suite):
10883 * tests/check/gst/gststructure.c:
10884 * tests/check/gst/gstsystemclock.c:
10885 * tests/check/gst/gsttag.c:
10886 * tests/check/gst/gsttask.c: (gst_task_suite):
10887 * tests/check/gst/gstutils.c:
10888 * tests/check/gst/gstvalue.c:
10889 * tests/check/libs/adapter.c:
10890 * tests/check/libs/basesrc.c:
10891 * tests/check/libs/collectpads.c:
10892 * tests/check/libs/controller.c:
10893 * tests/check/libs/gdp.c: (gst_dp_suite):
10894 * tests/check/libs/gstnetclientclock.c:
10895 * tests/check/libs/gstnettimeprovider.c:
10896 * tests/check/libs/libsabi.c: (libsabi_suite):
10897 * tests/check/libs/typefindhelper.c:
10898 * tests/check/pipelines/cleanup.c:
10899 * tests/check/pipelines/parse-launch.c:
10900 * tests/check/pipelines/simple-launch-lines.c:
10901 * tests/check/pipelines/stress.c: (stress_suite):
10904 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
10906 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
10907 * libs/gst/check/gstcheck.h:
10908 create a macro and function so that the simple unit test
10909 case can be just one macro to create main()
10911 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
10913 * gst/gstbin.c: (gst_bin_restore_thyself):
10914 * gst/gstxml.c: (gst_xml_make_element):
10915 Fix deserialisation from XML. Set parent manually
10916 instead of using gst_bin_add(), since gst_bin_add()
10917 will unlink all pads of the element being added.
10920 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
10922 Patch by: Peter Kjellerstedt <pkj at axis com>
10924 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
10925 Fix missing g_strdup() and double free when using the
10926 --gst-plugin-load command line option (#346097).
10928 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
10931 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
10933 * libs/gst/net/gstnetclientclock.c:
10934 * libs/gst/net/gstnettimeprovider.c:
10935 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
10937 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
10939 * docs/manual/advanced-dataaccess.xml:
10940 Fix buffer probe example compilation in
10943 2006-06-22 Edward Hervey <edward@fluendo.com>
10945 * gst/gstelement.c: (gst_element_pads_activate):
10946 We need to deactivate src pads first and then sink pads.
10947 The reason is the src pads might be blocking while holding the streaming
10948 lock, so we need to deactivate them first so that deactivating the sink
10949 pads doesn't block (since it will require the streaming lock).
10951 2006-06-22 Wim Taymans <wim@fluendo.com>
10953 * libs/gst/base/gstbasetransform.c:
10954 (gst_base_transform_buffer_alloc):
10955 Forgot to remove two unneeded unrefs.
10956 Simplify a check _is_equal allready checks the obvious case.
10958 2006-06-22 Wim Taymans <wim@fluendo.com>
10960 * docs/design/part-block.txt:
10961 Some docs about what pad_block should do.
10963 2006-06-22 Wim Taymans <wim@fluendo.com>
10965 * gst/gstcaps.c: (gst_caps_replace):
10966 Fix crasher when passed NULL. Doc clarification.
10967 Optimize for the trivial case.
10969 * gst/gstpipeline.c: (gst_pipeline_change_state):
10972 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10973 Small documentation cleanup.
10975 * libs/gst/base/gstbasetransform.c:
10976 (gst_base_transform_buffer_alloc):
10977 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
10978 is what we need and it avoids a whole lot of redundant
10979 refcount operations.
10981 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
10983 Patch by: Philip Jägenstedt <philip at lysator liu se>
10985 * docs/manual/advanced-dataaccess.xml:
10986 Fix 'Embedding static elements' section to use
10987 GST_PLUGIN_DEFINE_STATIC (#345607).
10989 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
10991 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
10992 Attempt to 'fix' spuriously failing test case: it seems like the
10993 timeout of half a second is simply too small when the system is under
10994 load otherwise, and the timeout doesn't really seem to serve any
10995 particular purpose here. Give the pipeline a few seconds to preroll
10996 first, and then give it another half a second to go from PAUSED to
10997 PLAYING and marshal the message into the main thread.
10999 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
11001 * tools/gst-feedback-m.m:
11002 Don't only use unversioned tools, try versioned tools as well
11005 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
11007 * gst/gstbus.c: (gst_bus_class_init):
11008 Fix some typos, make docs more explicit.
11010 2006-06-20 Wim Taymans <wim@fluendo.com>
11012 * tests/check/gst/gstghostpad.c: (block_callback),
11013 (GST_START_TEST), (gst_ghost_pad_suite):
11014 Added some more ghostpad tests, mainly blocking
11017 2006-06-16 Wim Taymans <wim@fluendo.com>
11019 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11020 (gst_file_sink_close_file), (gst_file_sink_do_seek),
11021 (gst_file_sink_event), (gst_file_sink_render):
11022 * plugins/elements/gstfilesink.h:
11023 Check if we can seek in the file instead of assuming
11024 we always can. Post an error when we are asked to seek in a
11025 non-seekable file (like a fifo). Fixes #343312.
11028 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
11030 * tools/gst-launch.1.in:
11031 Un-garble (fourcc) bit in filtered caps section.
11033 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
11035 * docs/manual/advanced-autoplugging.xml:
11036 * docs/manual/basics-helloworld.xml:
11037 * docs/manual/highlevel-components.xml:
11038 Don't leak bus reference in sample code.
11040 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
11043 Add default for new --enable-plugin-docs switch.
11046 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
11049 * docs/Makefile.am:
11050 Use new ENABLE_PLUGIN_DOCS conditional.
11052 2006-06-14 Wim Taymans <wim@fluendo.com>
11054 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
11055 Make it clear with a FIXME and a real define what the #if 0
11056 previously disabled.
11058 2006-06-14 Wim Taymans <wim@fluendo.com>
11060 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11061 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11062 * libs/gst/base/gstbasetransform.c:
11063 (gst_base_transform_sink_eventfunc):
11064 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11065 Don't randomly and silently reset a segment when the format
11066 changes as this is a bug somewhere upstream. Fixes #330379.
11068 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
11070 Patch by: Wouter Paesen <wouter at kangaroot net>
11072 * libs/gst/controller/gstcontroller.c:
11073 (gst_controlled_property_new):
11074 Fix controlling of float properties (#344849).
11076 * tests/check/libs/controller.c:
11077 (gst_test_mono_source_get_property),
11078 (gst_test_mono_source_set_property),
11079 (gst_test_mono_source_class_init), (GST_START_TEST):
11080 While we're at it, add some float stuff to unit test.
11082 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
11085 * docs/images/gdp-header.svg:
11087 * docs/libs/Makefile.am:
11088 * docs/libs/gdp-header.png:
11089 * libs/gst/dataprotocol/dataprotocol.c:
11090 add it to the API docs
11091 * docs/manual/intro-motivation.xml:
11094 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
11096 * gst/gst.c: (scan_and_update_registry), (init_post):
11097 If the fork()'ed child process can't write the updated registry cache
11098 file to disk for some reason, make it exit with a failure exit code,
11099 so that the parent can then re-scan the plugins itself and update the
11100 registry structures in memory and work with that (rather than failing
11101 when creating elements because seemingly no plugins are available).
11102 Refactor registry scanning code into separate function for this and
11103 also separate fork() and non-fork() code paths. Fixes #344748.
11105 2006-06-13 Wim Taymans <wim@fluendo.com>
11107 * docs/manual/advanced-dataaccess.xml:
11108 Fix wrong PluginDesc. Fixes #344755.
11110 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
11112 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11113 Fix silly bug that prevented us from creating
11114 ~/.gstreamer-0.10 and writing the registry in one
11115 go (the first call to g_mkstemp() would overwrite the
11116 placeholder in the template string, so the second call
11117 to g_mkstemp() after creating the missing directory
11118 would then error out with 'invalid argument').
11120 2006-06-13 Edward Hervey <edward@fluendo.com>
11122 * gst/gst.c: (init_post):
11125 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
11127 * gst/glib-compat-private.h:
11128 * gst/glib-compat.c:
11129 * gst/glib-compat.h:
11130 * gst/gstvalue.c: (gst_value_serialize_flags):
11131 remove GLib 2.6 compatibility code
11133 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
11135 * gst/parse/Makefile.am:
11136 Fix build with 'make -j N' even more (#340016).
11138 2006-06-12 Wim Taymans <wim@fluendo.com>
11140 * docs/gst/gstreamer-sections.txt:
11143 2006-06-12 Wim Taymans <wim@fluendo.com>
11145 * gst/gstsegment.c: (gst_segment_set_duration),
11146 (gst_segment_set_last_stop), (gst_segment_set_seek),
11147 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11148 (gst_segment_to_running_time), (gst_segment_clip):
11149 Use G_UNLIKELY to help the compiler a bit.
11151 2006-06-12 Wim Taymans <wim@fluendo.com>
11153 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11155 * gst/gstevent.c: (gst_event_get_type):
11156 * gst/gstmessage.c:
11157 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11159 constify quark registration strings. Fixes #344115
11160 Avoid unneeded type checking is _pad_push() by internally
11161 calling gst_pad_chain_unchecked().
11163 2006-06-12 Wim Taymans <wim@fluendo.com>
11165 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
11166 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
11167 (gst_subbuffer_finalize), (gst_buffer_create_sub),
11168 (gst_buffer_is_span_fast), (gst_buffer_span):
11169 Init _type for consistency.
11170 Use _FLAGS macro to avoid type check.
11171 Avoid unneeded type checks in subbufer code.
11173 2006-06-12 Wim Taymans <wim@fluendo.com>
11175 * gst/gst.c: (gst_debug_help):
11176 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
11177 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
11178 (gst_plugin_feature_list_free):
11179 * gst/gstregistry.c: (gst_registry_add_plugin),
11180 (gst_registry_add_feature), (gst_registry_plugin_filter),
11181 (gst_registry_feature_filter), (gst_registry_find_plugin),
11182 (gst_registry_find_feature), (gst_registry_get_plugin_list),
11183 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
11184 * gst/gstregistryxml.c: (load_feature),
11185 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
11186 * gst/gstminiobject.c: (gst_mini_object_unref),
11187 (gst_mini_object_replace), (gst_value_mini_object_free),
11188 (gst_value_mini_object_copy):
11189 Use _CAST macros to avoid unneeded type checking.
11190 Added some more G_UNLIKELY.
11192 2006-06-12 Wim Taymans <wim@fluendo.com>
11195 Avoid unneeded type checking.
11196 API: GST_BUFFER_IS_DISCONT
11198 * gst/gstminiobject.h:
11199 Avoid type check in flag accessor.
11201 * gst/gstelementfactory.h:
11203 * gst/gstpluginfeature.h:
11205 API: GST_ELEMENT_FACTORY_CAST
11206 API: GST_PLUGIN_CAST
11207 API: GST_PLUGIN_FEATURE_CAST
11209 2006-06-12 Wim Taymans <wim@fluendo.com>
11211 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
11212 (gst_object_unref):
11213 Add G_UNLIKELY in type registration.
11214 Avoid type check in _ref/_unref since that is also
11217 2006-06-12 Wim Taymans <wim@fluendo.com>
11219 * gst/gsterror.c: (gst_g_error_get_type):
11220 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11221 (gst_static_pad_template_get_type):
11222 * gst/gsttaglist.c: (gst_tag_list_get_type):
11223 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
11224 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
11225 * gst/gsturi.c: (gst_uri_handler_get_type):
11226 * gst/gstvalue.c: (gst_date_get_type):
11227 * gst/gstxml.c: (gst_xml_get_type):
11228 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
11229 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11230 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
11231 Add G_UNLIKELY in type registration.
11233 2006-06-12 Wim Taymans <wim@fluendo.com>
11235 * tools/gst-inspect.c: (print_signal_info):
11236 Properly print enum values.
11238 2006-06-12 Wim Taymans <wim@fluendo.com>
11240 * gst/gstinfo.c: (gst_debug_set_active),
11241 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
11243 Add some G_[UN]LIKELY.
11244 Maintain __gst_debug_min to avoid formatting the arguments of
11245 debug messages that will be dropped anyway to avoid a lot of
11246 overhead from the debugging system.
11248 2006-06-11 Stefan Kost <ensonic@users.sf.net>
11251 * po/POTFILES.skip:
11252 add missing files containing translatable strings, tell intltool about
11255 2006-06-11 Stefan Kost <ensonic@users.sf.net>
11257 * tests/check/libs/.cvsignore:
11258 add test-binary to ignore list
11260 2006-06-11 Stefan Kost <ensonic@users.sf.net>
11262 * docs/libs/gstreamer-libs-docs.sgml:
11263 reorder (put dp into a chapter) and indent
11265 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11270 === release 0.10.8 ===
11272 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11275 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
11277 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11279 * gst/gst.c: (init_post):
11280 move pid declaration to declaration block
11282 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11284 * gst/gst.c: (init_post):
11285 use _exit() instead of exit() in our forked child; this ensures
11286 that none of the registered exit handlers from whatever is using
11287 GStreamer get executed. This fixes gnome-mixer-applet failing
11288 to load, because ORBit would shut down.
11289 Spotted by: Edward Hervey <edward@fluendo.com>
11290 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
11293 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11298 === release 0.10.7 ===
11300 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11303 releasing 0.10.7, "Soepeke, ik zie ou"
11305 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
11328 * win32/common/config.h:
11329 0.10.6.2 prerelease
11331 2006-06-07 Wim Taymans <wim@fluendo.com>
11333 * gst/gstindex.c: (gst_index_gtype_resolver):
11334 * tools/gst-xmlinspect.c: (print_plugin_info):
11335 Fix leak spotted by coverity checker. Fixes #343827
11336 Fix another other leak found by paolo borelli.
11338 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11340 * libs/gst/dataprotocol/dataprotocol.c:
11341 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11342 (gst_dp_version_get_type), (gst_dp_init),
11343 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
11344 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
11345 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
11346 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
11347 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
11348 (gst_dp_packetizer_free):
11349 * libs/gst/dataprotocol/dataprotocol.h:
11350 API: add a GstDPPacketizer object, and create/free functions
11351 API: add GstDPVersion enum
11352 Add 1.0 event function that uses the string serialization
11353 Serialize more useful buffer flags
11356 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11358 * tests/check/Makefile.am:
11359 * tests/check/gst/gstabi.c:
11360 * tests/check/gst/struct_ppc64.h:
11361 * tests/check/libs/libsabi.c:
11362 * tests/check/libs/struct_ppc64.h:
11363 add ppc64 structure sizes
11365 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11367 * tests/check/Makefile.am:
11368 * tests/check/gst/gstabi.c:
11369 * tests/check/gst/struct_x86_64.h:
11370 * tests/check/libs/libsabi.c:
11371 * tests/check/libs/struct_x86_64.h:
11372 generate and add structure size lists for x86_64
11374 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11376 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
11377 * libs/gst/check/gstcheck.h:
11378 factor out the method from tests that checks size of structures,
11379 and add code to generate the header containing these sizes
11380 * tests/check/gst/gstabi.c: (GST_START_TEST):
11381 * tests/check/gst/struct_i386.h:
11382 * tests/check/libs/libsabi.c: (GST_START_TEST):
11383 * tests/check/libs/struct_i386.h:
11386 2006-06-06 Michael Smith <msmith@fluendo.com>
11388 * gst/gstsegment.h:
11389 Don't use c++-style comments, fixes #343929
11391 2006-06-05 Edward Hervey <edward@fluendo.com>
11394 plugin_paths is not used if we build without registry support.
11396 * gst/gstsegment.c: (gst_segment_copy):
11397 _copy() was always returning NULL...
11399 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11401 * libs/gst/dataprotocol/dataprotocol.c:
11402 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11403 (gst_dp_packet_from_event):
11404 factor out CRC code
11406 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11408 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
11409 make sure we unset caps
11411 2006-06-02 Michael Smith <msmith@fluendo.com>
11413 * libs/gst/check/gstcheck.c: (gst_check_init),
11414 (gst_check_chain_func):
11415 * libs/gst/check/gstcheck.h:
11416 Add a cond/mutex to the check support lib, signal this whenever we
11417 add to the buffers list. This will allow tests to not busy-wait on
11420 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11422 * libs/gst/dataprotocol/dataprotocol.c:
11423 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11424 (gst_dp_packet_from_event):
11425 factor out some common header init code
11427 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11429 * docs/libs/gstreamer-libs-sections.txt:
11430 * docs/libs/tmpl/gstdataprotocol.sgml:
11431 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
11432 * libs/gst/dataprotocol/dataprotocol.h:
11433 API: make gst_dp_crc() public
11435 2006-06-01 Stefan Kost <ensonic@users.sf.net>
11437 * plugins/indexers/gstindexers.c: (plugin_init):
11438 conditionally register fileindexer (fixes #343598)
11440 2006-06-01 Stefan Kost <ensonic@users.sf.net>
11442 * gst/gsttagsetter.h:
11443 Can't cast ifaces to a class
11445 * libs/gst/net/gstnetclientclock.h:
11446 * libs/gst/net/gstnettimeprovider.h:
11447 * plugins/elements/gstfakesink.h:
11448 * plugins/elements/gstfakesrc.h:
11449 * plugins/elements/gstfdsink.h:
11450 * plugins/elements/gstfdsrc.h:
11451 * plugins/elements/gstfilesink.h:
11452 * plugins/elements/gstfilesrc.h:
11453 * plugins/elements/gstidentity.h:
11454 * plugins/elements/gstqueue.h:
11455 * plugins/elements/gsttee.h:
11456 * plugins/indexers/gstfileindex.c:
11457 * plugins/indexers/gstmemindex.c:
11458 * tests/old/examples/plugins/example.h:
11459 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
11461 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
11463 * libs/gst/dataprotocol/dataprotocol.c:
11464 (gst_dp_header_from_buffer):
11465 make sure we zero the whole ABI-compatible area
11467 2006-06-01 Wim Taymans <wim@fluendo.com>
11469 Patch by: Alessandro Decina <alessandro at nnva dot org>
11471 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
11472 Make sure the EOS flag is cleared from pads after a flush
11473 or stop. Fixes #343538.
11475 * tests/check/libs/collectpads.c: (GST_START_TEST),
11476 (gst_collect_pads_suite):
11477 Added test for collectpads reusage after EOS.
11479 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
11482 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
11483 * win32/common/libgstbase.def:
11484 export gst_collect_pads_set_flushing
11485 * win32/common/libgstreamer.def:
11486 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
11487 gst_value_fraction_multiply
11488 * win32/vs6/gst_inspect.dsp:
11489 add a link to intl.lib
11491 2006-05-30 Wim Taymans <wim@fluendo.com>
11493 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11494 (gst_collect_pads_chain):
11495 Handle the case where a pad is removed from the collection
11496 that could cause the other pads to become collectable.
11498 2006-05-30 Wim Taymans <wim@fluendo.com>
11500 * gst/gstelement.c:
11501 Clarify the use of _release_request_pad() and
11502 _get_request_pad() a bit better.
11504 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
11505 (gst_adapter_take_buffer):
11506 Fix some doc and comment typos.
11508 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11510 * docs/gst/gstreamer-sections.txt:
11511 * docs/libs/gstreamer-libs-sections.txt:
11512 add declared symbols
11514 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
11516 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11517 Add debug that can be enabled using a #define at the top of the file,
11518 for dumping stats about how late/early we were when waking up from
11519 waiting on the clock.
11521 2006-05-30 Wim Taymans <wim@fluendo.com>
11523 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
11524 When rebuilding the pad list, don't leak the previous list.
11526 2006-05-30 Wim Taymans <wim@fluendo.com>
11528 Patch by: Lutz Mueller <lutz at topfrose dot de>
11530 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11531 (gst_base_src_get_query_types), (gst_base_src_update_length):
11532 Publish supported query types.
11533 Update last_stop field in get_range mode so the position
11534 query works. Fixes #342321.
11536 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
11538 * docs/gst/gstreamer-sections.txt:
11539 * gst/gsttaglist.c: (_gst_tag_initialize):
11540 * gst/gsttaglist.h:
11541 API: add GST_TAG_PREVIEW_IMAGE (#343341).
11543 2006-05-30 Wim Taymans <wim@fluendo.com>
11545 Patch by: Alessandro Decina <alessandro at nnva dot org>
11547 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11548 Unlock mutex when removing an unknown pad.
11551 * tests/check/Makefile.am:
11552 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
11553 (push_event), (setup), (teardown), (GST_START_TEST),
11554 (gst_collect_pads_suite), (main):
11555 Added collecpads check, disabled for now as check crashes for
11558 2006-05-29 Wim Taymans <wim@fluendo.com>
11560 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
11561 Don't leak pads lists.
11563 2006-05-29 Wim Taymans <wim@fluendo.com>
11565 * docs/libs/gstreamer-libs-sections.txt:
11566 * libs/gst/base/gstcollectpads.c:
11567 (gst_collect_pads_set_flushing_unlocked),
11568 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11569 (gst_collect_pads_stop):
11570 * libs/gst/base/gstcollectpads.h:
11571 API: gst_collect_pads_set_flushing()
11572 Added api to set the pads to flushing, useful for seeking
11573 code in elements using collectpads.
11574 Clear segment when receiving a flush.
11576 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
11578 * gst/gst.c: (add_path_func), (init_post):
11579 Don't scan registry paths passed via --gst-plugin-path immediately
11580 (will crash, because absolutely nothing is set up and no types are
11581 registered etc.); do this later in init_post(). Fixes #343057.
11583 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
11585 * gst/gst.c: (init_post):
11586 if we have fork, fork while reading/rebuilding the registry
11587 so the parent doesn't take the hit of having all plugins loaded
11588 in memory. Fixes #342777.
11590 Check if we have fork()
11591 * win32/common/config.h.in:
11594 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
11596 * plugins/elements/gstelements.c:
11597 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11598 (gst_file_src_init), (gst_file_src_set_property),
11599 (gst_file_src_get_property), (gst_file_src_start):
11600 * plugins/elements/gstfilesrc.h:
11601 API: GstFileSrc::use-mmap
11603 Add a use-mmap property to enable easier testing of all code paths.
11604 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
11605 in the absence of gnomevfssrc. (Closes #340501)
11607 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11609 * tools/gst-inspect.c:
11610 Add missing include, removes warning of ngettext not being defined on
11613 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
11615 * gst/gstvalue.c: (gst_value_deserialize_fraction):
11616 Handle NULL input and output pointers silently as a failed conversion,
11617 rather than g_warnings.
11619 2006-05-25 Wim Taymans <wim@fluendo.com>
11621 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
11622 Initialize variable before using. Fixes #342820.
11624 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
11626 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
11627 Fix off-by-one bug that would only allow peeks of N-1 bytes
11628 from the start even if the buffer to typefind on contains
11629 in fact N bytes of data (makes vorbis typefinding from a
11630 vorbis identification header buffer work).
11632 * tests/check/Makefile.am:
11633 * tests/check/libs/.cvsignore:
11634 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
11635 (gst_typefindhelper_suite), (main), (foobar_typefind),
11637 Add very basic unit test for gst_type_find_helper_for_buffer()
11638 that checks for the problem fixed above.
11640 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
11642 * tools/gst-inspect.c: (print_interfaces),
11643 (print_element_properties_info), (print_element_list), (main):
11644 add more translatable strings
11646 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
11648 Patch by: Julien Moutte <julien at moutte net>
11650 * docs/gst/gstreamer-sections.txt:
11651 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
11653 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
11654 (gst_fake_sink_preroll):
11655 * plugins/elements/gstfakesink.h:
11656 API: Add new GstFakeSink::preroll-handoff signal (#337100).
11658 2006-05-23 Wim Taymans <wim@fluendo.com>
11660 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
11662 Added _CUSTOM error and success GstFlowReturn that can be
11663 used be elements internally.
11664 Added macro to check for SUCCESS flowreturns.
11665 API: GST_FLOW_CUSTOM_SUCCESS
11666 API: GST_FLOW_CUSTOM_ERROR
11667 API: GST_FLOW_IS_SUCCESS
11669 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
11670 Added check for GstFlowReturn sanity.
11672 2006-05-23 Wim Taymans <wim@fluendo.com>
11674 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11676 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11677 (gst_collect_pads_event):
11678 clear/reset segment info in FLUSH_STOP.
11681 2006-05-22 Stefan Kost <ensonic@users.sf.net>
11683 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
11684 (gst_collect_pads_check_collected):
11685 Flush queued buffer on _stop(), fixes playing again (#342454)
11687 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
11689 * tests/check/gst/gststructure.c: (GST_START_TEST),
11690 (gst_structure_suite):
11691 add a test for a complete structure
11693 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
11695 * docs/faq/developing.xml:
11696 * docs/faq/faq.xml:
11697 * docs/faq/troubleshooting.xml:
11698 * docs/faq/using.xml:
11699 Some minor FAQ updates that won't change the fact that
11700 our FAQ is badly structured, full of information hardly
11701 anyone new to GStreamer needs to know and lacking lots
11702 of information people constantly ask for.
11704 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
11706 * gst/gstpad.c: (gst_pad_set_caps):
11707 Short-circuit gst_pad_set_caps if setting the existing
11708 caps pointer again, and avoid printing debug and
11709 reffing/unreffing the caps.
11711 * plugins/elements/gstqueue.c: (gst_queue_push_one):
11712 There's actually no need to set the caps before pushing -
11713 the acceptcaps method will handle it anyway.
11715 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
11717 * docs/gst/gstreamer-sections.txt:
11718 * win32/common/libgstreamer.def:
11719 * gst/gstutils.c: (gst_element_seek_simple):
11721 API: add gst_element_seek_simple() (#342238).
11723 2006-05-18 Edward Hervey <edward@fluendo.com>
11725 * gst/gsttypefind.c: (gst_type_find_get_type):
11726 * gst/gsttypefind.h:
11727 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
11728 registered for GstTypeFind pointers. This allows wrapping the structure
11729 in bindings (i.e. gst-python).
11731 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
11733 * gst/gsttagsetter.c:
11734 Docs additions and fixes (see #339918).
11736 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11738 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11739 The caps intersection algorithm can produce multiple copies of the
11740 caps. Until that is fixed, we need to simplify the result to be
11741 sure whether the allowed caps are fixed or not.
11743 * plugins/elements/gstqueue.c: (gst_queue_init),
11744 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
11745 (gst_queue_push_one):
11746 Proxied buffer alloc should not set the caps on the source pad.
11747 When pushing buffers, we always accept the caps change that triggers.
11748 This prevents negotiation errors caused by caps changing mid-stream
11749 and then being refused on our source pad (because upstream is now
11750 refusing those caps).
11752 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
11754 * tests/examples/helloworld/helloworld.c: (main):
11755 Must plug audioconvert and audioresample between decoder
11758 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
11760 * gst/gstregistryxml.c: (read_string), (load_pad_template),
11761 (load_feature), (load_plugin):
11762 Allow empty strings for some of the plugin fields so we don't
11763 drop valid plugin entries that were written out correctly
11766 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
11768 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11769 Use g_remove and g_rename instead of remove and rename that don't
11770 handle utf8 characters. rename was failing for users who had specific
11771 characters in their name then the registry was built at each
11773 * win32/vs6/gst_inspect.dsp:
11774 * win32/vs6/gst_launch.dsp:
11775 * win32/vs6/libgstbase.dsp:
11776 * win32/vs6/libgstcoreelements.dsp:
11777 * win32/vs6/libgstreamer.dsp:
11778 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
11779 build of libgstreamer and clean unused libraries in projects link
11782 2006-05-17 Edward Hervey <edward@fluendo.com>
11784 * plugins/elements/gstqueue.c: (gst_queue_push_one):
11785 The queue is not responsible for pushing an EOS when receiving a fatal
11786 flow error. It's up to the real element driving the pipeline to do that.
11788 2006-05-16 Edward Hervey <edward@fluendo.com>
11790 * plugins/elements/gstqueue.c: (gst_queue_push_one):
11791 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
11792 buffer returned a fatal error. It should just send an EOS and stop
11794 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
11795 when pushing buffers on the queue and will be able to handle the event.
11797 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
11799 * docs/manual/basics-bins.xml:
11800 * docs/manual/basics-init.xml:
11801 Fix typos and minor errors in sample code (#341856).
11803 2006-05-16 Wim Taymans <wim@fluendo.com>
11805 * docs/design/part-qos.txt:
11806 Fix indexes in formulas to make more sense.
11808 2006-05-15 Wim Taymans <wim@fluendo.com>
11810 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11811 Don't report POSITION based on clock time if sync is
11812 disabled in a sink.
11814 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
11817 Add cast to make compiler happy - refcount variable was a gint
11818 in GstObject but is a guint in GObject and g_atomic_int_get()
11821 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
11823 * gst/parse/Makefile.am:
11824 chain commands using &&, which also makes parallel make work
11826 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
11828 * docs/gst/gstreamer-sections.txt:
11831 * gst/gstmessage.h:
11834 === release 0.10.6 ===
11836 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
11839 releasing 0.10.6, "Take the cannoli"
11841 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
11843 * tools/gst-launch.c: (print_tag):
11844 Fix use of uninitialized variable in the hypothetical
11845 case that some broken plugin creates a GST_TAG_IMAGE
11846 tag containing a NULL buffer (#341667).
11848 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
11850 * tools/gst-launch.c: (print_tag):
11851 Print something more intelligible for image tags when
11852 using the -t switch (#341556).
11854 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
11859 define GST_MAJORMINOR so we have it available in win32/common/config.h
11860 Possibly remove it from our Makefile.am files later
11861 * win32/common/config.h:
11862 * win32/common/config.h.in:
11863 added GST_MAJORMINOR
11864 * win32/common/gstenumtypes.c: (register_gst_resource_error):
11865 * win32/common/gstversion.h:
11868 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
11871 Update win32 files listing.
11872 * win32/common/gstversion.h:
11873 Add GST_MAJORMINOR definition.
11874 * win32/common/libgstreamer.def:
11875 Add new exported functions.
11877 2006-05-12 Michael Smith <msmith@fluendo.com>
11879 * gst/gstplugin.c: (gst_plugin_load_file):
11880 If an so file has no plugin entry point, unload the module.
11882 2006-05-11 Wim Taymans <wim@fluendo.com>
11884 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
11885 (gst_queue_set_property):
11886 Don't forget to signal the _chain or _loop function
11887 when the queue size or thresholds change since that might
11888 cause them to make progres again.
11890 2006-05-11 Stefan Kost <ensonic@users.sf.net>
11892 * gst/gstclock.c: (gst_clock_class_init):
11893 * gst/gstindex.c: (gst_index_class_init):
11894 * gst/gstobject.c: (gst_object_class_init):
11895 * gst/gstpad.c: (gst_pad_class_init):
11896 * gst/gstpipeline.c: (gst_pipeline_class_init):
11897 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11898 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
11899 * libs/gst/base/gstbasetransform.c:
11900 (gst_base_transform_class_init):
11901 * libs/gst/net/gstnetclientclock.c:
11902 (gst_net_client_clock_class_init):
11903 * libs/gst/net/gstnettimeprovider.c:
11904 (gst_net_time_provider_class_init):
11905 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
11906 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11907 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11908 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
11909 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11910 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11911 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11912 * plugins/elements/gstidentity.c: (gst_identity_class_init):
11913 * plugins/elements/gsttee.c: (gst_tee_class_init):
11914 * tests/old/examples/plugins/example.c: (gst_example_class_init):
11915 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11916 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
11918 2006-05-11 Wim Taymans <wim@fluendo.com>
11920 * gst/gstbuffer.c: (_gst_buffer_initialize):
11921 Register subbufer along with the buffer type so that
11922 it does not accidentally gets registered from N
11923 different streaming threads in a non threadsafe way.
11925 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
11929 * gst/gstmessage.h:
11930 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
11931 gst_event_ref() and gst_message_ref() functions again
11932 (ugly hack, please do fix if there's a better way besides
11933 overrides.txt, which doesn't seem to work).
11935 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11937 * libs/gst/check/gstcheck.h:
11938 add an assert for setting state to avoid lots of repetitive code
11941 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11943 * gst/gstvalue.c: (gst_value_serialize_flags):
11944 fix a leak if no flags are set
11945 * tests/check/gst/gstvalue.c: (GST_START_TEST):
11948 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
11950 * docs/manual/basics-pads.xml:
11951 Expand a bit on caps and filtered links and update
11952 examples that were still using the no longer existing
11953 gst_pad_link_filtered() (#338206).
11955 2006-05-10 Wim Taymans <wim@fluendo.com>
11957 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11958 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11959 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11960 (gst_collect_pads_stop):
11961 * libs/gst/base/gstcollectpads.h:
11962 No need to call _stop in _finalize.
11963 Iterate the main pad list in _finalize.
11964 Added some more debug.
11965 Free lists and data in the right order.
11966 Also free data whem doing _remove_pad when stopped for
11967 backward compatibility protect ::started with PAD_LOCK as
11970 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11972 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
11973 (gst_structure_parse_value):
11975 rename a method so that it actually says what it does better
11977 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11979 * gst/gstevent.c: (_gst_event_initialize):
11980 * gst/gstformat.c: (_gst_format_initialize):
11981 make sure some essential types used by events are registered
11982 as part of gst_init()
11983 * gst/gstvalue.c: (gst_value_serialize_flags):
11984 if no flags are set, serialize them to a value that represents NONE
11985 so that deserializing them works
11986 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11987 add tests for serialization and deserialization of flags
11989 2006-05-10 Wim Taymans <wim@fluendo.com>
11991 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
11992 (gst_collect_pads_collect_range), (gst_collect_pads_available),
11993 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
11994 (gst_collect_pads_event), (gst_collect_pads_chain):
11997 Catch and return errors from the collect function
11998 Refuse data on eos pads.
12000 2006-05-10 Edward Hervey <edward@fluendo.com>
12002 * gst/gstinterface.h:
12003 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
12004 GInterface type checking.
12005 They were previously using non-defined macros.
12007 2006-05-09 Wim Taymans <wim@fluendo.com>
12009 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
12010 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
12011 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
12012 (gst_collect_pads_start), (gst_collect_pads_stop),
12013 (gst_collect_pads_peek), (gst_collect_pads_pop),
12014 (gst_collect_pads_available), (gst_collect_pads_read),
12015 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
12016 (gst_collect_pads_is_collected), (gst_collect_pads_event),
12017 (gst_collect_pads_chain):
12018 * libs/gst/base/gstcollectpads.h:
12019 Clean up the mess that is collectpads, add comments and
12020 FIXMEs where needed.
12021 Maintain a separate pad list so we can add pads while
12022 collecting the other ones. For this we need a new separate
12024 Fix memory leak in finalize.
12025 Refactor some weird code to set/unset pad flushing flags, mark
12027 Don't crash in _available, _read, _flush when we're EOS.
12029 * tests/check/libs/.cvsignore:
12030 Ignore adapter check binary.
12032 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12034 * gst/gstindex.c: (gst_index_resolver_get_type):
12035 * plugins/elements/gstfakesink.c:
12036 (gst_fake_sink_state_error_get_type):
12037 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12038 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
12039 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
12040 Const-ify GEnumValue arrays.
12042 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12044 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12045 Add test case for flags + gst_buffer_make_metadata_writable().
12047 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12049 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
12050 gst_buffer_make_metadata_writable() should maintain the
12051 buffer flags (those that make sense at least) (see #340859).
12053 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12055 * tools/gst-inspect.c:
12056 * tools/gst-launch.c:
12057 * tools/gst-typefind.c:
12058 * tools/gst-xmlinspect.c:
12060 Fix up includes: need to include stdlib.h in tools.h for exit().
12062 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12064 * gst/gsttaglist.c: (_gst_tag_initialize):
12065 * gst/gsttaglist.h:
12066 API: add GST_TAG_IMAGE tag (#340721).
12068 2006-05-08 Wim Taymans <wim@fluendo.com>
12071 Added some docs for the segment query.
12073 2006-05-08 Wim Taymans <wim@fluendo.com>
12075 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12076 (gst_base_src_loop), (gst_base_src_change_state):
12077 Always push non-flushing serialized events in the streaming
12080 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
12082 * gst/gsterror.c: (_gst_stream_errors_init):
12083 Add a missing error string.
12085 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
12087 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
12088 Add applied_rate to the debug
12090 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12091 Copy applied_rate into the outgoing NEWSEGMENT event
12093 2006-05-08 Wim Taymans <wim@fluendo.com>
12095 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
12097 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
12098 (gst_base_sink_change_state):
12099 call ::unlock before taking the PREROLL_LOCK so we can safely
12100 handle elements that lock in ::render.
12103 2006-05-08 Edward Hervey <edward@fluendo.com>
12105 * autogen.sh: (CONFIGURE_DEF_OPT):
12106 Darwin's libtoolize is in fact called glibtoolize.
12107 Adding glibtoolize to the list of accepted names for libtoolize.
12109 2006-05-08 Wim Taymans <wim@fluendo.com>
12111 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12112 Unify error handling, don't post an error message
12113 when a push() returns EOS but perform our normal EOS
12114 handling code. Fixes #340772.
12116 2006-05-08 Wim Taymans <wim@fluendo.com>
12118 * docs/design/part-overview.txt:
12119 Make upsteam/downstream concepts more clear.
12120 Give an example of serialized/non-serialized events.
12122 * docs/design/part-events.txt:
12123 * docs/design/part-streams.txt:
12124 Mention applied_rate.
12126 * docs/design/part-trickmodes.txt:
12127 Mention applied rate, flesh out some more use cases.
12129 * gst/gstevent.c: (gst_event_new_new_segment),
12130 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
12131 (gst_event_parse_new_segment_full), (gst_event_new_tag),
12132 (gst_event_parse_tag), (gst_event_new_buffer_size),
12133 (gst_event_parse_buffer_size), (gst_event_new_qos),
12134 (gst_event_parse_qos), (gst_event_parse_seek),
12135 (gst_event_new_navigation):
12137 Add applied_rate field to NEWSEGMENT event.
12138 API: gst_event_new_new_segment_full()
12139 API: gst_event_parse_new_segment_full()
12141 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
12142 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
12143 (gst_segment_to_stream_time), (gst_segment_to_running_time):
12144 * gst/gstsegment.h:
12145 Add applied_rate to GstSegment structure.
12146 Make calculation of stream_time and running_time more correct
12147 wrt rate/applied_rate.
12148 Add some more docs.
12149 API: GstSegment::applied_rate field
12150 API: gst_segment_set_newsegment_full();
12152 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12153 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
12154 * libs/gst/base/gstbasetransform.c:
12155 (gst_base_transform_sink_eventfunc),
12156 (gst_base_transform_handle_buffer):
12157 Parse and use applied_rate in the GstSegment field.
12159 * tests/check/gst/gstevent.c: (GST_START_TEST):
12160 Add check for applied_rate field.
12162 * tests/check/gst/gstsegment.c: (GST_START_TEST),
12163 (gstsegments_suite):
12164 Add more checks for various GstSegment operations.
12166 2006-05-08 Wim Taymans <wim@fluendo.com>
12168 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12169 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
12170 (gst_base_sink_get_position), (gst_base_sink_change_state):
12171 Store the sync time of the buffer end position separatly in a
12172 new variable eos_rtime so we can properly sync the EOS event.
12174 Fix the docs for gst_base_sink_set_qos_enabled().
12175 Don't set segment start to invalid value when we receive a
12176 non TIME newsegment.
12177 get closer to handling position reporting for negative rates
12180 2006-05-07 Stefan Kost <ensonic@users.sf.net>
12183 Docs about how to print caps for debug purposes.
12185 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
12186 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
12188 2006-05-07 Stefan Kost <ensonic@users.sf.net>
12190 * gst/gstelement.c:
12191 use full enum names and preprend a '%' in docs strings to make recent
12192 gtk-doc turn that into a link
12194 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12196 * docs/manual/basics-bins.xml:
12197 * docs/manual/basics-bus.xml:
12198 * docs/manual/basics-pads.xml:
12199 Some typo fixes, some additions, some clarifications.
12201 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12203 * tools/gst-inspect.c: (main):
12204 * tools/gst-launch.c: (main):
12205 * tools/gst-run.c: (main):
12206 * tools/gst-typefind.c: (main):
12207 * tools/gst-xmlinspect.c: (main):
12208 Use the string passed to g_option_context_new() for
12209 what it's intended for - the program name is already
12212 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12214 * tools/Makefile.am:
12215 * tools/gst-inspect.c: (main):
12216 * tools/gst-launch.c: (main):
12217 * tools/gst-xmlinspect.c: (main):
12219 Add back --version command line option (#340460).
12221 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
12222 Add --version option and use GOption for argument parsing; refactor a
12223 bit; accept directories as arguments and recurse into them; lastly,
12224 print a decent error message when things go wrong.
12226 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12228 * docs/manual/basics-bins.xml:
12229 Don't mention GstThread (#340611)
12230 * docs/manual/basics-elements.xml:
12231 Update link to GObject tutorial (#340607)
12233 2006-05-05 Wim Taymans <wim@fluendo.com>
12236 * gst/gstminiobject.c:
12237 Add note about refcounting and miniobject/buffer writeability
12238 to docs. Fixes #340604
12240 * gst/gstelementfactory.h:
12241 Added some explanation about @klass.
12243 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12245 * docs/manual/intro-motivation.xml:
12246 * docs/manual/manual.xml:
12247 Avoid CORBA & Bonobo references (#340598)
12249 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12251 * docs/manual/basics-bus.xml:
12252 * docs/manual/basics-pads.xml:
12253 Fix up some inaccuracies and omissions (#340609)
12255 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12257 * gst/gstghostpad.c:
12258 Small typo in docs (#340625)
12260 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12262 * gst/parse/Makefile.am:
12263 Make 'make -j' proof (see #340698).
12265 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12268 Require GLib-2.8 here as well.
12270 2006-05-05 Wim Taymans <wim@fluendo.com>
12272 * gst/glib-compat.c:
12273 * gst/gst.c: (init_pre):
12274 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12275 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
12276 (gst_object_dispatch_properties_changed):
12278 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12279 * gst/gststructure.c: (gst_structure_set_valist):
12280 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
12281 Remove pre glib2.8 compatibility, fixes #340508
12283 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
12285 * gst/gsttaglist.h:
12286 Mention type of tags in doc blurbs.
12288 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
12290 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12291 (gst_pad_configure_src), (gst_pad_push):
12292 Restore acceptcaps checking behaviour now that good plugins have
12295 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
12297 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
12304 * gst/gstmessage.c:
12308 * gst/parse/Makefile.am:
12309 * libs/gst/base/gstadapter.c:
12310 * libs/gst/base/gstbasesrc.c:
12311 * libs/gst/base/gstpushsrc.c:
12312 * libs/gst/base/gsttypefindhelper.c:
12313 * plugins/elements/gstfakesrc.c:
12314 * plugins/elements/gstidentity.c:
12315 Make sure gstprivate.h and/or config.h are
12316 always included first, otherwise some of our
12317 defines (like _FILE_OFFSET_BITS) might be
12318 redefined in the system headers. Fixes build
12319 on opensolaris (#340016).
12321 2006-05-04 Wim Taymans <wim@fluendo.com>
12323 * docs/libs/gstreamer-libs-sections.txt:
12324 API: addition: gst_adapter_take_buffer()
12326 * libs/gst/base/gstadapter.c: (gst_adapter_push),
12327 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
12328 (gst_adapter_available_fast):
12329 * libs/gst/base/gstadapter.h:
12330 Prepare for optimizing the hell out of this hugely inefficient
12332 Added gst_adapter_take_buffer() so we can at least start thinking
12333 about subbuffering and merging.
12334 Added some comments.
12336 * tests/check/Makefile.am:
12337 * tests/check/libs/adapter.c: (GST_START_TEST),
12338 (gst_adapter_suite), (main):
12339 Added GstAdapter check.
12341 2006-05-04 Wim Taymans <wim@fluendo.com>
12343 * docs/design/part-overview.txt:
12344 Fix some typos, add blurb about buffer flags.
12346 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
12348 * docs/libs/gstreamer-libs-sections.txt:
12349 make sure GstBaseTransformClass shows up in the docs
12350 * libs/gst/base/gstbasetransform.c:
12351 * libs/gst/base/gstbasetransform.h:
12352 move docs so gtk-doc picks it up now
12354 2006-05-02 Stefan Kost <ensonic@users.sf.net>
12356 * docs/libs/gstreamer-libs-sections.txt:
12357 add missing symbols to docs
12359 2006-05-02 Stefan Kost <ensonic@users.sf.net>
12361 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12362 back out the newsegment handling change, see #340060 for ongoing
12365 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
12367 * tools/gst-run.c: (get_candidates), (main):
12368 Fix wrong g_file_test() usage (see glib docs for why it doesn't
12369 work); fix typo in error message. Fixes #340079.
12371 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
12373 * common/Makefile.am:
12374 * docs/Makefile.am:
12375 * docs/faq/Makefile.am:
12376 * docs/gst/Makefile.am:
12377 * docs/libs/Makefile.am:
12378 * docs/manual/Makefile.am:
12379 * docs/plugins/Makefile.am:
12380 * docs/pwg/Makefile.am:
12381 * docs/slides/Makefile.am:
12383 * common/upload.mak:
12384 move upload.mak to common
12386 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
12388 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12389 add more asserts on refcounts
12390 do more cleanup at end of tests
12391 fix test leaks showing in FC5
12393 2006-04-29 Stefan Kost <ensonic@users.sf.net>
12395 * plugins/elements/gsttypefindelement.c:
12396 (gst_type_find_element_handle_event):
12397 reverted wrong change and reflowed code to avoid others falling into
12400 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12402 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12403 fix changelog entry about last collectpads change,
12404 add notes about proper fix
12406 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12409 * gst/gstregistry.c: (gst_registry_scan_path_level),
12410 (gst_registry_scan_path):
12411 * gst/gstregistry.h:
12412 only write out registry if it has changed, fixes #338339
12414 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12417 * gst/gstpipeline.c:
12418 * plugins/elements/gstcapsfilter.c:
12419 * plugins/elements/gstfakesink.c:
12420 * plugins/elements/gstfakesrc.c:
12421 * plugins/elements/gstfdsink.c:
12422 * plugins/elements/gstfdsrc.c:
12423 * plugins/elements/gstfilesink.c:
12424 * plugins/elements/gstfilesrc.c:
12425 * plugins/elements/gstidentity.c:
12426 * plugins/elements/gstqueue.c:
12427 * plugins/elements/gsttee.c:
12428 * plugins/elements/gsttypefindelement.c:
12429 (gst_type_find_element_handle_event):
12430 make GstElementDetails const
12432 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12434 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
12435 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12436 (gst_collect_pads_is_collected), (gst_collect_pads_event):
12437 more detailed debug and formatting cleanup,
12438 forward newsegments to src-pad (so that e.g. adder not eats them)
12440 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12442 * gst/gstutils.c: (gst_element_link_pads):
12443 cleanup double code
12445 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12447 * libs/gst/controller/gstcontroller.c:
12448 (gst_controller_sync_values):
12450 * tests/check/libs/controller.c: (GST_START_TEST),
12451 (gst_controller_suite):
12452 a new test for live value handling
12454 2006-04-28 Wim Taymans <wim@fluendo.com>
12456 * gst/gstutils.c: (push_and_ref):
12457 Added some more docs.
12458 Fix refcount issue whith gst_element_found_tags() helper
12459 function. Fixes #338335
12461 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12462 Added testsuite for gst_element_found_tags().
12464 2006-04-28 Michael Smith <msmith@fluendo.com>
12466 * gst/gstvalue.c: (gst_value_serialize_flags):
12467 Avoid NULL dereference when trying to serialize flags containing
12470 2006-04-28 Michael Smith <msmith@fluendo.com>
12472 * plugins/elements/gsttypefindelement.c:
12473 (gst_type_find_element_handle_event):
12474 If we get EOS before any data is accumulated, don't use
12475 uninitialised local variables.
12477 2006-04-28 Michael Smith <msmith@fluendo.com>
12479 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12480 (gst_dp_event_from_packet):
12481 Fixes in reading/writing events over GDP (not currently used?) -
12482 dereferencing NULL events for unknown/invalid event types, memory
12483 leak, and change g_warning to GST_WARNING.
12485 2006-04-28 Wim Taymans <wim@fluendo.com>
12487 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
12488 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12489 (gst_base_sink_get_position), (gst_base_sink_change_state):
12490 When frame dropping is enabled, we should not ignore frames
12491 without a duration.
12492 Update some documentation.
12494 2006-04-28 Wim Taymans <wim@fluendo.com>
12496 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12497 (gst_base_src_send_event), (gst_base_src_change_state):
12498 Documentation updates.
12500 2006-04-28 Wim Taymans <wim@fluendo.com>
12502 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
12503 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
12504 handle EAGAIN, EINTR and short writes correctly. Also clean
12505 up some error cases, avoid a deadlock on bad file descriptors and
12506 use GST_DEBUG_OBJECT.
12509 2006-04-28 Wim Taymans <wim@fluendo.com>
12511 * gst/gstvalue.c: (gst_value_serialize_buffer),
12512 (gst_value_deserialize_buffer):
12513 Don't try to serialize a GValue with a NULL buffer.
12516 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12517 Added check for serialisation of NULL buffers.
12519 2006-04-28 Wim Taymans <wim@fluendo.com>
12521 * gst/gstminiobject.c: (gst_value_take_mini_object):
12522 Taking a NULL miniobject is valid, fix the case where
12523 we try to unref the NULL miniobject.
12525 2006-04-28 Wim Taymans <wim@fluendo.com>
12527 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12529 * gst/gstbin.c: (gst_bin_handle_message_func):
12531 Don't leak bin refcount when a state recalc is
12532 in progress and we delay another one #339808.
12534 2006-04-28 Wim Taymans <wim@fluendo.com>
12536 * docs/design/part-TODO.txt:
12537 Mention QoS as an ongoing work item.
12539 * docs/design/part-buffering.txt:
12540 New doc about buffering that needs to be fleshed out
12543 * docs/design/part-qos.txt:
12544 More QoS policy for decoders/demuxers/transforms
12546 * docs/design/part-trickmodes.txt:
12549 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
12554 === release 0.10.5 ===
12556 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
12559 releasing 0.10.5, "Fogo"
12561 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
12563 patch by: Wim Taymans
12565 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12566 (gst_pad_configure_src), (gst_pad_push):
12567 * gst/gstpipeline.c: (gst_pipeline_init):
12568 Fix internal data flow errors. Fixes #338711.
12570 2006-04-12 Wim Taymans <wim@fluendo.com>
12572 * tests/check/gst/gstelement.c: (GST_START_TEST):
12573 Don't leak the factory.
12575 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
12578 * win32/common/config.h:
12581 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
12583 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12584 (gst_controller_unset_all):
12585 Free allocated GstTimedValues when freeing list nodes.
12586 Should fix leaks 'make check-valgrind' complains about.
12588 * win32/common/libgstcontroller.def:
12589 Add gst_controller_unset_all.
12591 2006-04-11 Stefan Kost <ensonic@users.sf.net>
12593 * docs/libs/gstreamer-libs-sections.txt:
12594 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12595 (gst_controller_unset_all):
12596 * libs/gst/controller/gstcontroller.h:
12597 API: Added new method gst_controller_unset_all()
12598 fixed gst_controller_unset()
12599 * tests/check/libs/controller.c: (GST_START_TEST),
12600 (gst_controller_suite):
12601 Added two testcases for new and fixed method
12603 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
12605 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12606 MSG_DONTWAIT is not defined on Cygwin, so work
12607 around that (fixes #317048).
12609 2006-04-11 Wim Taymans <wim@fluendo.com>
12611 * gst/gstelementfactory.c: (gst_element_register),
12612 (gst_element_factory_create), (gst_element_factory_make):
12615 Updated docs (Fixes #131079)
12617 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12620 * tests/check/gst/gstelement.c: (GST_START_TEST),
12621 (gst_element_suite):
12622 Added testcase for elementfactory class field.
12624 2006-04-10 Wim Taymans <wim@fluendo.com>
12626 * gst/gstsegment.c:
12627 Added some more docs.
12629 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
12630 (gst_base_sink_reset_qos):
12631 Calculate more accurate rate values.
12633 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
12635 * gst/gst_private.h:
12636 add a new #ifdef to use __declspec(dllimport) only for
12637 other modules and not for gstreamer core
12638 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
12639 use gst_guint64_to_gdouble for conversion
12640 * win32/common/libgstreamer.def:
12641 add new exported functions
12642 * win32/vs6/gst_inspect.dsp:
12643 * win32/vs6/gst_launch.dsp:
12644 * win32/vs6/libgstbase.dsp:
12645 * win32/vs6/libgstcontroller.dsp:
12646 * win32/vs6/libgstcoreelements.dsp:
12647 * win32/vs6/libgstdataprotocol.dsp:
12648 * win32/vs6/libgstnet.dsp:
12649 update project files
12651 2006-04-08 Stefan Kost <ensonic@users.sf.net>
12653 * gst/gstbuffer.c: (gst_subbuffer_class_init):
12654 * gst/gstclock.c: (gst_clock_class_init):
12655 * gst/gstelement.c: (gst_element_class_init):
12656 * gst/gstindex.c: (gst_index_class_init):
12657 * gst/gstindexfactory.c: (gst_index_factory_class_init):
12658 * gst/gstobject.c: (gst_object_class_init),
12659 (gst_signal_object_class_init):
12660 * gst/gstpad.c: (gst_pad_class_init):
12661 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
12662 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
12663 * gst/gstregistry.c: (gst_registry_class_init):
12664 * gst/gstsystemclock.c: (gst_system_clock_class_init):
12665 * gst/gsttask.c: (gst_task_class_init):
12666 * gst/gstxml.c: (gst_xml_class_init):
12667 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12668 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12669 (gst_base_src_loop):
12670 * libs/gst/controller/gstcontroller.c:/
12671 (_gst_controller_class_init):
12672 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12673 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
12674 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
12675 * tests/old/examples/plugins/example.c: (gst_example_class_init):
12676 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12677 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
12679 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
12681 * gst/gstpad.c: (gst_pad_link):
12682 Must set peer pads before calling the link function, otherwise
12683 a task started from a link function might get a flow-not-linked
12684 result when trying to push because the other thread where the
12685 linking happens hasn't had a chance to set the peers yet. This
12686 might happen for example when a queue gets linked to a downstream
12687 element, as queue starts a streaming task when its source pad
12688 gets linked. Happens in real life when playing back flac/musepack
12689 files in playbin (#332390).
12691 2006-04-08 Stefan Kost <ensonic@users.sf.net>
12695 * libs/gst/base/gstadapter.h:
12696 * libs/gst/base/gstbasesink.h:
12697 * libs/gst/base/gstbasesrc.h:
12698 * libs/gst/base/gstbasetransform.h:
12699 * libs/gst/base/gstcollectpads.h:
12700 * libs/gst/base/gstpushsrc.h:
12701 Fix broken GObject macros
12703 2006-04-07 Wim Taymans <wim@fluendo.com>
12705 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12706 Initialize start and stop times, thanks valgrind.
12708 2006-04-07 Wim Taymans <wim@fluendo.com>
12710 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12711 Be a bit nicer to badly behaving upstream elements that expect
12712 us to deal with non TIME segments and timestamps (such as fakesrc
12715 2006-04-07 Wim Taymans <wim@fluendo.com>
12718 Small documentation clarification about the signal watch.
12720 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12721 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12722 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12723 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12724 (gst_base_sink_get_position_last),
12725 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
12726 Convert and store timestamps in stream time and running time, the
12727 raw timestamps are not useful, also document this better.
12728 Use different window sizes for good and bad QoS observations so
12729 we react to badness a little quicker.
12730 Keep track of the amount of rendered and dropped buffers.
12731 Send QoS timestamps in running time.
12733 * libs/gst/base/gstbasetransform.c:
12734 (gst_base_transform_sink_eventfunc),
12735 (gst_base_transform_handle_buffer):
12736 Compare QoS timestamps against running time.
12738 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
12741 Typo fixes in docs.
12743 2006-04-06 Michael Smith <msmith@fluendo.com>
12745 * gst/gstpad.c: (gst_pad_set_property):
12746 Use g_value_get_object() instead of g_value_dup_gst_object(),
12747 to avoid double-reffing the pad template (which we then sink,
12748 so this worked previously if (and only if) the pad template
12751 * gst/gstpadtemplate.c: (gst_pad_template_init),
12752 (gst_pad_template_pad_created):
12753 Never return floating references to pad templates, create
12754 them as initially-sunken.
12756 Document an extra function (and make this stop sinking our
12757 pad template, since that is now guaranteed to do nothing,
12758 since we created it sunken).
12760 * gst/gstghostpad.c:
12763 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
12765 * gst/gstinfo.c: (__gst_in_valgrind):
12768 * plugins/elements/gsttypefindelement.c:
12769 (gst_type_find_element_chain):
12770 Don't leak buffer caps.
12772 2006-04-06 Michael Smith <msmith@fluendo.com>
12774 * gst/parse/grammar.y:
12775 Fix a leak in parse-launch for any source-or-sink named element
12778 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12779 Unref the pipeline if it exists after we've failed parsing.
12781 2006-04-05 Michael Smith <msmith@fluendo.com>
12783 * gst/gstpipeline.c: (gst_pipeline_init):
12784 When we create a pipeline bus, initially create it in flushing mode.
12785 Fixes leaks in at least one test, and makes a new pipeline work the
12786 same as one that has gone to READY and then back to NULL.
12788 * gst/gstelement.c:
12791 2006-04-05 Michael Smith <msmith@fluendo.com>
12793 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12794 Unref a pad we reffed.
12795 * tests/check/gst/gstutils.c: (GST_START_TEST):
12798 2006-04-05 Michael Smith <msmith@fluendo.com>
12800 * gst/gstquery.c: (gst_query_set_formats),
12801 (gst_query_set_formatsv):
12802 Fix leaking GValues in queries, as shown by valgrind/testsuite.
12804 2006-04-05 Michael Smith <msmith@fluendo.com>
12806 * tests/check/generic/sinks.c: (GST_START_TEST):
12807 Fix a variety of memleaks in sinks check, which are only sometimes
12808 shown by running the tests under valgrind (weird?).
12810 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
12812 * docs/version.entities.in:
12813 Fix the substituted entity name after thomas' changes on the
12816 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12818 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
12821 2006-04-05 Andy Wingo <wingo@pobox.com>
12823 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
12825 * libs/gst/base/gstbasetransform.c
12826 (gst_base_transform_sink_eventfunc): When resetting our segment on
12827 FLUSH_STOP, also update the flag saying we haven't seen a
12830 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
12832 Patch by: Paolo Borelli <pborelli at katamail dot com>
12834 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12835 (gst_plugin_check_license):
12836 minor clean-ups: G_DEFINE_TYPE already takes care of the
12837 parent_class stuff, no need to do it twice. Mark array of
12838 license strings as constant. (#337103)
12840 2006-04-04 Michael Smith <msmith@fluendo.com>
12842 * tools/gst-inspect.c: (print_element_list):
12843 Free the right plugin list; fixes a memory leak.
12845 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
12847 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
12849 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12850 Don't error out on empty buffers (#336945).
12852 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
12854 * docs/libs/gstreamer-libs-sections.txt:
12855 * gst/gsttaglist.c:
12856 * libs/gst/base/gstbasesink.c:
12857 * libs/gst/base/gstbasesink.h:
12858 * libs/gst/base/gstbasesrc.c:
12859 * libs/gst/base/gstbasesrc.h:
12860 Documentation updates. Make BaseSink and BaseSrc docs contain the
12861 class structure so that people can actually see the prototypes for
12862 virtual functions they're supposed to be overriding.
12864 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
12866 * plugins/elements/gsttypefindelement.c:
12867 (gst_type_find_element_chain):
12868 More debug info; when skipping typefinding, send cached
12869 events in all cases.
12871 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
12874 use new AS_VERSION and AS_NANO macros
12875 * gst/gst-i18n-lib.h:
12878 * gst/gstversion.h.in:
12879 * win32/common/config.h:
12880 * win32/common/config.h.in:
12883 2006-03-31 Michael Smith <msmith@fluendo.com>
12885 * plugins/elements/gsttypefindelement.c:
12886 (gst_type_find_element_chain):
12887 Do not typefind content if the buffers already have caps.
12888 Neccesary for icydemux (#333657), and the right thing to do anyway.
12890 2006-03-30 Wim Taymans <wim@fluendo.com>
12892 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12893 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
12894 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
12895 (gst_base_sink_record_qos_observation),
12896 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12897 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12898 (gst_base_sink_change_state):
12899 More QoS measurements as described in the design doc.
12900 Get rid of ringbuffer with observations, running average is
12901 more simple and equally good.
12902 Calculates valid proportion now.
12903 Added beginning of flood measurement.
12905 2006-03-29 Wim Taymans <wim@fluendo.com>
12907 * docs/design/part-qos.txt:
12909 Small documentation updates and additions.
12911 2006-03-29 Wim Taymans <wim@fluendo.com>
12913 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12914 (gst_base_src_send_event), (gst_base_src_loop),
12915 (gst_base_src_change_state):
12916 Perform the EOS logic when we reach the segment stop position.
12917 Fix compilation on gcc4.1
12919 2006-03-29 Wim Taymans <wim@fluendo.com>
12921 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
12923 * plugins/elements/gstqueue.c: (gst_queue_init),
12924 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12925 (gst_queue_set_property):
12926 * plugins/elements/gstqueue.h:
12927 In queue, when EOS is received, if minimum threshold > max_size -
12928 current_level, there is chance that queue blocks forever in conditional
12929 item del wait. This is because the queue is not emptied completely due
12930 to minimum threshold. Here is another approach. Instead of setting
12931 cur_levels to max in EOS, just zero all minimum threshold levels. This
12932 should make sure that queue gives out all data. When going to READY
12933 (stop) state, just reset the original minimum threshold levels.
12936 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
12938 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
12939 (gst_type_find_element_handle_event),
12940 (gst_type_find_element_send_cached_events),
12941 (gst_type_find_element_change_state):
12942 * plugins/elements/gsttypefindelement.h:
12943 When typefinding is done in push mode, we should cache
12944 events we receive during typefinding instead of just
12945 dropping them (e.g. newsegment, custom events from
12946 dvdreadsrc etc.) and then send them out once we've
12947 determined the type of the stream (and decodebin
12948 has had a chance to plug in a decoder/demuxer).
12950 2006-03-27 Wim Taymans <wim@fluendo.com>
12952 * docs/design/part-qos.txt:
12955 2006-03-27 Wim Taymans <wim@fluendo.com>
12957 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
12959 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12960 (gst_base_src_send_event), (gst_base_src_change_state):
12961 Handle element seek correctly when we are streaming.
12964 2006-03-24 Michael Smith <msmith@fluendo.com>
12966 * docs/faq/gst-uninstalled:
12967 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
12968 allow you to correctly run intalled applications built against old
12969 core, using plugins that require updated core (e.g. running
12970 installed totem against a full uninstalled gstreamer stack)
12972 2006-03-24 Stefan Kost <ensonic@users.sf.net>
12974 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12977 2006-03-24 Wim Taymans <wim@fluendo.com>
12979 * docs/gst/gstreamer-sections.txt:
12980 Rearrange the order of the methods so that related methods
12981 are grouped together in sections.
12983 2006-03-24 Stefan Kost <ensonic@users.sf.net>
12985 * gst/gstelement.c:
12986 Little clarification in the docs
12988 2006-03-24 Stefan Kost <ensonic@users.sf.net>
12992 * plugins/elements/gstidentity.c:
12993 * plugins/elements/gstqueue.c:
12994 * plugins/elements/gsttee.c:
12995 * plugins/elements/gsttypefindelement.c:
12996 GST_ELEMENT_DETAILS formatting
12998 2006-03-24 Wim Taymans <wim@fluendo.com>
13000 * libs/gst/base/gstbasesink.h:
13001 Only add fields, not insert or we break ABI.
13003 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
13005 * win32/common/libgstbase.def:
13006 * win32/common/libgstreamer.def:
13007 Update, add recently added functions.
13009 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
13011 * docs/gst/gstreamer-sections.txt:
13012 * gst/gstutils.c: (gst_pad_query_peer_position),
13013 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
13015 API: add some new utility functions:
13016 - gst_pad_query_peer_position()
13017 - gst_pad_query_peer_duration()
13018 - gst_pad_query_peer_convert()
13020 2006-03-23 Wim Taymans <wim@fluendo.com>
13022 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13023 (gst_base_sink_init), (gst_base_sink_finalize),
13024 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
13025 (gst_base_sink_set_property), (gst_base_sink_get_property),
13026 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
13027 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13028 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
13029 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13030 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13031 (gst_base_sink_preroll_object), (gst_base_sink_event),
13032 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
13033 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
13034 (gst_base_sink_query), (gst_base_sink_change_state):
13035 Decouple max-lateness and the fact that QoS messages are generated
13036 with a new property (qos).
13037 added API: GstBaseSink::async_play()
13038 Add vmethod so subclasses can be notified of ASYNC playing
13040 Collect timestamp start and stop to report better current
13041 position in EOS/PLAYING/PAUSED/READY/NULL.
13042 Refactor QoS/frame dropping and other measurements.
13043 API: GstBaseSrc::qos
13046 * libs/gst/base/gstbasesink.h:
13047 Added Private struct.
13048 API: gst_base_sink_set_qos_enabled()
13049 API: gst_base_sink_is_qos_enabled()
13051 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
13053 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13054 If compiling against GLib-2.8 or newer, try to read the
13055 registry file using GMappedFile first before falling back
13056 to fopen() + fread() (#332151).
13058 2006-03-22 Wim Taymans <wim@fluendo.com>
13060 * gst/gstinfo.c: (gst_debug_set_active),
13061 (gst_debug_category_set_threshold):
13062 Disable debugging unless explicitly activated.
13065 2006-03-22 Wim Taymans <wim@fluendo.com>
13067 * gst/gstelement.c: (gst_element_set_locked_state),
13068 (gst_element_dispose):
13069 Cleanup the error case.
13071 * gst/gstobject.c: (gst_object_dispose):
13072 print a critical when some object was disposed with
13073 a parent, also revive the object since it might
13076 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
13078 * tools/gst-launch.1.in:
13081 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
13084 * tests/check/Makefile.am:
13085 disable some tests when we don't have a registry
13086 * tests/check/gst/gstutils.c: (gst_utils_suite):
13087 don't build the part that needs parsing
13089 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
13092 * tests/examples/Makefile.am:
13093 fix --disable-parse build
13095 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13097 * tools/gst-feedback.1.in:
13098 Fix typo: s/feeback/feedback/ (#133494).
13100 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13102 * tools/Makefile.am:
13103 * tools/gst-launch.1.in:
13104 Add FILES section and correct entry about GST_REGISTRY_PATH
13105 environment variable (#133495; #133494).
13107 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13109 * tools/Makefile.am:
13110 * tools/gst-md5sum.1.in:
13111 * tools/gst-md5sum.c:
13112 Remove gst-md5sum and man page (the md5sink element
13113 required was removed ages ago)
13115 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13117 * gst/gststructure.c: (gst_structure_id_set_value):
13118 Make sure that string fields in structures/taglists
13119 contain valid UTF-8 - we don't want to pass rubbish to
13120 applications because of a buggy plugin (cp. #334167).
13122 2006-03-21 Edward Hervey <edward@fluendo.com>
13124 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13125 (gst_bin_handle_message_func):
13126 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
13127 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
13128 (gst_element_set_bus_func):
13129 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
13130 * gst/gstminiobject.c: (gst_value_set_mini_object),
13131 (gst_value_take_mini_object):
13132 * gst/gstpad.c: (gst_pad_set_pad_template):
13133 * gst/gstpipeline.c: (gst_pipeline_dispose),
13134 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13135 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
13136 (gst_collect_pads_chain):
13137 * libs/gst/net/gstnettimeprovider.c:
13138 (gst_net_time_provider_set_property):
13139 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
13140 It's in fact all issues with gst_*object_replace().
13142 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13144 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
13146 * pkgconfig/gstreamer-check-uninstalled.pc.in:
13147 * pkgconfig/gstreamer-check.pc.in:
13148 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
13150 2006-03-21 Edward Hervey <edward@fluendo.com>
13154 * gst/gstmessage.h:
13155 gst_[buffer|event|message]_ref() macros are replaced by a static
13156 inline functions because gcc-4.1 will about if the return value
13158 * tests/check/gst/gstevent.c: (event_probe):
13159 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
13161 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
13164 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
13165 the type' case. (Closes: #335195 for now). In the future, when we
13166 depend on GLib 2.10, we could also intern the type name using
13167 g_intern_static_string()
13169 2006-03-20 Wim Taymans <wim@fluendo.com>
13171 * gst/gstbin.c: (gst_bin_handle_message_func),
13172 (bin_query_max_init), (bin_query_position_fold),
13173 (bin_query_position_done), (gst_bin_query):
13174 Position query should also take max of all streams.
13176 2006-03-20 Wim Taymans <wim@fluendo.com>
13178 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13179 (gst_fake_src_finalize):
13180 Fix leaks in fakesrc.
13182 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13183 Fix leaks in the testcase.
13185 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
13187 * gst/gst_private.h:
13188 add win32 specific import decoration(__declspec(dllimport))
13189 for all extern GstDebugCategory * variables
13190 * win32/common/libgstbase.def:
13191 * win32/common/libgstcontroller.def:
13192 * win32/common/libgstreamer.def:
13193 Add some exports, remove empty lines
13194 * win32/common/libgstdataprotocol.def:
13195 * win32/common/libgstdataprotocol.dsp:
13196 * win32/common/libgstnet.def:
13197 * win32/common/libgstnet.dsp:
13198 new project files and exportation files added
13200 2006-03-19 Wim Taymans <wim@fluendo.com>
13202 * tests/check/libs/basesrc.c: (eos_event_counter):
13203 Use proper return value for probe.
13205 2006-03-17 Wim Taymans <wim@fluendo.com>
13207 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
13209 Don't leak buffers, caps and pads on negotiation errors.
13211 2006-03-16 Stefan Kost <ensonic@users.sf.net>
13213 * docs/faq/cvs.xml:
13214 * docs/faq/dependencies.xml:
13215 * docs/faq/developing.xml:
13216 * docs/faq/faq.xml:
13217 * docs/faq/general.xml:
13218 * docs/faq/getting.xml:
13219 * docs/faq/legal.xml:
13220 * docs/faq/troubleshooting.xml:
13221 * docs/faq/using.xml:
13222 Faq review and update.
13224 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
13226 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
13228 Don't pound the cpu to pieces by checking get_caps when accept_caps
13229 is called with the same caps as the pad already has.
13230 Use GST_DEBUG_OBJECT when outputting caps change information.
13232 2006-03-15 Wim Taymans <wim@fluendo.com>
13234 * gst/gstclock.c: (gst_clock_class_init):
13237 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
13242 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
13243 (gst_pad_accept_caps), (gst_pad_configure_sink),
13244 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
13245 Make the default acceptcaps behaviour be to check the requested
13246 caps against the gst_pad_get_caps output.
13248 Ensure that gst_pad_accept_caps is used to check caps when a pad
13249 doesn't have a setcaps function, so that pads automatically refuse
13250 caps that they don't allow in their pad template. (Fixes #332986)
13252 When a buffer with attached caps is pushed, ensure that the source
13253 pad receives those caps even if the element didn't call
13254 gst_pad_set_caps first.
13256 2006-03-15 Wim Taymans <wim@fluendo.com>
13258 * libs/gst/base/gstadapter.c:
13261 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
13263 * win32/common/libgstbase.def:
13264 * win32/common/libgstcontroller.def:
13265 * win32/common/libgstreamer.def:
13266 Add a whole bunch of missing functions (#334434).
13268 2006-03-14 Wim Taymans <wim@fluendo.com>
13270 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13271 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13272 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
13273 Better debug info when we receive a segment event.
13274 Reorganize a bit so we can pass the get_times() results around.
13275 Use the segment format when calculating the running time.
13276 Don't do QoS is sync is disabled or we have no clock or the
13277 element does not want us to sync to the clock.
13278 Don't drop buffers if QoS is disabled for now.
13280 2006-03-14 Wim Taymans <wim@fluendo.com>
13282 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
13283 Marked the stats property as unimplemented so people don't get
13285 Add debug message when regression goes wrong.
13286 Added some more docs.
13288 2006-03-14 Wim Taymans <wim@fluendo.com>
13290 * gst/gstsegment.c: (gst_segment_to_stream_time):
13291 Return correct return type in case of errors.
13293 2006-03-14 Wim Taymans <wim@fluendo.com>
13295 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
13296 Don't segfault on invalid formats.
13298 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
13300 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13301 Can't use gst_segment_to_running_time() when the segment
13302 is not in GST_TIME_FORMAT (like with filesink, for example).
13303 Stops flac encoding pipelines from spewing critical warnings
13306 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
13308 * gst/gstpipeline.c: (gst_pipeline_class_init):
13309 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
13311 * plugins/elements/gsttypefindelement.c:
13312 (gst_type_find_element_handle_event):
13313 Don't try to typefind empty streams.
13315 2006-03-14 Wim Taymans <wim@fluendo.com>
13317 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13318 (gst_base_sink_do_qos):
13319 Separate QoS calculation.
13320 Only drop buffers when lateness is bigger than the
13321 duration of the buffer.
13323 2006-03-13 Wim Taymans <wim@fluendo.com>
13325 * gst/gstpipeline.c: (gst_pipeline_set_property),
13326 (gst_pipeline_get_property), (do_pipeline_seek),
13327 (gst_pipeline_change_state), (gst_pipeline_set_delay),
13328 (gst_pipeline_get_delay):
13329 Don't deadlock when reading properties.
13331 2006-03-13 Wim Taymans <wim@fluendo.com>
13333 * libs/gst/base/gstbasetransform.c:
13334 (gst_base_transform_class_init), (gst_base_transform_init),
13335 (gst_base_transform_sink_event),
13336 (gst_base_transform_sink_eventfunc),
13337 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
13338 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13339 (gst_base_transform_set_property),
13340 (gst_base_transform_get_property),
13341 (gst_base_transform_change_state), (gst_base_transform_update_qos),
13342 (gst_base_transform_set_qos_enabled),
13343 (gst_base_transform_is_qos_enabled):
13344 * libs/gst/base/gstbasetransform.h:
13345 Make basetransform virtual method for src events too.
13346 Handle QOS in basetransform.
13347 API: gst_base_transform_update_qos()
13348 API: gst_base_transform_set_qos_enabled()
13349 API: gst_base_transform_is_qos_enabled()
13351 2006-03-13 Wim Taymans <wim@fluendo.com>
13353 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13354 (gst_base_sink_do_sync):
13356 Use QOS debug category.
13358 2006-03-13 Wim Taymans <wim@fluendo.com>
13360 * plugins/elements/gstqueue.c:
13361 Very small doc update.
13363 2006-03-13 Wim Taymans <wim@fluendo.com>
13365 * gst/gst_private.h:
13366 * gst/gstinfo.c: (_gst_debug_init):
13367 Added QOS debug category
13369 2006-03-13 Wim Taymans <wim@fluendo.com>
13371 * docs/gst/gstreamer-sections.txt:
13372 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
13374 * gst/gstbus.c: (gst_bus_class_init):
13377 * gst/gstelement.c: (gst_element_set_locked_state):
13378 * gst/gstsegment.c:
13379 Documentation updates.
13381 * gst/gstpipeline.c: (gst_pipeline_get_type),
13382 (gst_pipeline_class_init), (gst_pipeline_init),
13383 (gst_pipeline_dispose), (gst_pipeline_set_property),
13384 (gst_pipeline_get_property), (do_pipeline_seek),
13385 (gst_pipeline_send_event), (gst_pipeline_change_state),
13386 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
13387 (gst_pipeline_get_delay):
13388 * gst/gstpipeline.h:
13389 Added methods for setting the delay.
13390 API: gst_pipeline_set_delay()
13391 API: gst_pipeline_get_delay()
13392 Add pipeline debug category
13395 Don't reset stream time when seek failed.
13397 2006-03-13 Wim Taymans <wim@fluendo.com>
13399 * docs/design/draft-klass.txt:
13400 * docs/design/part-clocks.txt:
13401 * docs/design/part-events.txt:
13402 * docs/design/part-gstbin.txt:
13403 * docs/design/part-gstpipeline.txt:
13404 * docs/design/part-messages.txt:
13405 * docs/design/part-negotiation.txt:
13406 * docs/design/part-overview.txt:
13407 * docs/design/part-preroll.txt:
13408 * docs/design/part-seeking.txt:
13409 * docs/design/part-states.txt:
13410 * docs/design/part-streams.txt:
13411 Documentation updates.
13413 2006-03-12 Julien MOUTTE <julien@moutte.net>
13415 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
13416 us to leak strings...
13418 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
13420 * libs/gst/net/gstnettimeprovider.c:
13422 * win32/common/config.h:
13425 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
13427 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
13430 Don't check for libgnomeui (leftover from old examples
13431 that aren't built or disted any longer) (#334303).
13433 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
13435 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
13436 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13437 Emit RESOURCE_NO_SPACE_LEFT error here as well when
13438 there's no space left on the device.
13440 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
13443 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
13444 to cast the input to GstClockTime before comparing with
13445 another GstClockTime value.
13447 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
13452 === release 0.10.4 ===
13454 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
13457 releasing 0.10.4, "Light"
13459 2006-03-10 Michael Smith <msmith@fluendo.com>
13461 * libs/gst/dataprotocol/dataprotocol.c:
13462 Fix docs for dataprocotol to not get the return types completely
13463 wrong for a few functions.
13465 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
13467 * docs/gst/gstreamer-sections.txt:
13468 * gst/gstpipeline.c: (gst_pipeline_class_init),
13469 (gst_pipeline_init), (gst_pipeline_set_property),
13470 (gst_pipeline_get_property), (gst_pipeline_change_state),
13471 (gst_pipeline_set_auto_flush_bus),
13472 (gst_pipeline_get_auto_flush_bus):
13473 * gst/gstpipeline.h:
13474 Add new API: gst_pipeline_set_auto_flush_bus() and
13475 gst_pipeline_get_auto_flush_bus() to disable automatic
13476 flushing of the pipeline's GstBus when going from READY
13477 to NULL state (#332045).
13479 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
13481 * docs/gst/gstreamer-sections.txt:
13482 * gst/gsturi.c: (gst_uri_has_protocol):
13484 Add new API: gst_uri_has_protocol() (#333779).
13486 2006-03-09 Wim Taymans <wim@fluendo.com>
13488 * gst/gstclock.c: (gst_clock_entry_new),
13489 (gst_clock_id_compare_func), (gst_clock_id_wait),
13490 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
13491 (gst_clock_init), (gst_clock_get_internal_time),
13492 (gst_clock_set_master), (do_linear_regression),
13493 (gst_clock_add_observation), (gst_clock_set_property):
13497 Fix a possible segfault when the window-size is made smaller.
13498 Calculate jitter before performing the clock wait. Ideally
13499 the clock implementation should calculate jitter but we need
13500 API breakage for that.
13502 * gst/gstsystemclock.c: (gst_system_clock_init):
13505 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13506 Remove leftover else
13508 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
13509 (gst_systemclock_suite):
13510 Added check to test GST_CLOCK_DIFF.
13512 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
13514 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
13515 (gst_type_find_helper_get_range):
13516 If we are provided with the size, we should implement
13517 GstTypeFind::get_length, so that typefind functions who
13518 want to can actually peek at the middle of a file.
13520 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
13522 * docs/manual/advanced-dataaccess.xml:
13523 Add some very very basic error checking.
13525 * docs/pwg/appendix-checklist.xml:
13526 Some updates to the list of things to check when writing an element.
13528 2006-03-08 Wim Taymans <wim@fluendo.com>
13530 * docs/design/part-element-transform.txt:
13531 Added some docs about the design of tranform elements.
13533 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13534 (gst_base_src_loop), (gst_base_src_change_state):
13535 Mark buffers with the DISCONT flag.
13537 2006-03-08 Michael Smith <msmith@fluendo.com>
13539 * gst/gstregistry.h:
13540 * gst/gstregistryxml.c: (gst_registry_save),
13541 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
13542 (gst_registry_xml_save_pad_template),
13543 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
13544 (gst_registry_xml_write_cache):
13545 Rewrite registry-saving to avoid race conditions and check for
13548 2006-03-08 Wim Taymans <wim@fluendo.com>
13550 * libs/gst/base/gstbasetransform.c:
13551 (gst_base_transform_transform_caps),
13552 (gst_base_transform_transform_size),
13553 (gst_base_transform_prepare_output_buffer),
13554 (gst_base_transform_get_unit_size),
13555 (gst_base_transform_buffer_alloc),
13556 (gst_base_transform_handle_buffer),
13557 (gst_base_transform_change_state):
13558 Cleanups, separate normal flow from errors, add sensible
13560 Don't try to renegotiate when allocating an output buffer.
13561 Also copy DISCONT buffer flag when copying a buffer.
13562 Reset the transform after we finish streaming, not during.
13564 2006-03-08 Wim Taymans <wim@fluendo.com>
13566 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13567 Use last buffer timestamp in qos message.
13569 2006-03-07 Wim Taymans <wim@fluendo.com>
13571 Patch by: Christophe Fergeau
13573 * docs/pwg/advanced-tagging.xml:
13574 * docs/pwg/building-pads.xml:
13577 2006-03-07 Wim Taymans <wim@fluendo.com>
13579 * docs/libs/gstreamer-libs-sections.txt:
13580 Added basesink new methods.
13584 Docs updates. Flesh out the QoS docs.
13586 * libs/gst/base/gstadapter.c:
13587 Small doc clarification about ownership and flushing.
13589 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
13590 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
13591 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
13592 (gst_base_sink_get_property), (gst_base_sink_do_sync):
13593 * libs/gst/base/gstbasesink.h:
13595 Added new methods to allow subclass to control max-lateness
13597 Generate very basic QoS events based on last sync observation.
13598 Updated docs, fix typo, added some QoS blurb.
13600 * libs/gst/base/gstbasesrc.c:
13601 Remove obsolete _get_state() calls from docs.
13603 2006-03-07 Wim Taymans <wim@fluendo.com>
13605 * docs/libs/gstreamer-libs-sections.txt:
13606 * libs/gst/base/gstbasetransform.h:
13607 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
13608 Fix docs for GstBaseSrc.
13610 2006-03-07 Wim Taymans <wim@fluendo.com>
13612 * docs/gst/gstreamer-sections.txt:
13615 * libs/gst/base/gstbasetransform.h:
13616 Small documentation fixes.
13618 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
13621 Document thread-unsafety of gst_value_register_foo_func()
13622 when used at the same time as gst_value_foo() (#322628).
13624 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
13626 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
13627 (gst_push_src_check_get_range):
13628 Push sources don't support pull mode by default.
13630 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
13632 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13633 (gst_base_src_init), (gst_base_src_pad_check_get_range),
13634 (gst_base_src_default_check_get_range):
13635 * libs/gst/base/gstbasesrc.h:
13636 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
13637 provide default implementation, and rename
13638 gst_base_src_check_get_range() to
13639 gst_base_src_pad_check_get_range() for clarity.
13641 2006-03-06 Wim Taymans <wim@fluendo.com>
13643 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13644 Make property overridable.
13646 2006-03-06 Wim Taymans <wim@fluendo.com>
13648 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13649 (gst_base_sink_init), (gst_base_sink_set_property),
13650 (gst_base_sink_get_property), (gst_base_sink_do_sync):
13651 * libs/gst/base/gstbasesink.h:
13652 API addition: Make max-lateness a property.
13654 2006-03-06 Wim Taymans <wim@fluendo.com>
13656 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
13657 (gst_base_sink_do_sync), (gst_base_sink_render_object):
13658 Don't ever draw a frame that is >10ms late.
13660 2006-03-06 Michael Smith <msmith@fluendo.com>
13662 * gst/gstmessage.c: (_gst_message_copy):
13663 When copying a message, set the parent_refcount of the enclosed
13664 structure to point at the copy, not the original message.
13666 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
13668 Patch by: Christophe Fergeau
13671 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
13672 usable in c++ code (#333417)
13674 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
13677 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
13679 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
13681 * libs/gst/base/gstbasetransform.c:
13682 (gst_base_transform_transform_caps):
13683 Make sure caps are writable before passing them to
13686 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
13689 Fix some minor docs errors.
13691 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
13693 Patch by: Ross Burton <ross at burtonini dot com>
13695 * gst/gsterror.c: (_gst_resource_errors_init):
13697 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
13699 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
13702 Add a check and output a g_warning when GStreamer is built
13703 against GLib 2.6 but running against 2.8 or higher, and vice
13704 versa. (Closes: #323542)
13706 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
13708 * gst/parse/parse.l:
13709 Commit patch for parse_launch syntax from #331255. Removes
13710 support for quoted strings and mimetypes when writing filtered
13711 caps. See the bug report for more details - I'm pretty sure this
13712 obscure feature is not in use by _anyone_ anywhere.
13714 With this simple change, the size of the gstreamer.so here
13715 drops from 2193KB to 1565KB.
13717 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
13719 * plugins/elements/gsttypefindelement.h:
13720 * plugins/elements/gsttypefindelement.c:
13721 (gst_type_find_element_src_event), (start_typefinding),
13722 (stop_typefinding), (gst_type_find_element_handle_event),
13723 (gst_type_find_element_chain),
13724 (gst_type_find_element_chain_do_typefinding):
13725 Use gst_type_find_helper_for_buffer() for chain-based
13728 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
13730 * plugins/elements/gsttypefindelement.c:
13731 (gst_type_find_element_class_init),
13732 (gst_type_find_element_set_property),
13733 (gst_type_find_element_get_property):
13734 Deprecate "maximum" property (not only was it only taken into
13735 account for typefinding in push-mode anyway, it also was never
13736 actually possible to set it in the first place because the
13737 property was registered with the numeric property ID for the
13738 "minimum" property). Register "maximum" property correctly,
13739 for the sake of future copy'n'pasters. Remove some cruft
13740 from property get/set functions.
13742 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
13744 * plugins/elements/gsttypefindelement.c:
13745 (gst_type_find_element_activate):
13746 Use gst_type_find_helper_get_range() here, so we
13747 can honour the "minimum" property and also emit
13748 the signal with the correct probability of the found caps.
13750 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
13752 * docs/libs/gstreamer-libs-sections.txt:
13753 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
13754 (helper_find_suggest), (gst_type_find_helper_get_range),
13755 (gst_type_find_helper):
13756 * libs/gst/base/gsttypefindhelper.h:
13757 New API: gst_type_find_helper_get_range() (#333042).
13759 2006-03-02 Michael Smith <msmith@fluendo.com>
13761 * gst/gstregistryxml.c: (load_feature):
13762 Asserting on a failure to read part of the registry is Not Cool.
13763 Just log a warning and return NULL (which is already handled)
13765 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
13767 * win32/common/libgstbase.def:
13768 added export of gst_type_find_helper_for_buffer
13769 * win32/common/libgstbase.def:
13770 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
13771 gst_ghost_pad_get_target
13773 2006-02-28 Wim Taymans <wim@fluendo.com>
13775 * docs/design/draft-klass.txt:
13777 Added Connector to mark elements that are only used to
13778 allow pipeline connections.
13779 Moved Debug to extra feature since most of them are
13780 functionally something else.
13782 2006-02-28 Wim Taymans <wim@fluendo.com>
13784 * docs/design/draft-klass.txt:
13785 Some updates and clarifications.
13787 2006-02-28 Wim Taymans <wim@fluendo.com>
13789 * docs/design/draft-klass.txt:
13790 Proposal for klass field values.
13792 * docs/design/part-streams.txt:
13793 Start of a doc describing stream anatomy.
13795 2006-02-28 Wim Taymans <wim@fluendo.com>
13797 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
13798 Help the compiler a bit with type registration.
13799 Use existing forward cod path instead of duplicating it when
13800 handling a message.
13802 * gst/gstbus.c: (gst_bus_get_type):
13803 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
13804 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
13805 * gst/gstclock.c: (gst_clock_get_type):
13806 * gst/gstelement.c: (gst_element_get_type),
13807 * gst/gstelementfactory.c: (gst_element_factory_get_type):
13808 * gst/gstindexfactory.c: (gst_index_factory_get_type):
13809 * gst/gstminiobject.c: (gst_mini_object_get_type):
13810 * gst/gstpad.c: (gst_pad_get_type):
13811 * gst/gstsegment.c: (gst_segment_get_type):
13812 * gst/gststructure.c: (gst_structure_get_type):
13813 * gst/gstsystemclock.c: (gst_system_clock_get_type):
13814 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
13816 Help compiler with type registration.
13818 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
13821 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13823 * plugins/elements/gsttypefindelement.c:
13824 (gst_type_find_element_handle_event):
13825 When we get an EOS event and have not found a type yet
13826 (most likely because we had not yet accumulated
13827 TYPE_FIND_MIN_SIZE of data yet), try to determine the
13828 type given the data we have so far. Fixes typefinding
13829 for very short streams again, most notably quicktime
13830 redirections as used on Apple's trailer site (#331701).
13832 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13834 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
13835 (gst_type_find_helper):
13836 Try typefinding factories with the highest rank first.
13838 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13840 * docs/libs/gstreamer-libs-docs.sgml:
13841 * docs/libs/gstreamer-libs-sections.txt:
13842 * libs/gst/base/gsttypefindhelper.c:
13843 Add section for typefind helper and add documentation
13844 for the old and the new function.
13846 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13848 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
13849 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
13850 (gst_type_find_helper_for_buffer):
13851 * libs/gst/base/gsttypefindhelper.h:
13852 New API: gst_type_find_helper_for_buffer() (#332723).
13854 2006-02-27 Michael Smith <msmith@fluendo.com>
13856 Patch by: Loïc Minier
13859 * docs/Makefile.am:
13860 * docs/slides/Makefile.am:
13861 prevent CVS directories getting disted.
13863 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13865 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
13866 Use the REFCOUNTING category for caps refcounting.
13868 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
13870 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13871 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
13873 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
13875 * plugins/elements/gsttypefindelement.c:
13876 (gst_type_find_element_activate):
13877 Use gst_pad_check_pull_range() before _activate_pull()
13878 to avoid unnecessary open/close (see #331690).
13880 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
13883 Docs enhancement: make it crystal clear what the
13884 gst_pad_add_*_probe() callbacks should look like.
13886 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
13888 * libs/gst/base/gstbasesrc.c:
13889 Document how applications can stop recording from
13890 live sources (see #330996).
13892 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13894 * tests/check/Makefile.am:
13895 * tests/check/libs/basesrc.c: (eos_event_counter),
13896 (basesrc_eos_events_pull), (basesrc_eos_events_push),
13897 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
13898 (gst_basesrc_suite), (main):
13899 ... and add some tests for the base source EOS stuff.
13901 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13903 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
13904 Test case originally showed the problem fixed below,
13905 but was then amended. Add checks back at the place
13906 where they used to be.
13908 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13910 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13911 (gst_base_src_init), (gst_base_src_loop),
13912 (gst_base_src_activate_push), (gst_base_src_activate_pull),
13913 (gst_base_src_change_state):
13914 * libs/gst/base/gstbasesrc.h:
13915 Don't unconditionally send EOS when going from PAUSED to
13916 READY state, esp. make sure we don't send two EOS events
13917 in some cases (e.g. one when reaching EOS and one when
13918 going from PAUSED to READY). Also, we don't want to send
13919 EOS events when operating in pull mode. However, we do
13920 want to send an EOS event when shutting down a live
13921 source explicitly, for example (fixes #330996).
13923 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13925 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13926 Update src->read_position after a seek when not using mmap.
13927 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
13929 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
13935 Make things work with --disable-parse as they do with
13936 --disable-load-save - the symbols involved disappear, but the
13937 header is still installed and GST_DISABLE_PARSE is included via
13940 2006-02-20 Julien MOUTTE <julien@moutte.net>
13942 * libs/gst/base/gstbasetransform.c:
13943 (gst_base_transform_change_state): Fix a stupid bug. I was
13944 sure I compiled that.
13946 2006-02-20 Julien MOUTTE <julien@moutte.net>
13948 * gst/gstpad.c: (gst_pad_set_blocked_async):
13949 * gst/gstutils.c: (gst_pad_add_data_probe),
13950 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13951 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13952 (gst_pad_remove_buffer_probe): Make those function act on the
13953 ghostpad target when it's a ghostpad. (Closes #331727)
13955 2006-02-20 Julien MOUTTE <julien@moutte.net>
13957 * libs/gst/base/gstbasetransform.c:
13958 (gst_base_transform_change_state): Make basetransform reusable.
13961 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
13963 * docs/random/release:
13964 Move the current documentation of how to do a release to the top
13967 * gst/gstbin.c: (gst_bin_class_init),
13968 (gst_bin_handle_message_func):
13969 Allow multiple state-recalculation threads. (Closes #328873)
13971 2006-02-19 Julien MOUTTE <julien@moutte.net>
13973 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
13974 * gst/gstpad.c: (gst_pad_set_event_function),
13975 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13976 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
13977 2 strings. You can't use the STR_NULL macro on that.
13979 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
13981 * gst/gstpad.c: (gst_pad_set_event_function),
13982 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13983 (gst_pad_set_getcaps_function)
13984 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
13985 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
13986 So now, we can use --gst-debug-level=5 on Windows
13987 * win32/common/libgstcontroller.def:
13988 Added export of gst_controller_init
13989 * win32/vs6/libgstcontroller.dsp:
13990 Fixed Release post build configuration
13992 2006-02-17 Wim Taymans <wim@fluendo.com>
13994 * tests/check/gst/gstquery.c: (GST_START_TEST):
13995 Added another check.
13997 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
13999 * plugins/elements/gsttypefindelement.c: (find_peek):
14000 We can do peeks at non-zero offsets, as long as they
14001 fall within the buffer we have.
14003 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
14005 * tests/check/Makefile.am:
14006 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
14007 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
14008 (parse_suite), (main):
14009 Add testsuite for parse launch syntax
14011 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
14013 * plugins/elements/gsttypefindelement.c:
14014 (gst_type_find_element_chain):
14015 When typefinding is unsuccessful in the chain function, don't
14016 error out immediately. Only error out with NO_CAPS_FOUND if
14017 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
14018 otherwise simply wait for more data so we can try typefinding
14019 again with more data later. Also, don't attempt to typefind
14020 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
14021 this should improve typefinding from network sources where the
14022 size of the first buffer can be somewhat random.
14024 2006-02-14 Wim Taymans <wim@fluendo.com>
14026 * docs/gst/gstreamer-sections.txt:
14027 * gst/gstpadtemplate.c:
14028 * gst/gstpadtemplate.h:
14029 Fix padtemplate docs, fixes #328805.
14031 2006-02-14 Wim Taymans <wim@fluendo.com>
14033 * tools/gst-launch.c: (main):
14034 NO_PREROLL is not an ERROR so don't send confusing messages
14037 2006-02-14 Wim Taymans <wim@fluendo.com>
14039 Patch by: Torsten Schoenfeld
14041 * gst/gstregistry.c: (gst_registry_get_default),
14042 (_gst_registry_cleanup):
14043 Protect default registry with lock and ref/sink it.
14046 2006-02-14 Wim Taymans <wim@fluendo.com>
14049 * gst/gstquery.c: (gst_query_list_add_format),
14050 (gst_query_set_formatsv), (gst_query_parse_formats_length),
14051 (gst_query_parse_formats_nth):
14052 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14055 2006-02-14 Wim Taymans <wim@fluendo.com>
14057 * docs/gst/gstreamer-sections.txt:
14058 Reworked query docs.
14060 * gst/gstquery.c: (gst_query_new_formats),
14061 (gst_query_list_add_format), (gst_query_set_formats),
14062 (gst_query_set_formatsv), (gst_query_parse_formats_length),
14063 (gst_query_parse_formats_nth):
14065 Flesh out formats query, added some new methods.
14066 Fix part of #324398.
14068 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
14069 Added query creation tests.
14071 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
14073 * gst/gstpad.c: (fixate_value):
14074 Add a default fixation for fraction lists.
14076 2006-02-13 Wim Taymans <wim@fluendo.com>
14078 * gst/gsttask.c: (gst_task_init), (gst_task_func),
14079 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
14082 Detect and warn for obvious deadlocks. fixes #320340
14083 Fix error case where lock was not released.
14085 * tests/check/Makefile.am:
14086 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
14087 (task_func), (gst_element_suite), (main):
14090 2006-02-13 Wim Taymans <wim@fluendo.com>
14092 * docs/gst/gstreamer-sections.txt:
14094 Add new functions to docs.
14096 2006-02-13 Wim Taymans <wim@fluendo.com>
14098 * docs/design/part-TODO.txt:
14099 Updated TODO list, basesrc supports seeking to non-bytes
14102 * docs/design/part-element-sink.txt:
14105 * gst/gstbin.c: (bin_replace_message),
14106 (gst_bin_handle_message_func):
14107 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
14108 * gst/gstevent.c: (gst_event_finalize):
14109 * gst/gstpad.c: (gst_pad_event_default_dispatch),
14110 (gst_pad_send_event):
14111 Use shiny new _TYPE_NAME macros.
14113 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14114 Move debug statement up.
14116 * gst/gstelement.c: (gst_element_set_locked_state):
14117 Add some debugging.
14119 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
14121 * docs/gst/gstreamer-sections.txt:
14122 * gst/gstmessage.h:
14124 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
14125 macros (#330906). Also, document the already existing
14126 GST_QUERY_TYPE macro.
14128 2006-02-13 Wim Taymans <wim@fluendo.com>
14130 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
14131 (event_probe), (GST_START_TEST):
14132 Only events up to the pipeline EOS are counted, there are
14133 some more when going to NULL currently which we don't care
14136 2006-02-13 Wim Taymans <wim@fluendo.com>
14138 * gst/gstpad.c: (gst_pad_send_event):
14139 Correctly check flushing and emit probes. fixes #330125
14141 2006-02-10 Andy Wingo <wingo@pobox.com>
14143 * gst/gstbus.c (gst_bus_class_init): Declare our private data
14145 (gst_bus_init): Cache the location of the private data in the
14146 instance structure.
14147 (gst_bus_enable_sync_message_emission)
14148 (gst_bus_disable_sync_message_emission): Implement new public
14150 (gst_bus_post): Emit the sync-message signal if the user asked for
14153 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
14154 location of the bus-private structure.
14155 (gst_bus_enable_sync_message_emission)
14156 (gst_bus_disable_sync_message_emission): API addition
14158 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
14160 Patch by: Vincent Torri
14162 * docs/pwg/building-boiler.xml:
14163 PWG patch from #326800
14165 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
14168 * docs/Makefile.am:
14169 * docs/design/Makefile.am:
14172 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
14177 === release 0.10.3 ===
14179 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
14182 releasing 0.10.3, "Like a virgin"
14184 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
14187 2nd prerelease of 0.10.3
14188 Bump libtool versioning.
14190 2006-02-07 Andy Wingo <wingo@pobox.com>
14192 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
14193 update last_stop if we're in TIME format and the timestamp is
14196 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
14197 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
14198 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
14199 If we get a new newsegment with a different format, adapt
14202 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
14203 of 0. Not a problem, really.
14205 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
14208 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
14213 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
14216 project files updated to the default vs7 configuration
14217 * win32/common/libgstbase.def:
14218 * win32/common/libgstreamer.def:
14220 removed empty lines,
14221 sorted all exported symbols alphabetically
14222 * win32/common/dirent.c:
14223 * win32/common/dirent.h:
14224 * win32/common/gchar.h:
14225 use windows line end.
14227 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
14229 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
14230 Send EOS event when stopping.
14232 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
14235 Tell folks what to do if the plugin-foobar.xml file
14236 hasn't been generated for a newly-added plugin.
14238 2006-02-05 Julien MOUTTE <julien@moutte.net>
14240 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14241 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14242 (gst_collect_pads_start), (gst_collect_pads_stop),
14243 (gst_collect_pads_event): Collectpads now holds a reference
14244 to the GstPad that was added. Indeed we don't want to look
14245 at pads that might just go away with no warning...
14247 2006-02-05 Julien MOUTTE <julien@moutte.net>
14249 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14250 (gst_collect_pads_start), (gst_collect_pads_stop),
14251 (gst_collect_pads_event), (gst_collect_pads_chain):
14252 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
14253 Mark Nauwelaerts's patch on bug #328491.
14255 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
14257 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
14259 Add some simple tests for gst_parse_bin_from_description() and
14260 gst_bin_find_unconnected_pad() (#329069).
14262 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
14264 * tools/gst-launch.c: (event_loop), (main):
14265 Catch errors during preroll (#320084).
14267 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
14269 * plugins/elements/gsttypefindelement.c:
14270 (gst_type_find_element_activate):
14271 Post TYPE_NOT_FOUND error message when typefinding
14272 is unsuccessful in the activate function as well.
14274 2006-02-02 Wim Taymans <wim@fluendo.com>
14276 * docs/design/part-element-sink.txt:
14279 2006-02-02 Wim Taymans <wim@fluendo.com>
14281 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14282 (gst_base_sink_render_object),
14283 (gst_base_sink_queue_object_unlocked):
14284 Only keep track of prerollable items when we are
14286 Before rendering after preroll, always check if we
14288 Added some more debugging.
14290 2006-02-02 Wim Taymans <wim@fluendo.com>
14292 * gst/gstelement.c: (gst_element_continue_state),
14293 (gst_element_set_state_func), (gst_element_change_state):
14294 Fixed #326576, been running this for quite some time with
14295 no regressions at all.
14297 2006-02-02 Wim Taymans <wim@fluendo.com>
14300 Added more suppressions
14302 2006-02-02 Wim Taymans <wim@fluendo.com>
14304 * docs/design/part-element-sink.txt:
14307 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14308 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
14309 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
14310 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14311 (gst_base_sink_do_sync), (gst_base_sink_render_object),
14312 (gst_base_sink_preroll_object),
14313 (gst_base_sink_queue_object_unlocked),
14314 (gst_base_sink_queue_object), (gst_base_sink_event),
14315 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
14316 (gst_base_sink_loop), (gst_base_sink_activate_pull),
14317 (gst_base_sink_get_position), (gst_base_sink_change_state):
14318 * libs/gst/base/gstbasesink.h:
14319 Totally refactored matching the design doc.
14320 Use two segments, one to clip incomming buffers and another to
14322 Handle queueing correctly, bypass the queue when playing.
14323 Make EOS cancelable.
14324 Handle errors correctly when operating in pull based mode.
14326 * tests/check/elements/fakesink.c: (GST_START_TEST),
14328 Added new check for sinks.
14330 2006-02-02 Wim Taymans <wim@fluendo.com>
14332 * gst/gstsegment.c: (gst_segment_clip):
14333 No reason to refuse to clip when start == -1
14335 2006-02-02 Stefan Kost <ensonic@users.sf.net>
14338 * docs/manual/intro-basics.xml:
14339 * docs/manual/intro-preface.xml:
14340 * docs/manual/manual.xml:
14341 * docs/pwg/advanced-dparams.xml:
14342 * docs/pwg/intro-basics.xml:
14343 * docs/pwg/intro-preface.xml:
14344 * docs/pwg/pwg.xml:
14345 describe dparams (controller) for plugins
14346 unify docs a little more
14348 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
14350 * docs/gst/gstreamer-sections.txt:
14351 * gst/gstutils.c: (element_find_unconnected_pad),
14352 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
14354 Add new API: gst_parse_bin_from_description() and
14355 gst_bin_find_unconnected_pad() (#329069).
14357 2006-02-01 Stefan Kost <ensonic@users.sf.net>
14359 * docs/manual/README:
14360 uncover a nasty detail of the docs build
14362 2006-01-31 Wim Taymans <wim@fluendo.com>
14364 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
14365 Don't cache duration messages if we're not going to use or
14368 2006-01-31 Stefan Kost <ensonic@users.sf.net>
14370 * docs/manual/advanced-dparams.xml:
14371 * docs/pwg/advanced-dparams.xml:
14375 * libs/gst/controller/lib.c: (gst_controller_init):
14378 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
14380 * gst/gstelement.c: (gst_element_message_full):
14381 also show file/line/func if no additional debug was given
14383 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
14385 * win32/vs7/grammar.vcproj:
14386 activate copy of autogenerated files for Release mode
14388 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
14390 * win32/common/libgstreamer.def:
14391 export gst_value_compare
14393 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
14395 * plugins/elements/Makefile.am:
14396 * plugins/elements/gstelements.c:
14397 * plugins/elements/gstfdsink.c: (_do_init),
14398 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
14399 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
14400 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
14401 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
14402 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
14403 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
14404 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
14405 * plugins/elements/gstfdsink.h:
14406 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
14408 2006-01-30 Stefan Kost <ensonic@users.sf.net>
14410 * docs/manual/advanced-dparams.xml:
14411 describe controller
14412 * docs/manual/advanced-position.xml:
14413 * docs/manual/basics-init.xml:
14414 * docs/manual/manual.xml:
14415 * docs/manual/titlepage.xml:
14416 * docs/pwg/pwg.xml:
14417 * docs/pwg/titlepage.xml:
14418 cleanup xml (more to come)
14419 * libs/gst/controller/gstcontroller.c:
14422 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
14424 * win32/vs6/grammar.dsp:
14425 add autogen of gstmarshal.c,h for Release mode
14427 2006-01-30 Wim Taymans <wim@fluendo.com>
14429 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14430 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
14431 (gst_base_sink_handle_object), (gst_base_sink_event),
14432 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
14433 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14434 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
14435 (gst_base_sink_deactivate), (gst_base_sink_activate),
14436 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14437 (gst_base_sink_query), (gst_base_sink_change_state):
14438 Basesink cleanups, remove some old code.
14439 Handle the case where a subclass can preroll in the render
14440 method (mostly audiosinks).
14441 Handle more events.
14442 Remove some locks around variables that are now protected
14443 with the PREROLL_LOCK (clock_id, flushing, ..).
14444 Optimize position query some more, do correct locking.
14445 Remove old code to push queue in state change, this is not
14446 needed anymore since preroll blocks on all prerollable items
14448 Almost implemented as described in design doc.
14450 2006-01-30 Wim Taymans <wim@fluendo.com>
14452 * tests/check/gst/gstbin.c: (GST_START_TEST):
14453 Wait for refcount to settle down before checking.
14455 2006-01-30 Wim Taymans <wim@fluendo.com>
14457 * docs/design/part-element-sink.txt:
14458 Pseudo code overview of desired sink behaviour regarding
14461 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
14462 * win32/vs6/grammar.dsp:
14463 fix some bugs in Release mode for autogenerated files
14465 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
14466 * win32/common/libgstbase.def:
14467 * win32/common/libgstreamer.def:
14468 export some new symbols: gst_base_src_set_format,
14469 gst_iterator_next, gst_structure_set_valist
14471 2006-01-29 Julien MOUTTE <julien@moutte.net>
14473 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
14474 Set pad functions unconditionally. Fixes #329105.
14476 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
14478 add vs8 project files created by Sergey Scobich
14480 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
14482 * gst/gstutils.c: (gst_element_unlink_pads):
14483 Don't leak pad references.
14485 * tests/check/elements/fakesink.c: (GST_START_TEST):
14486 * tests/check/generic/sinks.c: (GST_START_TEST):
14487 * tests/check/generic/states.c: (GST_START_TEST):
14488 * tests/check/gst/gstbin.c: (GST_START_TEST):
14489 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14490 * tests/check/gst/gstelement.c: (GST_START_TEST):
14491 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14492 * tests/check/gst/gstiterator.c: (GST_START_TEST):
14493 * tests/check/gst/gstvalue.c: (GST_START_TEST):
14494 Fix a bunch of leaks. Make generic/sinks.c
14495 use a bit less cpu by slowing the buffer rate
14496 between fakesrc and fakesink.
14498 2006-01-27 Stefan Kost <ensonic@users.sf.net>
14500 * gst/gstelement.c: (gst_element_send_event):
14503 * gst/gstiterator.c:
14504 * gst/gstiterator.h:
14505 * gst/gstpad.c: (gst_pad_send_event):
14506 * gst/gststructure.c:
14510 * libs/gst/base/gstadapter.c:
14511 doc fixes, to link to function, just write gst_cool_function(), don't
14514 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
14516 * plugins/elements/gsttee.c: (gst_tee_do_push),
14517 (gst_tee_handle_buffer):
14518 Always prefer an actual return value from a src
14519 pad in place of NOT_LINKED. This means we return
14520 WRONG_STATE when all src pads are WRONG_STATE
14521 instead of NOT_LINKED.
14523 Lock when replacing the last message to prevent
14524 racing with the get_property method.
14528 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
14530 * tests/check/Makefile.am:
14531 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
14533 Add a very simple check that should have caught the memleak I fixed
14534 last night (if not for the slice allocator hiding it)
14536 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
14538 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14539 (gst_bin_remove_func), (gst_bin_handle_message_func),
14540 (bin_query_duration_fold), (bin_query_generic_fold):
14541 Clean up references to the clock provider when disposed or when
14542 handling a clock-lost message from it.
14544 Unref sinks when performing a query via gst_iterator_fold, as the
14545 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
14547 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
14548 (gst_clock_set_master):
14549 Drop our reference to the master clock, if any, when we are disposed.
14551 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
14552 Chain up in dispose.
14554 2006-01-26 Wim Taymans <wim@fluendo.com>
14556 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14557 Add some debugging.
14559 2006-01-26 Julien MOUTTE <julien@moutte.net>
14561 * plugins/elements/gsttee.c: (gst_tee_do_push),
14562 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
14563 handles pad being NOT_LINKED or in WRONG_STATE.
14565 2006-01-26 Stefan Kost <ensonic@users.sf.net>
14570 2006-01-26 Stefan Kost <ensonic@users.sf.net>
14573 remove obsolete entry
14575 2006-01-26 Stefan Kost <ensonic@users.sf.net>
14577 * docs/gst/gstreamer-sections.txt:
14578 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
14579 (gst_bin_iterate_sources), (gst_bin_send_event):
14581 * gst/gstelement.c: (gst_element_send_event):
14583 * gst/gstpad.c: (gst_pad_send_event):
14584 added code for downstream events, reviewed docs in gstevent.c
14586 2006-01-25 Julien MOUTTE <julien@moutte.net>
14588 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14589 We only query position using the clock in the playing state.
14590 Query peer in the other cases.
14591 * win32/common/config.h: Updates.
14593 2006-01-24 Wim Taymans <wim@fluendo.com>
14595 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14596 A clock entry that is scheduled for the exact time of the
14597 clock is still in time.
14599 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14600 (gst_base_sink_do_sync):
14601 Add some more debug info.
14603 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
14606 Add new vs7 project files and solution.
14608 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
14611 all files removed as they were out-dated.
14613 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
14615 * docs/random/release:
14617 * gst/gstbin.c: (gst_bin_init):
14618 * gst/gstbus.c: (gst_bus_new):
14620 * gst/gstpipeline.c: (gst_pipeline_init):
14621 use gst_bus_new(), improve logging, fix docs
14622 * win32/common/config.h:
14623 update for cvs build
14625 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
14628 up required version of automake to 1.7
14630 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
14632 * win32/common/libgstreamer.def:
14633 export gst_buffer_is_metadata_writable
14635 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
14637 * docs/gst/gstreamer-sections.txt:
14639 Add gst_event_replace() (#327001)
14641 2006-01-20 Wim Taymans <wim@fluendo.com>
14643 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14644 Make it actually compile too..
14646 2006-01-20 Wim Taymans <wim@fluendo.com>
14649 Clarify behaviour of _is_equal() when passing NULL parameters.
14651 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14652 (gst_pad_set_caps):
14653 Cleanups. Don't unref NULL caps.
14654 When setting the same caps, protect caps of the pad with
14656 Use full functionality of _is_equal() when comparing caps.
14658 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
14660 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14661 Don't loop infinitely if there are no buffers to present. Partially
14662 fixes #327197, but collectpads is just broken for reusing elements
14663 to do multiple encodes atm.
14665 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
14667 * tools/gst-inspect.c: (print_element_features):
14668 * tools/gst-xmlinspect.c: (main):
14669 URL_HANDLER is not a plugin feature we can search for in
14672 2006-01-19 Edward Hervey <edward@fluendo.com>
14674 * gst/gstelement.c: (gst_element_pads_activate):
14675 When activating, do src pads first, then sink pads.
14676 When de-activating, do sink pads first, then src pads.
14678 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14680 * docs/gst/gstreamer-sections.txt:
14681 Add gst_index_add_associationv to the docs
14683 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14688 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
14689 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
14690 Do some refactoring. Doesn't actually change functionality,
14691 but makes landing the DRAIN event easier later.
14693 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
14695 * docs/pwg/advanced-scheduling.xml:
14696 Update from 0.9.x to 0.10 API and make example a bit
14699 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14701 * docs/gst/gstreamer-sections.txt:
14702 Add gst_buffer_(is|make)_metadata_writable methods.
14704 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14706 * docs/design/part-sparsestreams.txt:
14707 Update sparse streams doc, hopefully for greater clarity
14709 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
14711 * docs/design/part-events.txt:
14712 Remove mention of FILLER events.
14715 * docs/design/part-sparsestreams.txt:
14716 Write some things about using NEWSEGMENT to keep sparse streams
14719 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
14721 * gst/gstbin.c: (gst_bin_dispose):
14722 Guard gst_object_unref call against a NULL object (dispose
14723 can theoretically be called multiple times).
14725 2006-01-18 Wim Taymans <wim@fluendo.com>
14727 * gst/gstbin.c: (gst_bin_element_set_state):
14728 * gst/gstclock.c: (gst_clock_id_wait):
14729 Added some more debug info.
14731 * libs/gst/base/gstadapter.c:
14734 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14735 (gst_base_sink_do_sync), (gst_base_sink_chain):
14736 Added some comments.
14738 2006-01-18 Wim Taymans <wim@fluendo.com>
14740 * tests/check/Makefile.am:
14741 * tests/check/elements/fakesink.c: (chain_async_buffer),
14742 (chain_async), (chain_async_return), (GST_START_TEST),
14743 (fakesink_suite), (main):
14744 Added fakesink test that checks prerolling and clipping
14747 * tests/check/gst/gstutils.c: (GST_START_TEST):
14748 Make check run faster so that buildbots don't timeout.
14750 2006-01-18 Wim Taymans <wim@fluendo.com>
14752 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14753 (gst_base_sink_do_sync):
14755 When the sink finishes blocking on the preroll buffer, it can
14756 immediatly render it instead of rendering when the next buffer
14759 2006-01-18 Wim Taymans <wim@fluendo.com>
14761 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
14762 (gst_base_sink_get_property), (gst_base_sink_do_sync),
14763 (gst_base_sink_chain):
14765 GST_ELEMENT_CLOCK and sync are protected with LOCK.
14766 Don't store _last_stop if the buffer is dropped.
14768 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
14770 * plugins/elements/gsttypefindelement.c:
14771 (gst_type_find_element_class_init):
14772 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
14773 object method handler that sets the caps on the pad and we want
14774 that to happen before we emit the signal (fixes e.g. feeding a
14775 plain text file to decodebin).
14777 2006-01-18 Christian Schaller <Christian@fluendo.com>
14779 * gst/gstplugin.c: Add MPL and Proprietary as license options
14781 2006-01-18 Andy Wingo <wingo@pobox.com>
14783 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
14784 symbol was exported before, it appears this was just an oversight.
14786 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
14788 * gst/gstindex.c (gst_index_add_associationv): Changed int in
14789 prototype to gint. OK since this prototype was not in the header.
14791 2006-01-17 Andy Wingo <wingo@pobox.com>
14793 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
14794 registry while we remove plugins.
14796 * tools/gst-inspect.c (print_element_info): Don't unref the
14797 factory arg, that should be the responsibility of whatever code
14798 received the ref. Fixes a double-free when called from
14799 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
14800 (main): Unref the factory if we have one.
14801 (print_element_list): No change -- relies on the
14802 plugin_feature_list_free to free the list of features.
14804 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
14806 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14807 (gst_buffer_make_metadata_writable):
14809 * libs/gst/base/gstbasetransform.c:
14810 (gst_base_transform_prepare_output_buf):
14811 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14812 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14813 Replace gst_buffer_(make|is)_metadata_writable patch now
14814 that the release is out.
14816 2006-01-17 Andy Wingo <wingo@pobox.com>
14818 * gst/gstregistry.c: Reflow design comment. Update so as to speak
14819 in the present tense without reference to versions.
14821 * gst/gstregistry.c (gst_registry_add_plugin)
14822 (gst_registry_remove_plugin, gst_registry_remove_feature)
14823 (gst_registry_find_feature, gst_registry_get_feature_list)
14824 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
14825 (gst_registry_lookup, gst_registry_scan_path)
14826 (_gst_registry_remove_cache_plugins)
14827 (gst_registry_get_feature_list_by_plugin): Add argument
14830 === release 0.10.2 ===
14832 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
14835 releasing 0.10.2, "If man is five"
14837 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
14841 * libs/gst/base/gstbasetransform.c:
14842 (gst_base_transform_prepare_output_buf):
14843 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14844 * tests/check/gst/gstbuffer.c: (gst_test_suite):
14845 Back out patch until after the release.
14847 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
14849 * gst/gstminiobject.c:
14850 Spelling fix in docs.
14851 * ChangeLog - remove conflict indicator
14853 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
14855 Reviewed By: Andy Wingo
14857 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14858 (gst_buffer_make_metadata_writable):
14860 Add gst_buffer_(is|make)_metadata_writable as analogues of
14861 gst_buffer_(is|make)_writable.
14863 * libs/gst/base/gstbasetransform.c:
14864 (gst_base_transform_prepare_output_buf):
14865 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14866 Use name gst_buffer_(is|make)_metadata_writable functions.
14868 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14869 Test gst_buffer_(is|make)_metadata_writable
14873 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
14875 * docs/manual/Makefile.am:
14876 don't do parallel make
14879 * win32/common/config.h.in:
14880 add generations for HOST_CPU and GST_MAJORMINOR
14881 * win32/common/config.h:
14882 commit generated result
14884 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
14886 * docs/manual/appendix-integration.xml:
14887 Update GNOME integration section to use gst_init_get_option_group()
14888 instead of the old popt stuff (#322911). Also, GNOME applications
14889 should now use gconf*sink and gconf*src instead of the old gconf
14892 2006-01-13 Stefan Kost <ensonic@users.sf.net>
14895 * docs/gst/gstreamer-docs.sgml:
14896 * docs/gst/gstreamer-sections.txt:
14897 * docs/libs/gstreamer-libs-sections.txt:
14898 add new API entries to the docs
14899 * libs/gst/controller/Makefile.am:
14900 * libs/gst/controller/gstcontroller.c:
14901 * libs/gst/controller/gstcontroller.h:
14902 * libs/gst/controller/gstcontrollerprivate.h:
14903 * libs/gst/controller/gsthelper.c:
14904 * libs/gst/controller/gstinterpolation.c:
14905 move private structs to private header
14907 gstreamer-0.7 -> gstreamer-0.10
14908 * tests/check/libs/struct_i386.h:
14909 remove private structs
14911 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
14913 * plugins/indexers/Makefile.am:
14914 Fixes as part of #317048
14916 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
14918 * plugins/indexers/Makefile.am:
14919 fix #316086 - compilation when mmap is missing
14921 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
14923 * libs/gst/base/gstbasesink.c:
14924 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
14925 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
14926 * win32/common/config.h:
14927 added some defines GST_MAJORMINOR and HOST_CPU
14928 * win32/common/libgstbase.def:
14929 * win32/common/libgstreamer.def:
14930 added some exported functions.
14932 2006-01-12 Stefan Kost <ensonic@users.sf.net>
14934 * libs/gst/controller/gstcontroller.c:
14935 (gst_controlled_property_set_interpolation_mode),
14936 (gst_controlled_property_new):
14937 * libs/gst/controller/gstcontroller.h:
14938 * libs/gst/controller/gstinterpolation.c:
14939 (interpolate_none_get_string_value_array):
14940 make G_TYPE_STRING controlable
14942 2006-01-12 Stefan Kost <ensonic@users.sf.net>
14945 * tools/gst-feedback.1.in:
14946 * tools/gst-inspect.1.in:
14947 * tools/gst-launch.1.in:
14948 * tools/gst-md5sum.1.in:
14949 * tools/gst-typefind.1.in:
14950 * tools/gst-xmlinspect.1.in:
14951 * tools/gst-xmllaunch.1.in:
14952 cleanup man-pages, remove reference to gst-register, document env-vars
14954 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
14956 * gst/gstbuffer.c: (gst_buffer_span):
14957 gst_buffer_span should copy the timestamp of the first buffer
14958 if they were both originally overlapping subbuffers of the
14959 same parent, using the same logic as the 'slow copy' case.
14961 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
14963 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
14964 Need to awaken ALL the pads when we pop a buffer, otherwise
14965 collectpads only works when there is 2 input streams.
14967 2006-01-11 Stefan Kost <ensonic@users.sf.net>
14969 * docs/random/ensonic/media-device-daemon.txt:
14972 fix doc example, add clarification
14973 * tools/gst-launch.1.in:
14974 add initial info about GST_PLUGIN_PATH, needs more work
14976 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
14978 * docs/manual/basics-bins.xml:
14979 * docs/manual/basics-elements.xml:
14980 * docs/manual/intro-basics.xml:
14981 Some more minor docs additions and updates.
14983 2006-01-11 Wim Taymans <wim@fluendo.com>
14985 * docs/manual/basics-bins.xml:
14986 * docs/manual/basics-elements.xml:
14987 Some small fixes as pointed out by Ser-ver on IRC.
14989 2006-01-10 Edward Hervey <edward@fluendo.com>
14991 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14992 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
14993 the single-segment mode.
14995 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
14997 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14999 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
15000 (gst_base_src_perform_seek), (gst_base_src_send_event),
15001 (gst_base_src_set_property), (gst_base_src_get_property),
15002 (gst_base_src_loop), (gst_base_src_start),
15003 (gst_base_src_activate_push):
15004 * libs/gst/base/gstbasesrc.h:
15005 Name (private) union; makes Sun's Forte compiler happy (#324900).
15007 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
15010 gst-register is gone.
15012 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
15014 * gst/gstvalue.c: (_gst_value_initialize):
15015 make the G_TYPE_DATE instantiation work if debug is disabled
15017 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
15019 * gst/gstmessage.c: (gst_message_parse_tag),
15020 (gst_message_parse_error), (gst_message_parse_warning):
15021 Don't crash when return location for error/warning debug
15022 string is NULL; add fact that return locations can be
15023 NULL to docs where appropriate.
15025 2006-01-05 Wim Taymans <wim@fluendo.com>
15027 * gst/gstplugin.c: (gst_plugin_load_file):
15028 Replace strdup by g_strdup.
15030 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
15032 * docs/pwg/advanced-types.xml:
15035 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
15037 submitted by: Abel Cheung
15041 Added Chinese (traditional) translation
15043 2006-01-04 Wim Taymans <wim@fluendo.com>
15045 * docs/manual/basics-pads.xml:
15046 * docs/plugins/Makefile.am:
15047 * docs/plugins/gstreamer-plugins-docs.sgml:
15048 * docs/plugins/gstreamer-plugins-sections.txt:
15049 * docs/pwg/advanced-clock.xml:
15050 * docs/pwg/advanced-scheduling.xml:
15051 * docs/pwg/advanced-types.xml:
15052 * plugins/elements/gstfdsink.c:
15053 * plugins/elements/gstfdsrc.c:
15054 * plugins/elements/gstfdsrc.h:
15055 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15056 * plugins/elements/gstidentity.h:
15057 * plugins/elements/gstqueue.h:
15058 * plugins/elements/gsttee.c:
15059 * plugins/elements/gsttee.h:
15060 * plugins/elements/gsttypefindelement.c:
15061 (gst_type_find_element_class_init):
15062 * plugins/elements/gsttypefindelement.h:
15063 Small updates to various docs.
15064 Added core plugins to docs.
15066 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15069 add a suppression for liboil's uninitialized variable
15071 2006-01-02 James Livingston <jrl at ids dot org dot au>
15073 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15076 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
15077 macro, so that gcc doesn't complain if the -Wmissing-prototypes
15078 compiler switch is being used (#325429).
15080 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
15082 * gst/gstbin.c: (gst_bin_query):
15083 Disable duration query caching in bins until it gets
15084 fixed (see #324807).
15086 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
15088 * tools/gst-inspect.c: (print_element_properties_info):
15089 Handle properties of POINTER and BOXED type.
15091 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
15093 * gst/gst.c: (init_post):
15094 Init tags stuff and some other things before loading
15095 any static plugins (there may be other static plugins
15096 than just the GStreamer ones, and they may want to
15097 register their own tags or formats or whatever, and
15098 preferably without segfaulting).
15100 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
15101 Print at least a warning in the debug logs if we drop a
15102 query just because we don't know how to adjust the value
15103 in the particular format.
15105 2005-12-24 David Schleef <ds@schleef.org>
15107 * tools/gstreamer-completion:
15108 Replacement for gst-complete written in sh and sed. Only
15109 completes names of features, but that's 90% of what I want
15110 it for. Properties are not available in registry.xml. (Maybe
15113 === release 0.10.1 ===
15115 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
15118 releasing 0.10.1, "Nollaig chridheil"
15120 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
15122 * docs/faq/cvs.xml:
15123 Add missing quote, should be make ERROR_CFLAGS="".
15125 2005-12-20 Wim Taymans <wim@fluendo.com>
15127 * docs/design/part-trickmodes.txt:
15128 More documentation on trickmodes.
15130 2005-12-20 Edward Hervey <edward@fluendo.com>
15132 * gst/gstcaps.c: (gst_static_caps_get_type):
15134 API addition: GST_TYPE_STATIC_CAPS
15135 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
15136 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
15137 * gst/gstpadtemplate.h:
15138 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
15139 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
15142 2005-12-18 Wim Taymans <wim@fluendo.com>
15144 * libs/gst/base/gstadapter.c:
15145 * libs/gst/base/gstadapter.h:
15146 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15147 (gst_base_sink_get_position):
15148 * libs/gst/base/gstbasesink.h:
15149 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15150 (gst_base_src_default_query), (gst_base_src_default_do_seek),
15151 (gst_base_src_do_seek), (gst_base_src_perform_seek),
15152 (gst_base_src_send_event), (gst_base_src_update_length),
15153 (gst_base_src_get_range), (gst_base_src_loop),
15154 (gst_base_src_start):
15155 * libs/gst/base/gstbasesrc.h:
15156 * libs/gst/base/gstbasetransform.h:
15157 * libs/gst/base/gstcollectpads.h:
15158 * libs/gst/base/gstpushsrc.c:
15159 * libs/gst/base/gstpushsrc.h:
15160 * libs/gst/dataprotocol/dataprotocol.c:
15161 * libs/gst/dataprotocol/dataprotocol.h:
15162 * libs/gst/net/gstnetclientclock.h:
15163 * libs/gst/net/gstnettimeprovider.h:
15164 Documentation updates.
15166 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
15168 * docs/manual/basics-helloworld.xml:
15169 Remove superfluous closing bracket in helloworld example.
15171 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
15173 * tools/gst-launch.1.in:
15174 Update gst-launch man page; add a section with useful
15175 environment variables. Fixes #323882.
15177 2005-12-16 Stefan Kost <ensonic@users.sf.net>
15180 * gst/gst_private.h:
15181 change some char* into char[]
15183 2005-12-16 Wim Taymans <wim@fluendo.com>
15185 * gst/gstregistryxml.c: (load_feature):
15187 Don't use g_object_unref on GstObjects so that we avoid
15188 leaks on unsafe glibs.
15190 2005-12-16 Wim Taymans <wim@fluendo.com>
15192 * gst/gstbin.c: (gst_bin_recalc_state):
15195 2005-12-16 Wim Taymans <wim@fluendo.com>
15197 * common/check.mak:
15198 Added make forever target for check.
15200 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
15202 * gst/gst.c: (init_post):
15203 make the registry cache file HOST_CPU-dependent
15205 2005-12-16 Andy Wingo <wingo@pobox.com>
15207 * plugins/elements/gstbufferstore.c
15208 (gst_buffer_store_cleared_func): Pay attention to g_list_append
15211 * tests/check/gst/gstobject.c
15212 (test_fake_object_name_threaded_unique): Pay attention to
15213 g_list_sort return value.
15215 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
15217 * tools/gst-feedback-m.m:
15218 Update for 0.9/0.10 (fixes #323870).
15220 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
15222 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
15223 Fix lcopy for mini objects, the mini object needs to be ref'ed.
15225 * tests/check/gst/gstminiobject.c: (my_foo_init),
15226 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
15227 (test_value_collection), (gst_mini_object_suite):
15228 Add test to ensure refcounts end up as expected when passing
15229 GstMiniObjects through g_object_get() and g_object_set().
15231 2005-12-14 Julien MOUTTE <julien@moutte.net>
15233 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15234 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
15235 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
15236 of collectpads. This version removes a lot of races without
15237 touching API/ABI. Yay !
15239 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
15241 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
15242 Don't allow activation of a srcpad in pull_range if it has no
15244 Change some debug statements to be a little clearer
15246 * plugins/elements/gsttypefindelement.c:
15247 (gst_type_find_handle_src_query):
15248 Check that we have a peer before executing queries thereupon.
15250 * tests/examples/metadata/read-metadata.c: (message_loop):
15251 Use gst_bus_pop instead of gst_bus_poll when we just want it to
15252 immediately return us any available message with 0 timeout.
15254 2005-12-12 Michael Smith <msmith@fluendo.com>
15256 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
15257 Don't unref factories after calling them.
15258 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
15259 * plugins/elements/gsttypefindelement.c:
15260 (gst_type_find_element_chain):
15261 Free lists of factories after using them. Fixing typefinding memory
15264 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15266 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
15267 (gst_plugin_feature_load):
15268 more meaningful debug output
15270 * tests/Makefile.am:
15271 * tests/old/examples/Makefile.am:
15272 make make distcheck happy again
15274 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
15276 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15277 Catch the special case where we are operating chain-based,
15278 but the downstream peer pad has no chain function. Emit a
15279 custom error message in this case instead of letting the
15280 core generate one implying that this is some sort of core
15281 bug. It's not, it just means that whatever got plugged
15282 into the pipeline downstream when we announced the type
15283 can only operate pull-based, while our source can only
15284 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
15285 Error string has not been marked for translation yet, as
15286 it probably needs some more work first.
15288 (gst_type_find_element_get_best_possibility):
15289 Add helper function to find the best of all available
15290 found possibilities that qualify given the min. threshold.
15292 (gst_type_find_element_handle_event):
15293 Fix the case where we get an EOS while still in TYPEFIND
15294 mode (we want to chose the best of all possible types,
15295 not just the first type that happens to be in our unsorted
15296 list of possible types).
15298 (gst_type_find_element_chain):
15299 Make sure we return GST_FLOW_ERROR when we errored out
15300 in stop_typefinding(); also, don't just find the best of
15301 all found type entries and then use the last examined
15302 type entry, but actually use the best entry.
15304 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
15306 * tests/examples/typefind/typefind.c: (type_found):
15307 * tests/examples/xml/runxml.c: (xml_loaded):
15308 More gcc4 fixes and a mem leak fix.
15310 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15312 * tests/examples/xml/createxml.c: (object_saved):
15315 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15317 * tests/Makefile.am:
15318 enable the examples even more
15320 2005-12-12 Andy Wingo <wingo@pobox.com>
15322 * libs/gst/net/gstnettimeprovider.c
15323 (gst_net_time_provider_class_init, gst_net_time_provider_init)
15324 (gst_net_time_provider_set_property)
15325 (gst_net_time_provider_get_property):
15326 API addition: Export "active" as a GObject property.
15327 (gst_net_time_provider_thread): Only respond to time queries if
15328 the time provider is active.
15330 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
15331 NetTimeProvider, preserving binary compat.
15333 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15335 * tests/examples/controller/audio-example.c: (main):
15336 * tests/examples/launch/Makefile.am:
15337 convert comments again
15339 2005-12-12 Wim Taymans <wim@fluendo.com>
15341 * libs/gst/base/gstpushsrc.c:
15344 2005-12-12 Wim Taymans <wim@fluendo.com>
15346 * docs/libs/gstreamer-libs-sections.txt:
15347 Added new symbol to docs.
15349 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15350 (gst_base_src_init), (gst_base_src_set_format),
15351 (gst_base_src_default_query), (gst_base_src_query),
15352 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
15353 (gst_base_src_perform_seek), (gst_base_src_send_event),
15354 (gst_base_src_default_event), (gst_base_src_event_handler),
15355 (gst_base_src_set_property), (gst_base_src_get_property),
15356 (gst_base_src_wait), (gst_base_src_do_sync),
15357 (gst_base_src_update_length), (gst_base_src_get_range),
15358 (gst_base_src_check_get_range), (gst_base_src_loop),
15359 (gst_base_src_default_negotiate), (gst_base_src_start),
15360 (gst_base_src_activate_push), (gst_base_src_activate_pull),
15361 (gst_base_src_change_state):
15362 * libs/gst/base/gstbasesrc.h:
15363 Implement seeking to other formats than _BYTES.
15364 Implement more seeking methods correctly.
15366 Added query vmethod.
15367 Added do_seek vmethod to make life easier for subclasses
15369 API addition: gst_base_src_set_format()
15371 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15373 * tests/examples/Makefile.am:
15376 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15379 * docs/random/ensonic/media-device-daemon.txt:
15380 * tests/examples/controller/.cvsignore:
15381 * tests/examples/controller/Makefile.am:
15382 * tests/examples/controller/audio-example.c: (main):
15383 * tests/examples/helloworld/.cvsignore:
15384 * tests/examples/helloworld/Makefile.am:
15385 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
15386 * tests/examples/launch/.cvsignore:
15387 * tests/examples/launch/Makefile.am:
15388 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
15389 * tests/examples/metadata/.cvsignore:
15390 * tests/examples/metadata/Makefile.am:
15391 * tests/examples/metadata/read-metadata.c: (message_loop),
15392 (make_pipeline), (print_tag), (main):
15393 * tests/examples/queue/.cvsignore:
15394 * tests/examples/queue/Makefile.am:
15395 * tests/examples/queue/queue.c: (event_loop), (main):
15396 * tests/examples/typefind/.cvsignore:
15397 * tests/examples/typefind/Makefile.am:
15398 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
15400 * tests/examples/xml/.cvsignore:
15401 * tests/examples/xml/Makefile.am:
15402 * tests/examples/xml/createxml.c: (object_saved), (main):
15403 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
15404 * tests/old/examples/Makefile.am:
15405 * tests/old/examples/TODO:
15406 * tests/old/examples/controller/.cvsignore:
15407 * tests/old/examples/controller/Makefile.am:
15408 * tests/old/examples/controller/audio-example.c:
15409 * tests/old/examples/helloworld/.cvsignore:
15410 * tests/old/examples/helloworld/Makefile.am:
15411 * tests/old/examples/helloworld/helloworld.c:
15412 * tests/old/examples/launch/.cvsignore:
15413 * tests/old/examples/launch/Makefile.am:
15414 * tests/old/examples/launch/mp3parselaunch.c:
15415 * tests/old/examples/launch/mp3play:
15416 * tests/old/examples/manual/Makefile.am:
15417 * tests/old/examples/metadata/Makefile.am:
15418 * tests/old/examples/metadata/read-metadata.c:
15419 * tests/old/examples/queue/.cvsignore:
15420 * tests/old/examples/queue/Makefile.am:
15421 * tests/old/examples/queue/queue.c:
15422 * tests/old/examples/typefind/.cvsignore:
15423 * tests/old/examples/typefind/Makefile.am:
15424 * tests/old/examples/typefind/typefind.c:
15425 * tests/old/examples/xml/.cvsignore:
15426 * tests/old/examples/xml/Makefile.am:
15427 * tests/old/examples/xml/createxml.c:
15428 * tests/old/examples/xml/runxml.c:
15429 applied some simple fixing to some examples
15430 re-enabled the working examples
15432 2005-12-12 Wim Taymans <wim@fluendo.com>
15434 * gst/gstsegment.c: (gst_segment_init),
15435 (gst_segment_set_last_stop), (gst_segment_set_seek),
15436 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
15437 (gst_segment_to_running_time):
15438 Added more documentation.
15439 Make sure the last_pos value is updated properly.
15440 Make sure to_stream_time and to_running_time don't
15441 operate on wrong values.
15443 * tests/check/gst/gstsegment.c: (GST_START_TEST):
15446 2005-12-12 Michael Smith <msmith@fluendo.com>
15448 * plugins/elements/gsttypefindelement.c: (free_entry),
15449 (gst_type_find_element_chain):
15450 Now that we're not leaking factories, make sure we keep references
15451 to them while we need them.
15453 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
15455 * tests/check/gst/struct_i386.h:
15456 ifdef out the XML structs
15458 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
15460 * gst/gstvalue.c: (gst_value_transform_double_fraction):
15461 floor is not needed, F is always positive; this obviates the
15462 need for adding -lm when building without libxml
15464 2005-12-12 Wim Taymans <wim@fluendo.com>
15466 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15467 Take current playback rate into account when reporting
15470 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15472 * docs/manual/mime-world.fig:
15473 Let's try this again, this time with a file that is
15474 actually in XFig format.
15476 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15478 * docs/manual/mime-world.fig:
15479 Add audioconvert element to diagram so that it
15480 matches the text and the code (fixes #319526).
15482 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15484 * docs/pwg/building-chainfn.xml:
15485 * docs/pwg/building-pads.xml:
15486 * docs/pwg/building-state.xml:
15487 * docs/pwg/other-source.xml:
15488 Update state change stuff for 0.10 (fixes #322969).
15490 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15492 * docs/manual/advanced-dataaccess.xml:
15493 * docs/manual/appendix-checklist.xml:
15494 * docs/manual/appendix-programs.xml:
15495 * docs/manual/basics-pads.xml:
15496 * docs/manual/highlevel-components.xml:
15497 * docs/manual/manual.xml:
15498 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
15499 add converters in front of pipelines; remove curly
15500 brackets for threads stuff, they no longer exist; use
15501 GST_TYPE_FRACTION for framerates; update some pieces of
15502 code to 0.10, but there's plenty more to do.
15504 * docs/manual/appendix-porting.xml:
15505 Expand on asynchroneous state changes; s/0.9/0.10/;
15506 mention disappearance of gst_init_get_popt_table()
15509 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15511 * docs/faq/using.xml:
15512 Spider no longer exists, and neither does gst-launch-ext.
15513 Update examples to use decodebin and playbin and put
15514 converters in front of sinks (fixes #323726).
15516 2005-12-09 Michael Smith <msmith@fluendo.com>
15518 * plugins/elements/gsttypefindelement.c: (find_peek),
15519 (gst_type_find_element_chain):
15520 Fix leaking element factories in typefinding.
15521 Fix problem where we forgot about a probable type on non-seekable
15522 files, and thus later mis-typefound it.
15524 2005-12-09 Michael Smith <msmith@fluendo.com>
15526 * common/m4/gst-makecontext.m4:
15527 * common/m4/gst-mcsc.m4:
15529 * win32/common/config.h:
15530 * win32/common/config.h.in:
15531 Remove makecontext stuff; not used in 0.10 and causes problems on
15532 HPUX according to bug #322441
15534 2005-12-07 Wim Taymans <wim@fluendo.com>
15536 * tests/check/Makefile.am:
15537 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
15539 * tests/check/libs/struct_i386.h:
15540 Added ABI check for libs
15542 2005-12-07 Wim Taymans <wim@fluendo.com>
15544 * tests/check/Makefile.am:
15545 And add the struct_i386.h to dist.
15547 2005-12-07 Wim Taymans <wim@fluendo.com>
15549 * tests/check/Makefile.am:
15550 * tests/check/gst/.cvsignore:
15551 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
15553 * tests/check/gst/struct_i386.h:
15554 Added check for ABI compatibility.
15556 2005-12-07 Wim Taymans <wim@fluendo.com>
15558 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15559 (gst_fake_src_get_times), (gst_fake_src_create):
15560 Fix broken sync option, fixes #323259
15562 2005-12-07 Wim Taymans <wim@fluendo.com>
15567 * gst/gstcaps.c: (gst_caps_is_equal):
15568 Don't assert on NULL <--> X. Fixes #323260
15570 * gst/gstminiobject.c: (gst_mini_object_replace):
15571 If we're doing atomic operations, we might just as well use
15572 the proper way to get an atomic pointer.
15574 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15575 Clean up debugging.
15577 2005-12-07 Michael Smith <msmith@fluendo.com>
15579 * gst/parse/grammar.y:
15580 Remove handling of { } for threads.
15582 2005-12-06 David Schleef <ds@schleef.org>
15584 * libs/gst/base/gstbasetransform.c: speling fix.
15586 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
15588 * docs/libs/tmpl/gstdataprotocol.sgml:
15589 * docs/random/omega/testing/gstobject.c:
15592 * gst/gstelement.c:
15593 * gst/gstelementfactory.c:
15596 * gst/gstghostpad.c:
15598 * gst/gstpadtemplate.c:
15599 * gst/gstregistryxml.c:
15600 * gst/gsttaglist.c:
15601 * gst/gsttagsetter.c:
15602 * gst/gsttypefind.c:
15604 * libs/gst/base/gstbasesrc.c:
15605 * libs/gst/net/gstnetclientclock.c:
15606 * libs/gst/net/gstnettimeprovider.c:
15607 * plugins/elements/gstfakesrc.c:
15608 * plugins/elements/gstfdsrc.c:
15609 * plugins/elements/gstfilesrc.c:
15610 * plugins/elements/gstidentity.c:
15611 * plugins/elements/gstqueue.c:
15612 * plugins/elements/gsttypefindelement.c:
15613 * plugins/indexers/gstfileindex.c:
15614 * plugins/indexers/gstmemindex.c:
15615 * tests/check/gst/gsttag.c:
15616 * tests/old/examples/cutter/cutter.c:
15617 * tests/old/examples/mixer/mixer.c:
15618 * tests/old/examples/xml/runxml.c: (main):
15619 * tests/old/testsuite/caps/normalisation.c:
15620 * tests/old/testsuite/debug/global.c:
15621 * tests/old/testsuite/parse/parse1.c:
15622 * tools/gst-xmlinspect.c:
15623 * win32/common/dirent.c:
15626 === release 0.10.0 ===
15628 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15631 releasing 0.10.0, "Maroilles"
15633 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
15635 submitted by: Funda Wang <fundawang@linux.net.cn>
15639 added Chinese (Traditional) translation
15641 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
15643 * docs/gst/gstreamer-sections.txt:
15644 * docs/libs/tmpl/gstdataprotocol.sgml:
15645 * docs/random/thomasvs/TODO:
15650 2005-12-05 Andy Wingo <wingo@pobox.com>
15652 patch by: Wim Taymans <wim@fluendo.com>
15654 * libs/gst/base/gstbasetransform.c
15655 (gst_base_transform_prepare_output_buf)
15656 (gst_base_transform_buffer_alloc):
15657 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
15658 alloc_buffer_and_set_caps.
15660 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
15661 set_caps on the source pad.
15662 (gst_pad_alloc_buffer_and_set_caps): New function, does what
15663 alloc_buffer used to do. Fixes #322874.
15665 * docs/gst/gstreamer-sections.txt:
15666 * docs/design/part-negotiation.txt:
15667 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
15670 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
15672 patch by: Sebastien Moutte
15675 * win32/common/config.h.in:
15676 * win32/vs6/libgstcontroller.dsp:
15679 2005-12-05 Wim Taymans <wim@fluendo.com>
15681 * gst/gstcaps.c: (gst_caps_is_equal):
15682 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15683 (gst_fake_src_create):
15684 Back out previous code changes, leave doc updates, file bugs
15687 2005-12-05 Wim Taymans <wim@fluendo.com>
15689 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15690 (gst_fake_src_get_times), (gst_fake_src_create):
15691 * plugins/elements/gstfakesrc.h:
15692 Fix broken sync code.
15694 2005-12-05 Wim Taymans <wim@fluendo.com>
15696 * gst/gstcaps.c: (gst_caps_is_equal):
15697 Comparing NULL against !NULL yields different caps, not a
15700 2005-12-05 Wim Taymans <wim@fluendo.com>
15702 * gst/gstpipeline.c:
15703 Fix small typo in docs.
15705 2005-12-05 Andy Wingo <wingo@pobox.com>
15707 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
15709 * gst/gst.c (init_post): remove hard-coded 0.9 location for
15710 registries/plugins with a MAJORMINOR one.
15711 (plugin_desc): Rename library from gstcoreleements to
15712 staticelements. Fixes #323222.
15714 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
15716 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
15717 Change debug category to 'collectpads' from 'collect_pads'
15720 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
15722 patch by: Sebastien Moutte
15724 * libs/gst/controller/gstinterpolation.c:
15725 use convert function for uint64/double
15726 * win32/vs6/libgstcontroller.dsp:
15729 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
15731 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
15732 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
15734 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15735 add tests that seem to show that the guint64/gdouble conversions
15738 2005-12-02 Wim Taymans <wim@fluendo.com>
15740 * gst/gstregistry.c: (gst_registry_add_path):
15741 * gst/gstregistry.h:
15742 * gst/gstregistryxml.c:
15745 2005-12-02 Wim Taymans <wim@fluendo.com>
15747 * gst/gstutils.c: (gst_util_uint64_scale_int64),
15748 (gst_util_uint64_scale_int):
15751 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15752 Add debug log line.
15754 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
15757 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
15760 * win32/common/config.h:
15761 * win32/vs6/gstreamer.dsw:
15762 * win32/vs6/libgstcoreelements.dsp:
15763 * win32/vs6/libgstelements.dsp:
15764 renamed core elements plugin
15766 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
15768 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
15770 do piece-wise major/minor comparison so 0.9 < 0.10
15771 also allow .exe extensions for tools
15773 2005-12-02 Michael Smith <msmith@fluendo.com>
15776 Escape a % to make gtkdoc happier; bug 322958.
15778 === release 0.9.7 ===
15780 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15783 releasing 0.9.7, "My Dog Has No Nose"
15785 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15787 * common/gst-xmlinspect.py:
15789 * docs/libs/tmpl/gstdataprotocol.sgml:
15790 * docs/random/release:
15809 * win32/common/config.h:
15810 * win32/common/config.h.in:
15811 * win32/vs6/gst_inspect.dsp:
15812 * win32/vs6/gst_launch.dsp:
15813 * win32/vs6/libgstbase.dsp:
15814 * win32/vs6/libgstelements.dsp:
15815 * win32/vs6/libgstreamer.dsp:
15816 * win32/vs7/GStreamer.vcproj:
15817 * win32/vs7/gst-inspect.vcproj:
15818 * win32/vs7/gst-launch.vcproj:
15819 * win32/vs7/libgstbase.vcproj:
15820 bump GST_MAJORMINOR to 0.10
15821 reset libtool version
15823 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15827 Added Bulgarian translation by (Alexander Shopov)
15829 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15831 * tests/check/gst/gstplugin.c:
15834 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15836 * common/gst-xmlinspect.py:
15837 * common/gtk-doc-plugins.mak:
15839 * docs/Makefile.am:
15840 * docs/gst/Makefile.am:
15841 * docs/gst/gstreamer-docs.sgml:
15842 * docs/gst/gstreamer-sections.txt:
15843 * docs/gst/gstreamer.types:
15844 * docs/gst/gstreamer.types.in:
15845 * docs/plugins/Makefile.am:
15846 * docs/plugins/gstreamer-plugins-docs.sgml:
15847 * docs/plugins/gstreamer-plugins-sections.txt:
15848 * docs/plugins/gstreamer-plugins.types:
15849 * docs/plugins/inspect.stamp:
15850 * docs/plugins/inspect/plugin-coreelements.xml:
15851 * docs/plugins/inspect/plugin-coreindexers.xml:
15852 * docs/plugins/scanobj-build.stamp:
15853 * gstreamer.spec.in:
15854 * plugins/elements/Makefile.am:
15855 * plugins/elements/gstelements.c:
15856 * plugins/elements/gstfakesink.c:
15857 * plugins/elements/gstfakesrc.c:
15858 * plugins/elements/gstfilesink.c:
15859 * plugins/elements/gstfilesrc.c:
15860 * plugins/elements/gstqueue.c:
15861 * plugins/indexers/Makefile.am:
15862 * plugins/indexers/gstindexers.c:
15863 document core plugins in a separate document just like all the
15865 rename these plugins to something starting with core
15867 2005-12-01 Andy Wingo <wingo@pobox.com>
15869 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
15870 padding here before, but it missed the commit.
15872 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15874 * libs/gst/controller/gstinterpolation.c:
15875 whitespace prices have crashed, we should feel free to use some now
15876 use gst_guint64_to_gdouble
15878 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15880 * libs/gst/controller/gstcontroller.c:
15881 * libs/gst/controller/gsthelper.c:
15882 * libs/gst/controller/gstinterpolation.c:
15883 * libs/gst/controller/lib.c:
15884 wrap config.h include
15886 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15888 * docs/gst/gstreamer-sections.txt:
15891 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15893 * plugins/elements/gstelements.c:
15894 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
15895 (gst_fd_sink__class_init), (gst_fd_sink__init),
15896 (gst_fd_sink__chain), (gst_fd_sink__set_property),
15897 (gst_fd_sink__get_property):
15898 * plugins/elements/gstfdsink.h:
15899 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15900 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
15901 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
15902 (gst_fd_src_unlock), (gst_fd_src_set_property),
15903 (gst_fd_src_get_property), (gst_fd_src_create),
15904 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15905 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
15906 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
15907 (gst_fd_src_uri_handler_init):
15908 * plugins/elements/gstfdsrc.h:
15909 * plugins/elements/gstqueue.c: (gst_queue_get_type):
15912 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15914 * docs/gst/Makefile.am:
15915 * docs/gst/gstreamer.types.in:
15919 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15925 * gst/gstregistry.h:
15926 * tests/benchmarks/complexity.c:
15927 * tests/benchmarks/mass-elements.c:
15928 * tests/check/Makefile.am:
15929 * tools/Makefile.am:
15930 * tools/gst-inspect.c:
15931 * tools/gst-xmlinspect.c:
15932 various fixes to make
15933 --disable-nls --disable-registry --disable-loadsave
15934 --disable-parse --disable-gst-debug
15935 work and get the core .so down to 360444 bytes after stripping
15937 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15942 * docs/random/thomasvs/TODO:
15943 * tests/Makefile.am:
15947 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15949 * win32/GStreamer.vcproj:
15952 * win32/Makefile.inspect:
15953 * win32/Makefile.launch:
15954 * win32/Makefile.register:
15955 * win32/README.txt:
15956 * win32/gst-inspect.vcproj:
15957 * win32/gst-launch.vcproj:
15958 * win32/gst-register.vcproj:
15959 * win32/gstelements.vcproj:
15960 * win32/gstgetbits.def:
15961 * win32/gstgetbits.vcproj:
15962 * win32/gstreamer-dbg.def:
15963 * win32/gstreamer.def:
15964 * win32/libgstbase.def:
15965 * win32/libgstbase.vcproj:
15966 * win32/link_oldruntime.c:
15970 * win32/msvc71.sln:
15971 move even more stuff, win32/ is nice and clean now
15973 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15975 * libs/gst/control/.cvsignore:
15980 * win32/gstbytestream.def:
15981 * win32/gstbytestream.vcproj:
15982 * win32/gstconfig.h:
15983 * win32/gstenumtypes.c:
15984 * win32/gstenumtypes.h:
15985 * win32/gstoptimalscheduler.vcproj:
15986 * win32/gstversion.h:
15988 * win32/testsuite/bins.vcproj:
15989 * win32/testsuite/bytestream.vcproj:
15990 * win32/testsuite/caps.vcproj:
15991 * win32/testsuite/cleanup.vcproj:
15992 * win32/testsuite/clock.vcproj:
15993 * win32/testsuite/debug.vcproj:
15994 * win32/testsuite/dlopen.vcproj:
15995 * win32/testsuite/dynparams.vcproj:
15996 * win32/testsuite/elements.vcproj:
15997 * win32/testsuite/ghostpads.vcproj:
15998 * win32/testsuite/indexers.vcproj:
15999 * win32/testsuite/negotiation.vcproj:
16000 * win32/testsuite/parse.vcproj:
16001 * win32/testsuite/plugin.vcproj:
16002 * win32/testsuite/refcounting.vcproj:
16003 * win32/testsuite/schedulers.vcproj:
16004 * win32/testsuite/states.vcproj:
16005 * win32/testsuite/tags.vcproj:
16006 * win32/testsuite/threads.vcproj:
16007 remove old win32 stuff that isn't maintained and should be
16010 2005-11-30 Andy Wingo <wingo@pobox.com>
16012 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
16013 loading the gst.interfaces python module bork.
16015 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
16016 available since GLib 2.2. Fixes #318031.
16018 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16021 * check/.cvsignore:
16022 * check/Makefile.am:
16023 * check/elements/.cvsignore:
16024 * check/elements/fakesrc.c:
16025 * check/elements/fdsrc.c:
16026 * check/elements/identity.c:
16027 * check/generic/.cvsignore:
16028 * check/generic/states.c:
16029 * check/gst-libs/.cvsignore:
16030 * check/gst-libs/controller.c:
16031 * check/gst-libs/gdp.c:
16032 * check/gst/.cvsignore:
16033 * check/gst/capslist.h:
16035 * check/gst/gstbin.c:
16036 * check/gst/gstbuffer.c:
16037 * check/gst/gstbus.c:
16038 * check/gst/gstcaps.c:
16039 * check/gst/gstelement.c:
16040 * check/gst/gstevent.c:
16041 * check/gst/gstghostpad.c:
16042 * check/gst/gstiterator.c:
16043 * check/gst/gstmessage.c:
16044 * check/gst/gstminiobject.c:
16045 * check/gst/gstobject.c:
16046 * check/gst/gstpad.c:
16047 * check/gst/gstpipeline.c:
16048 * check/gst/gstplugin.c:
16049 * check/gst/gstsegment.c:
16050 * check/gst/gststructure.c:
16051 * check/gst/gstsystemclock.c:
16052 * check/gst/gsttag.c:
16053 * check/gst/gstutils.c:
16054 * check/gst/gstvalue.c:
16055 * check/net/.cvsignore:
16056 * check/net/gstnetclientclock.c:
16057 * check/net/gstnettimeprovider.c:
16058 * check/pipelines/.cvsignore:
16059 * check/pipelines/cleanup.c:
16060 * check/pipelines/simple_launch_lines.c:
16061 * check/pipelines/stress.c:
16062 * check/states/.cvsignore:
16063 * check/states/sinks.c:
16065 * examples/Makefile.am:
16066 * examples/appreader/.cvsignore:
16067 * examples/appreader/Makefile.am:
16068 * examples/appreader/appreader.c:
16069 * examples/controller/.cvsignore:
16070 * examples/controller/Makefile.am:
16071 * examples/controller/audio-example.c:
16072 * examples/cutter/.cvsignore:
16073 * examples/cutter/Makefile.am:
16074 * examples/cutter/cutter.c:
16075 * examples/cutter/cutter.h:
16076 * examples/events/Makefile.am:
16077 * examples/events/seek.c:
16078 * examples/helloworld/.cvsignore:
16079 * examples/helloworld/Makefile.am:
16080 * examples/helloworld/helloworld.c:
16081 * examples/helloworld2/.cvsignore:
16082 * examples/helloworld2/Makefile.am:
16083 * examples/helloworld2/helloworld2.c:
16084 * examples/launch/.cvsignore:
16085 * examples/launch/Makefile.am:
16086 * examples/launch/mp3parselaunch.c:
16087 * examples/launch/mp3play:
16088 * examples/manual/.cvsignore:
16089 * examples/manual/Makefile.am:
16090 * examples/manual/extract.pl:
16091 * examples/metadata/Makefile.am:
16092 * examples/metadata/read-metadata.c:
16093 * examples/mixer/.cvsignore:
16094 * examples/mixer/Makefile.am:
16095 * examples/mixer/mixer.c:
16096 * examples/mixer/mixer.h:
16097 * examples/pingpong/.cvsignore:
16098 * examples/pingpong/Makefile.am:
16099 * examples/pingpong/pingpong.c:
16100 * examples/plugins/.cvsignore:
16101 * examples/plugins/Makefile.am:
16102 * examples/plugins/example.c:
16103 * examples/plugins/example.h:
16104 * examples/pwg/.cvsignore:
16105 * examples/pwg/Makefile.am:
16106 * examples/pwg/extract.pl:
16107 * examples/queue/.cvsignore:
16108 * examples/queue/Makefile.am:
16109 * examples/queue/queue.c:
16110 * examples/queue2/.cvsignore:
16111 * examples/queue2/Makefile.am:
16112 * examples/queue2/queue2.c:
16113 * examples/queue3/.cvsignore:
16114 * examples/queue3/Makefile.am:
16115 * examples/queue3/queue3.c:
16116 * examples/queue4/.cvsignore:
16117 * examples/queue4/Makefile.am:
16118 * examples/queue4/queue4.c:
16119 * examples/retag/.cvsignore:
16120 * examples/retag/Makefile.am:
16121 * examples/retag/retag.c:
16122 * examples/retag/transcode.c:
16123 * examples/thread/.cvsignore:
16124 * examples/thread/Makefile.am:
16125 * examples/thread/thread.c:
16126 * examples/typefind/.cvsignore:
16127 * examples/typefind/Makefile.am:
16128 * examples/typefind/typefind.c:
16129 * examples/xml/.cvsignore:
16130 * examples/xml/Makefile.am:
16131 * examples/xml/createxml.c:
16132 * examples/xml/runxml.c:
16133 * tests/Makefile.am:
16134 * tests/check/Makefile.am:
16135 * testsuite/.cvsignore:
16136 * testsuite/Makefile.am:
16138 * testsuite/caps/.cvsignore:
16139 * testsuite/caps/Makefile.am:
16140 * testsuite/caps/app_fixate.c:
16141 * testsuite/caps/audioscale.c:
16142 * testsuite/caps/caps.c:
16143 * testsuite/caps/caps.h:
16144 * testsuite/caps/caps_strings:
16145 * testsuite/caps/compatibility.c:
16146 * testsuite/caps/deserialize.c:
16147 * testsuite/caps/enumcaps.c:
16148 * testsuite/caps/eratosthenes.c:
16149 * testsuite/caps/filtercaps.c:
16150 * testsuite/caps/fixed.c:
16151 * testsuite/caps/fraction-convert.c:
16152 * testsuite/caps/fraction-multiply-and-zero.c:
16153 * testsuite/caps/intersect2.c:
16154 * testsuite/caps/intersection.c:
16155 * testsuite/caps/normalisation.c:
16156 * testsuite/caps/random.c:
16157 * testsuite/caps/renegotiate.c:
16158 * testsuite/caps/sets.c:
16159 * testsuite/caps/simplify.c:
16160 * testsuite/caps/string-conversions.c:
16161 * testsuite/caps/structure.c:
16162 * testsuite/caps/subtract.c:
16163 * testsuite/caps/union.c:
16164 * testsuite/debug/.cvsignore:
16165 * testsuite/debug/Makefile.am:
16166 * testsuite/debug/category.c:
16167 * testsuite/debug/commandline.c:
16168 * testsuite/debug/global.c:
16169 * testsuite/debug/output.c:
16170 * testsuite/debug/printf_extension.c:
16171 * testsuite/dlopen/.cvsignore:
16172 * testsuite/dlopen/Makefile.am:
16173 * testsuite/dlopen/dlopen_gst.c:
16174 * testsuite/dlopen/loadgst.c:
16175 * testsuite/elements/.cvsignore:
16176 * testsuite/elements/Makefile.am:
16177 * testsuite/elements/gst-inspect-check.in:
16178 * testsuite/elements/struct_i386.h:
16179 * testsuite/elements/struct_size.c:
16180 * testsuite/indexers/.cvsignore:
16181 * testsuite/indexers/Makefile.am:
16182 * testsuite/indexers/cache1.c:
16183 * testsuite/indexers/indexdump.c:
16184 * testsuite/parse/.cvsignore:
16185 * testsuite/parse/Makefile.am:
16186 * testsuite/parse/parse1.c:
16187 * testsuite/parse/parse2.c:
16188 * testsuite/plugin/.cvsignore:
16189 * testsuite/plugin/Makefile.am:
16190 * testsuite/plugin/README:
16191 * testsuite/plugin/dynamic.c:
16192 * testsuite/plugin/linked.c:
16193 * testsuite/plugin/loading.c:
16194 * testsuite/plugin/registry.c:
16195 * testsuite/plugin/static.c:
16196 * testsuite/plugin/static2.c:
16197 * testsuite/plugin/testplugin.c:
16198 * testsuite/plugin/testplugin2.c:
16199 * testsuite/plugin/testplugin2_s.c:
16200 * testsuite/plugin/testplugin_s.c:
16201 * testsuite/refcounting/.cvsignore:
16202 * testsuite/refcounting/Makefile.am:
16203 * testsuite/refcounting/bin.c:
16204 * testsuite/refcounting/element.c:
16205 * testsuite/refcounting/element_pad.c:
16206 * testsuite/refcounting/mainloop.c:
16207 * testsuite/refcounting/mem.c:
16208 * testsuite/refcounting/mem.h:
16209 * testsuite/refcounting/object.c:
16210 * testsuite/refcounting/pad.c:
16211 * testsuite/refcounting/sched.c:
16212 * testsuite/refcounting/thread.c:
16213 * testsuite/states/.cvsignore:
16214 * testsuite/states/Makefile.am:
16215 * testsuite/states/bin.c:
16216 * testsuite/states/locked.c:
16217 * testsuite/states/parent.c:
16218 * testsuite/threads/.cvsignore:
16219 * testsuite/threads/159566.c:
16220 * testsuite/threads/159852.c:
16221 * testsuite/threads/Makefile.am:
16222 * testsuite/threads/queue.c:
16223 * testsuite/threads/signals.c:
16224 * testsuite/threads/staticrec.c:
16225 * testsuite/threads/thread.c:
16226 * testsuite/threads/threadb.c:
16227 * testsuite/threads/threadc.c:
16228 * testsuite/threads/threadd.c:
16229 * testsuite/threads/threade.c:
16230 * testsuite/threads/threadf.c:
16231 * testsuite/threads/threadg.c:
16232 * testsuite/threads/threadh.c:
16233 * testsuite/threads/threadi.c:
16234 move all of these under tests
16236 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16239 * tests/Makefile.am:
16242 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16244 * docs/gst/gstreamer-sections.txt:
16245 * tests/sched/.cvsignore:
16246 * tests/sched/Makefile.am:
16247 * tests/sched/cases/(fs-fs).xml:
16248 * tests/sched/cases/(fs-i-fs).xml:
16249 * tests/sched/cases/(fs-i-i-fs).xml:
16250 * tests/sched/cases/(fs-i-q[i-fs]).xml:
16251 * tests/sched/dynamic-pipeline.c:
16252 * tests/sched/interrupt1.c:
16253 * tests/sched/interrupt2.c:
16254 * tests/sched/interrupt3.c:
16255 * tests/sched/runtestcases:
16256 * tests/sched/runxml.c:
16257 * tests/sched/sched-stress.c:
16258 * tests/sched/sort.c:
16259 * tests/sched/testcases:
16260 * tests/sched/testcases1.tc:
16261 * tests/seeking/.cvsignore:
16262 * tests/seeking/Makefile.am:
16263 * tests/seeking/seeking1.c:
16264 * tests/threadstate/.cvsignore:
16265 * tests/threadstate/Makefile.am:
16266 * tests/threadstate/test1.c:
16267 * tests/threadstate/test2.c:
16268 * tests/threadstate/threadstate1.c:
16269 * tests/threadstate/threadstate2.c:
16270 * tests/threadstate/threadstate3.c:
16271 * tests/threadstate/threadstate4.c:
16272 * tests/threadstate/threadstate5.c:
16273 remove obsolete tests
16275 * tests/bench-complexity.scm:
16276 * tests/bench-mass_elements.scm:
16277 * tests/complexity.c:
16278 * tests/complexity.gnuplot:
16279 * tests/instantiate/.cvsignore:
16280 * tests/instantiate/Makefile.am:
16281 * tests/instantiate/caps.c:
16282 * tests/mass_elements.c:
16283 * tests/network-clock-utils.scm:
16284 * tests/network-clock.scm:
16286 First pass at cleaning up tests/ dir before moving the rest
16287 Combined with CVS surgery
16289 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16292 queue has moved, update
16294 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16296 * docs/gst/gstreamer-sections.txt:
16297 remove double entries from the docs
16298 * gst/gst_private.h:
16299 * gst/gstinfo.c: (_gst_debug_init):
16300 remove the THREAD debug category
16304 * docs/gst/gstreamer.types:
16305 * plugins/elements/gstqueue.c: (gst_queue_get_type),
16306 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
16307 completely move queue and fix up debugging categories
16309 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16311 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16312 make initialization portable, using LL is not
16314 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16316 * win32/common/gstconfig.h:
16319 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16321 * win32/common/libgstreamer.def:
16322 rename symbols; sort base section
16324 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16326 * gst/gstclock.c: (do_linear_regression):
16327 remove crack non-portable handrolled DEBUG macro
16329 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16331 * docs/random/release:
16333 * win32/common/gstenumtypes.c: (register_gst_object_flags),
16334 (gst_object_flags_get_type), (register_gst_bin_flags),
16335 (gst_bin_flags_get_type), (register_gst_buffer_flag),
16336 (gst_buffer_flag_get_type), (register_gst_bus_flags),
16337 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16338 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
16339 (gst_caps_flags_get_type), (register_gst_clock_return),
16340 (gst_clock_return_get_type), (register_gst_clock_entry_type),
16341 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16342 (gst_clock_flags_get_type), (register_gst_state),
16343 (gst_state_get_type), (register_gst_state_change_return),
16344 (gst_state_change_return_get_type), (register_gst_state_change),
16345 (gst_state_change_get_type), (register_gst_element_flags),
16346 (gst_element_flags_get_type), (register_gst_core_error),
16347 (gst_core_error_get_type), (register_gst_library_error),
16348 (gst_library_error_get_type), (register_gst_resource_error),
16349 (gst_resource_error_get_type), (register_gst_stream_error),
16350 (gst_stream_error_get_type), (register_gst_event_type_flags),
16351 (gst_event_type_flags_get_type), (register_gst_event_type),
16352 (gst_event_type_get_type), (register_gst_seek_type),
16353 (gst_seek_type_get_type), (register_gst_seek_flags),
16354 (gst_seek_flags_get_type), (register_gst_format),
16355 (gst_format_get_type), (register_gst_index_certainty),
16356 (gst_index_certainty_get_type), (register_gst_index_entry_type),
16357 (gst_index_entry_type_get_type),
16358 (register_gst_index_lookup_method),
16359 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16360 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16361 (gst_index_resolver_method_get_type), (register_gst_index_flags),
16362 (gst_index_flags_get_type), (register_gst_debug_level),
16363 (gst_debug_level_get_type), (register_gst_debug_color_flags),
16364 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16365 (gst_iterator_result_get_type), (register_gst_iterator_item),
16366 (gst_iterator_item_get_type), (register_gst_message_type),
16367 (gst_message_type_get_type), (register_gst_mini_object_flags),
16368 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16369 (gst_pad_link_return_get_type), (register_gst_flow_return),
16370 (gst_flow_return_get_type), (register_gst_activate_mode),
16371 (gst_activate_mode_get_type), (register_gst_pad_direction),
16372 (gst_pad_direction_get_type), (register_gst_pad_flags),
16373 (gst_pad_flags_get_type), (register_gst_pad_presence),
16374 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16375 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16376 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16377 (gst_plugin_error_get_type), (register_gst_plugin_flags),
16378 (gst_plugin_flags_get_type), (register_gst_rank),
16379 (gst_rank_get_type), (register_gst_query_type),
16380 (gst_query_type_get_type), (register_gst_tag_merge_mode),
16381 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16382 (gst_tag_flag_get_type), (register_gst_task_state),
16383 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16384 (gst_alloc_trace_flags_get_type),
16385 (register_gst_type_find_probability),
16386 (gst_type_find_probability_get_type), (register_gst_uri_type),
16387 (gst_uri_type_get_type), (register_gst_parse_error),
16388 (gst_parse_error_get_type):
16389 * win32/common/gstenumtypes.h:
16390 * win32/common/gstversion.h:
16391 update visual studio generated files
16393 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16395 * win32/vs6/libgstbase.dsp:
16396 * win32/vs6/libgstelements.dsp:
16397 update project files for new locations
16399 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16404 reinstate and update
16409 * docs/random/LICENSE:
16412 2005-11-30 Edward Hervey <edward@fluendo.com>
16414 * gst/gsttypefind.c: (gst_type_find_register):
16415 * gst/gsttypefind.h:
16416 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
16417 (gst_type_find_factory_dispose):
16418 * gst/gsttypefindfactory.h:
16419 Fix memory leak in GstTypeFindFactory.
16421 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16424 * plugins/elements/Makefile.am:
16425 * plugins/elements/gstelements.c:
16426 * plugins/elements/gstqueue.c:
16427 move queue from core to the elements plugin
16429 2005-11-29 Andy Wingo <wingo@pobox.com>
16431 * libs/gst/base/gstbasetransform.h:
16432 * libs/gst/base/gstbasesrc.h:
16433 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
16435 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
16436 of pointers by which to pad very extensible base classes (like the
16437 ones in libs/gst/base).
16439 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16441 * docs/gst/gstreamer-docs.sgml:
16442 * docs/gst/gstreamer-sections.txt:
16443 * docs/libs/gstreamer-libs-docs.sgml:
16444 * docs/libs/gstreamer-libs-sections.txt:
16445 moving documentation from core to lib
16447 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16449 * check/Makefile.am:
16451 * docs/gst/Makefile.am:
16453 * gst/base/.cvsignore:
16454 * gst/base/Makefile.am:
16456 * gst/base/gstadapter.c:
16457 * gst/base/gstadapter.h:
16458 * gst/base/gstbasesink.c:
16459 * gst/base/gstbasesink.h:
16460 * gst/base/gstbasesrc.c:
16461 * gst/base/gstbasesrc.h:
16462 * gst/base/gstbasetransform.c:
16463 * gst/base/gstbasetransform.h:
16464 * gst/base/gstcollectpads.c:
16465 * gst/base/gstcollectpads.h:
16466 * gst/base/gstpushsrc.c:
16467 * gst/base/gstpushsrc.h:
16468 * gst/base/gsttypefindhelper.c:
16469 * gst/base/gsttypefindhelper.h:
16470 * gst/check/Makefile.am:
16471 * gst/check/gstcheck.c:
16472 * gst/check/gstcheck.h:
16473 * gst/net/Makefile.am:
16474 * gst/net/gstnet.h:
16475 * gst/net/gstnetclientclock.c:
16476 * gst/net/gstnetclientclock.h:
16477 * gst/net/gstnettimepacket.c:
16478 * gst/net/gstnettimepacket.h:
16479 * gst/net/gstnettimeprovider.c:
16480 * gst/net/gstnettimeprovider.h:
16481 * libs/gst/Makefile.am:
16482 * libs/gst/base/Makefile.am:
16483 * libs/gst/base/gstbasetransform.c:
16484 * libs/gst/check/Makefile.am:
16485 * plugins/elements/Makefile.am:
16487 CVS surgery + support to move base, check, and net out of gst
16490 2005-11-29 Andy Wingo <wingo@pobox.com>
16492 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
16494 * gst/gststructure.h (struct _GstStructure): Only one pointer of
16497 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
16499 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
16501 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
16503 * gst/gstobject.h: (struct _GstObject): Only one pointer of
16504 padding; reduces object size by about 30%. We don't expect
16505 anything else to go into gstobject.
16507 * gst/gstminiobject.h (struct _GstMiniObject)
16508 (struct _GstMiniObjectClass): Only one pointer of padding; the
16509 payload is only a pointer and two ints anyway. For the class there
16510 are only two methods as well.
16512 * gst/gstelement.h (struct _GstElementClass): Removed
16513 the state_changed signal callback, it is not used.
16515 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
16517 * docs/gst/gstreamer.types:
16518 fix includes, though they are a little dinky
16520 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16522 * check/Makefile.am:
16523 look in the right place for elements, a lot more chance of
16526 remove indexers and elements subdirs
16527 * plugins/Makefile.am:
16528 make indexers conditional
16530 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16534 * plugins/elements/Makefile.am:
16535 * plugins/elements/gstcapsfilter.c:
16536 * plugins/elements/gstfilesink.c:
16537 * plugins/elements/gstfilesrc.c:
16538 * plugins/elements/gstidentity.c:
16539 * plugins/indexers/Makefile.am:
16540 do CVS surgery and related build fixery to move elements
16541 and indexers in a new gstreamer/plugins directory, out of the
16544 2005-11-29 Andy Wingo <wingo@pobox.com>
16546 * check/Makefile.am:
16547 * pkgconfig/gstreamer-net-uninstalled.pc.in:
16548 * pkgconfig/gstreamer-net.pc.in:
16549 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
16552 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
16554 * tools/Makefile.am:
16555 * tools/gst-complete.1.in:
16556 * tools/gst-complete.c:
16557 * tools/gst-compprep.1.in:
16558 * tools/gst-compprep.c:
16559 removing -compprep and -complete
16561 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
16563 * gst/gstevent.c: (gst_event_new_new_segment),
16564 (gst_event_parse_new_segment):
16566 fix #320529 - clean up new_segment API and structure.
16567 Let's hope everyone was using the methods, and not the structure.
16569 2005-11-29 Edward Hervey <edward@fluendo.com>
16571 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16572 (gst_base_sink_event), (gst_base_sink_do_sync),
16573 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16574 Properly handle non GST_FORMAT_TIME segment
16575 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16576 Properly handle non GST_FORMAT_TIME segment
16577 * gst/gstsegment.c:
16578 This function is valid if the accumulator is 0 and the format
16579 is different from the requested format.
16581 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
16583 * docs/gst/gstreamer-sections.txt:
16584 Add gst_query_new_seeking and gst_query_parse_seeking to the
16587 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
16589 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
16590 Treat a pad alloc with new caps the same as if we were not
16591 negotiated, in order to allow a changing upstream output
16592 to produce a new format of data.
16594 2005-11-29 Edward Hervey <edward@fluendo.com>
16596 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16597 (gst_base_transform_event), (gst_base_transform_eventfunc):
16598 The event virtual method is now properly implemented, with a default
16600 Sub classes should call the parent_class event method. They should
16601 return FALSE if they had a problem handling the given event, or don't
16602 want GstBaseTransform to send that even downstream
16603 * gst/elements/gstidentity.c: (gst_identity_class_init),
16604 (gst_identity_init), (gst_identity_event),
16605 (gst_identity_transform_ip), (gst_identity_set_property),
16606 (gst_identity_get_property):
16607 * gst/elements/gstidentity.h:
16608 Added the single-segment boolean property.
16609 If set to TRUE, it will output a single segment of data, starting from
16610 0, will eat up all incoming newsegment, and modify the timestamp of the
16611 buffers accordingly
16613 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
16615 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
16616 Don't ref NULL target pad (#322751). Improve docs.
16618 2005-11-29 Michael Smith <msmith@fluendo.com>
16620 * gst/gstregistryxml.c: (load_plugin):
16621 Don't crash if we failed to load a feature from a plugin.
16623 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16625 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16627 use more check API and less GLib API
16629 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16632 don't run checks if we don't have check
16633 * common/check.mak:
16634 remove the registry when running make torture
16635 * docs/gst/gstreamer-sections.txt:
16636 remove second multiply
16637 * gst/gstqueue.c: (gst_queue_loop):
16638 fix a compile warning when disabling debug
16640 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
16643 Hey! Let's print the pad name if the pointer != NULL instead
16644 of when it == NULL :-)
16646 2005-11-28 Wim Taymans <wim@fluendo.com>
16648 * check/gst/gstutils.c: (GST_START_TEST):
16649 Updated check, add some scaling accuracy checking code.
16651 * gst/gstutils.c: (gst_util_div128_64),
16652 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
16653 (gst_util_uint64_scale_int):
16654 Fix 6 times faster division code. Optimize for common
16655 1/1 and less common X/1 cases.
16657 2005-11-28 Wim Taymans <wim@fluendo.com>
16659 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16662 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
16663 (do_linear_regression), (gst_clock_add_observation):
16665 Release lock when the clock cannot be slaved.
16666 Catch the case where the regression returned an invalid denominator.
16668 * gst/gstutils.c: (gst_util_div128_64_iterate),
16669 (gst_util_div128_64), (gst_util_uint64_scale_int64),
16670 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16671 Add protentially more performant non-iterative 128/64 divide function
16672 that unfortunatly does not work yet.
16673 Shortcut the trivial 0/X = 0 case.
16674 Remove the warnings on overflow.
16676 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16678 * gst/gstplugin.c: (gst_plugin_register_func):
16679 everything causing a plugin not to load should be at least a WARNING
16681 2005-11-28 Stefan Kost <ensonic@users.sf.net>
16683 * docs/random/ensonic/dparams.txt:
16684 some TODOs for the next dev cycle
16685 * libs/gst/controller/gstcontroller.c:
16686 (gst_controlled_property_set_interpolation_mode),
16687 (gst_controlled_property_new):
16688 * libs/gst/controller/gstcontroller.h:
16689 use base type to assign acccessor functions
16691 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
16693 * check/Makefile.am:
16694 Oops, that should have been top_srcdir
16696 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
16698 * check/Makefile.am:
16699 * check/elements/fdsrc.c: (GST_START_TEST):
16700 Use a cmdline define to specify the location of a file to use for
16701 testing, to avoid breaking distcheck.
16703 2005-11-28 Andy Wingo <wingo@pobox.com>
16705 * gst/gstpad.c (fixate_value): Use array functions for arrays.
16707 2005-11-28 Edward Hervey <edward@fluendo.com>
16709 * tools/gst-launch.c: (main):
16710 Clarify the output strings, makes it easier to translate.
16713 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16716 don't try and build net if we don't even have <sys/socket.h>
16718 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
16720 * check/Makefile.am:
16721 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
16722 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
16723 Add tests for fdsrc seekability
16725 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16726 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
16727 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
16728 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
16729 * gst/elements/gstfdsrc.h:
16730 fdsrc should not be a 'live' source.
16731 Implement seeking on seekable fd's.
16733 * gst/gstquery.c: (gst_query_new_seeking),
16734 (gst_query_parse_seeking):
16736 Implement SEEKING query functions:
16737 *_new_seeking and *_parse_seeking
16739 2005-11-27 Stefan Kost <ensonic@users.sf.net>
16741 * gst/gstelement.c: (gst_element_dispose):
16744 * gst/gstiterator.c:
16745 * gst/gststructure.c:
16748 * libs/gst/controller/gstcontroller.c:
16749 (gst_controlled_property_set_interpolation_mode):
16750 * libs/gst/controller/gstcontroller.h:
16751 * libs/gst/controller/gstinterpolation.c:
16752 (interpolate_none_get_enum_value_array):
16753 support controlling enums
16755 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
16758 Improve documentation for gst_value_union().
16761 Change return value for union, intersect and subtract functions
16762 from gint to gboolean.
16764 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
16766 * gst/gstvalue.c: (gst_value_serialize_any_list),
16767 (gst_value_transform_any_list_string),
16768 (gst_value_deserialize_list), (gst_value_deserialize_array),
16769 (gst_value_set_int_range), (gst_value_deserialize_int_range),
16770 (gst_value_set_double_range), (gst_value_deserialize_double_range),
16771 (gst_value_set_fraction_range_full),
16772 (gst_value_deserialize_fraction_range),
16773 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
16774 (gst_value_deserialize_boolean),
16775 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
16776 (gst_value_serialize_float), (gst_value_deserialize_float),
16777 (gst_string_wrap), (gst_value_deserialize_string),
16778 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
16779 (gst_value_union_int_range_int_range),
16780 (gst_value_intersect_int_range_int_range),
16781 (gst_value_intersect_double_range_double_range),
16782 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
16783 (gst_value_subtract_int_range_int_range),
16784 (gst_value_subtract_double_double_range),
16785 (gst_value_subtract_double_range_double_range),
16786 (gst_value_deserialize_fraction):
16788 Use gint, gdouble and gchar in our API instead of int, double and
16789 char (and make usage in gstvalue.c more consistent).
16791 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
16793 * check/Makefile.am:
16794 * libs/gst/controller/Makefile.am:
16795 * libs/gst/dataprotocol/Makefile.am:
16796 fix up Makefile.am and remove GST_ENABLE_NEW
16798 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
16802 * gst/base/Makefile.am:
16803 * gst/check/Makefile.am:
16804 * gst/elements/Makefile.am:
16805 * gst/net/Makefile.am:
16806 update LDFLAGS use some more
16808 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
16810 * common/m4/gst-doc.m4:
16813 2005-11-26 Edward Hervey <edward@fluendo.com>
16815 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16816 This shouldn't issue a g_warning since it returns NULL if it
16817 couldn't find the plugin, and all functions using this behave
16818 properly on a NULL return. Switching to a GST_WARNING.
16820 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
16822 * gst/gstbin.c: (gst_bin_handle_message_func):
16823 Don't leak clock messages.
16825 2005-11-25 Wim Taymans <wim@fluendo.com>
16827 * gst/gstutils.c: (gst_util_uint64_scale_int64),
16828 (gst_util_uint64_scale_int):
16829 Optimisations, remove unneeded vars.
16831 2005-11-25 Wim Taymans <wim@fluendo.com>
16833 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16834 Added more checks for the high precision uint64 cases.
16836 * gst/gstutils.c: (gst_util_uint64_scale_int64),
16837 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16838 Implement high precision (guint64 * guint64) / guint64.
16840 2005-11-24 Wim Taymans <wim@fluendo.com>
16842 * gst/base/gstbasesrc.c: (gst_base_src_query):
16843 Fix wrong percentage query.
16845 * gst/gstutils.c: (gst_util_uint64_scale),
16846 (gst_util_uint64_scale_int):
16847 Add some more common cases that can be handled
16848 efficiently to _scale.
16850 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
16852 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
16853 (gst_mini_object_suite):
16854 don't use check calls from threads; check probably isn't
16855 threadsafe and using a lock to make it threadsafe would
16856 defeat the purpose of this check
16857 * gst/check/gstcheck.c:
16858 * gst/check/gstcheck.h:
16859 use GST_DEBUG some more
16861 2005-11-24 Wim Taymans <wim@fluendo.com>
16863 * gst/gstutils.c: (gst_util_uint64_scale),
16864 (gst_util_uint64_scale_int):
16865 Chain trivial case to _scale_int.
16867 2005-11-24 Wim Taymans <wim@fluendo.com>
16869 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16870 Added test for scaling.
16875 * gst/gstutils.c: (gst_util_uint64_scale_int):
16876 Implemented high precision scaling code.
16878 2005-11-24 Stefan Kost <ensonic@users.sf.net>
16881 do not crash on pad==NULL
16883 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
16885 Patch by: Stefan Kost
16887 * common/gtk-doc.mak:
16888 * docs/gst/Makefile.am:
16889 * docs/libs/Makefile.am:
16890 Fix distcheck issues for the libraries docs build
16893 2005-11-24 Michael Smith <msmith@fluendo.com>
16895 * docs/manual/basics-helloworld.xml:
16896 Fix bug #315027: memory leak in example code in docs.
16898 2005-11-24 Michael Smith <msmith@fluendo.com>
16900 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16901 Unlock the PREROLL_LOCK in a failure case.
16903 2005-11-24 Wim Taymans <wim@fluendo.com>
16905 * docs/gst/gstreamer-sections.txt:
16906 * gst/base/gstadapter.h:
16907 * gst/base/gstbasesink.h:
16908 * gst/base/gstbasesrc.h:
16909 * gst/base/gstbasetransform.h:
16910 * gst/base/gstpushsrc.h:
16911 * gst/elements/gstfakesink.h:
16912 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16913 * gst/elements/gstfakesrc.h:
16914 * gst/elements/gstfilesink.h:
16915 * gst/elements/gstfilesrc.h:
16918 * gst/gstbuffer.c: (_gst_buffer_copy):
16921 * gst/gstchildproxy.c:
16923 * gst/gstelement.c:
16924 * gst/gstelementfactory.c:
16925 * gst/gstelementfactory.h:
16927 * gst/gstghostpad.h:
16929 * gst/gstinterface.h:
16930 * gst/gstminiobject.c:
16931 * gst/gstminiobject.h:
16934 * gst/gstpadtemplate.h:
16935 * gst/gstpipeline.h:
16936 * gst/gstpluginfeature.h:
16939 * gst/gsttaglist.c:
16940 * gst/gsttaglist.h:
16941 * gst/gsttagsetter.c:
16942 * gst/gsttagsetter.h:
16945 * gst/gsttypefind.h:
16948 * gst/net/gstnetclientclock.c:
16949 * gst/net/gstnetclientclock.h:
16950 * gst/net/gstnettimepacket.c:
16951 * gst/net/gstnettimeprovider.c:
16952 * gst/net/gstnettimeprovider.h:
16955 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
16957 * configure.ac: back to HEAD
16959 === release 0.9.6 ===
16961 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
16964 releasing 0.9.6, "Always On Time"
16966 2005-11-23 Wim Taymans <wim@fluendo.com>
16968 * docs/gst/gstreamer-sections.txt:
16969 * gst/glib-compat.c:
16970 * gst/gsttagsetter.c:
16972 * gst/net/gstnetclientclock.c:
16973 * gst/net/gstnettimepacket.h:
16976 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
16978 * docs/faq/using.xml:
16979 * docs/libs/tmpl/gstcontrol.sgml:
16980 * docs/manual/advanced-dparams.xml:
16981 * docs/manual/appendix-checklist.xml:
16982 * docs/manual/basics-elements.xml:
16983 * docs/pwg/other-source.xml:
16984 * docs/random/moving-plugins:
16986 * tools/gst-launch.1.in:
16987 remove mentions of sinesrc
16989 2005-11-23 Michael Smith <msmith@fluendo.com>
16991 * docs/gst/gstreamer-sections.txt:
16992 Update for new API and API changes.
16994 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
16996 Documentation typo fix.
16997 * gst/net/gstnettimepacket.c:
16998 Documentation fixes for arguments.
17000 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
17002 * gst/gststructure.c: (gst_structure_get_fraction),
17003 (gst_structure_parse_value),
17004 (gst_structure_fixate_field_nearest_fraction):
17005 * gst/gststructure.h:
17006 * gst/gstutils.c: (gst_util_uint64_scale_int):
17008 * scripts/update-funcnames:
17010 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
17011 Make gst_structure_fixate_field_nearest_fraction take a numerator
17012 and denominator argument instead of a GValue
17013 add gst_structure_get_fraction helper function.
17015 2005-11-23 Wim Taymans <wim@fluendo.com>
17017 * docs/design/part-TODO.txt:
17020 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
17021 * gst/net/gstnetclientclock.h:
17022 Use parent fields for timeout and window_size.
17024 2005-11-23 Andy Wingo <wingo@pobox.com>
17026 * check/net/gstnetclientclock.c (test_functioning): Adjust to
17027 rate_num/rate_denom change.
17029 * gst/net/gstnetclientclock.c
17030 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
17031 OBJECT_LOCK. Don't call add_observation with the lock.
17033 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
17035 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
17037 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
17038 deal with rate as a fraction whose numerator and denominator are
17039 GstClockTime values.
17040 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
17041 master; the other fields are protected by the SLAVE_LOCK.
17042 (do_linear_regression): Note that this must be called with the
17044 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
17045 OBJECT_LOCK. Call set_calibration instead of touching the
17046 variables directly.
17047 (gst_clock_set_property, gst_clock_get_property): Protect
17048 master/slave parameters with the SLAVE_LOCK.
17050 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
17051 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
17052 note that all of the instance variables that add_observation and
17053 the set_master functions use are protected by that lock and not
17055 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
17057 * gst/gstclock.c (gst_clock_add_observation): No longer requires
17058 the caller to take the object lock.
17060 2005-11-23 Wim Taymans <wim@fluendo.com>
17062 * gst/gsterror.c: (_gst_core_errors_init):
17064 Add error for clock stuff.
17066 * gst/gstpipeline.c: (gst_pipeline_change_state),
17067 (gst_pipeline_set_clock):
17068 Post clock error when clock cannot be used in a pipeline.
17070 2005-11-23 Stefan Kost <ensonic@users.sf.net>
17072 * docs/gst/gstreamer-sections.txt:
17073 make two symbols from gstinfo private for the docs
17074 * gst/base/gstcollectpads.h:
17076 fix doc typos, update docs
17078 2005-11-22 Wim Taymans <wim@fluendo.com>
17080 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17081 (gst_base_sink_wait), (gst_base_sink_do_sync),
17082 (gst_base_sink_handle_event):
17083 * gst/base/gstbasesink.h:
17084 No need to store the clock, the parent element class already
17087 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
17088 Updates for clock_set returning a gboolean
17090 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
17091 (gst_clock_id_wait_async), (gst_clock_class_init),
17092 (gst_clock_init), (gst_clock_finalize),
17093 (gst_clock_get_internal_time), (gst_clock_get_time),
17094 (gst_clock_slave_callback), (gst_clock_set_master),
17095 (gst_clock_get_master), (do_linear_regression),
17096 (gst_clock_add_observation), (gst_clock_set_property),
17097 (gst_clock_get_property):
17099 Implement master/slave. When setting a clock as a slave, a
17100 periodic timeout is scheduled to sample master and slave times.
17101 Then the slave clock is recalibrated to match offset and rate
17102 of the master clock.
17103 Update logging a bit.
17104 Add flag so that a clock can state that is cannot be slaved to
17107 * gst/gstelement.c: (gst_element_set_clock):
17108 * gst/gstelement.h:
17109 The set clock returns a gboolean for when an element cannot
17110 deal with the selected clock in the pipeline.
17112 * gst/gstpipeline.c: (gst_pipeline_change_state),
17113 (gst_pipeline_set_clock):
17114 * gst/gstpipeline.h:
17115 Handle the case where the selected clock cannot be set on
17118 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
17119 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
17120 (gst_net_client_clock_set_property),
17121 (gst_net_client_clock_get_property),
17122 (gst_net_client_clock_observe_times):
17123 * gst/net/gstnetclientclock.h:
17124 Use regression code in GstClock parent, remove duplicated
17127 2005-11-22 Michael Smith <msmith@fluendo.com>
17129 * gst/gstutils.c: (gst_util_clock_time_scale):
17131 * docs/gst/gstreamer-sections.txt:
17132 Rename method to have extra underscore.
17134 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
17136 * gst/elements/Makefile.am:
17137 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
17138 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
17139 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
17140 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
17141 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
17142 * gst/elements/gstfakesrc.h:
17143 * gst/gstqueue.c: (queue_leaky_get_type):
17144 correctly fix GEnumValues so that nick is the short lowercase
17146 * tools/gst-inspect.c: (print_element_properties_info):
17147 also show the nick, since it's useful to use from parse_launch
17151 2005-11-22 Michael Smith <msmith@fluendo.com>
17153 * gst/gstutils.c: (gst_util_clocktime_scale):
17155 * docs/gst/gstreamer-sections.txt:
17156 Add util method for scaling a clocktime by a fraction. Useful
17157 implementation is left as an exercise for the reader.
17159 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17161 * gst/gstvalue.c: (gst_value_collect_fraction_range):
17162 If needed, allocate storage in the destination value during
17165 2005-11-22 Edward Hervey <edward@fluendo.com>
17167 * docs/gst/gstreamer-sections.txt:
17170 * gst/gsturitype.c:
17171 * gst/gsturitype.h:
17172 * gst/gstutils.c: (gst_util_set_object_arg):
17173 * tools/gst-compprep.c: (main):
17174 * tools/gst-inspect.c: (print_element_properties_info):
17175 Removed GstURI, closes bug #321061
17177 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17179 * check/gst/gststructure.c: (GST_START_TEST):
17180 * gst/gststructure.c: (gst_structure_parse_value):
17181 Oops, broke automatic string type parsing.
17182 Add a test to catch it in future.
17184 2005-11-22 Andy Wingo <wingo@pobox.com>
17186 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
17187 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
17188 Actually rename the function implementations. Grr.
17190 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17192 * check/gst/capslist.h:
17194 * check/gst/gststructure.c: (GST_START_TEST),
17195 (gst_structure_suite):
17196 Test automatic value type detection in gst_structure_from_string.
17197 * gst/gststructure.c: (gst_structure_parse_value):
17198 Add fraction as a type we try and guess automatically in
17199 caps/structure strings.
17201 2005-11-22 Andy Wingo <wingo@pobox.com>
17203 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
17205 * gst/gsttagsetter.h:
17206 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
17207 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
17208 (gst_tag_setter_add_tag_valist)
17209 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
17210 _add_values, _add_valist, and _add_valist_values. Since this is an
17211 interface the function suffixes should be more explicit so
17212 language binding don't end up with element.add_valist ->
17213 gst_tag_setter_add_valist, for example. Fixes #322069.
17215 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17217 * check/gst/gstcaps.c: (GST_START_TEST):
17218 Extend caps string tests to check that a caps to string
17219 conversion is reversible and produces the same caps.
17221 * gst/gststructure.c: (gst_structure_value_get_generic_type):
17222 Output "fraction" as the generic type fraction range, so caps
17223 serialisation and deserialisation works.
17224 * check/gst/capslist.h:
17225 * gst/gstvalue.c: (gst_value_deserialize_fraction):
17226 Support 'MIN' and 'MAX' for deserialising fractions.
17228 2005-11-22 Andy Wingo <wingo@pobox.com>
17230 * gst/gstevent.h (gst_event_new_new_segment)
17231 (gst_event_parse_new_segment, gst_event_new_buffer_size)
17232 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
17233 Renamed from *_newsegment, *_buffersize, *_notarget.
17235 * scripts/update-funcnames: New script, performs the changes
17238 2005-11-22 Wim Taymans <wim@fluendo.com>
17240 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17241 Make sure the GstFlowReturn is returned.
17243 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
17244 (gst_bus_add_signal_watch):
17246 add gst_bus_add_signal_watch_full.
17248 * gst/gstplugin.c: (gst_plugin_load_file):
17249 Small style cleanup.
17251 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17253 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
17254 Block the fakesrc srcpad when we send an event, to avoid
17255 contention on the stream_lock causing random test failures.
17257 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17259 * check/gst/gstvalue.c: (GST_START_TEST):
17260 * gst/gstvalue.c: (gst_value_fraction_subtract):
17263 2005-11-22 Stefan Kost <ensonic@users.sf.net>
17266 include "gstchildproxy.h"
17267 * gst/gstchildproxy.h:
17268 * libs/gst/controller/gstcontroller.h:
17269 use G_GNUC_NULL_TERMINATED
17271 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17273 * check/gst/capslist.h:
17274 * check/gst/gstcaps.c: (GST_START_TEST):
17275 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17276 * gst/gststructure.c: (gst_structure_parse_range),
17277 (gst_structure_fixate_field_nearest_fraction):
17278 * gst/gststructure.h:
17279 * gst/gstvalue.c: (gst_value_init_fraction_range),
17280 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
17281 (gst_value_collect_fraction_range),
17282 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
17283 (gst_value_set_fraction_range_full),
17284 (gst_value_get_fraction_range_min),
17285 (gst_value_get_fraction_range_max),
17286 (gst_value_serialize_fraction_range),
17287 (gst_value_transform_fraction_range_string),
17288 (gst_value_compare_fraction_range),
17289 (gst_value_deserialize_fraction_range),
17290 (gst_value_intersect_fraction_fraction_range),
17291 (gst_value_intersect_fraction_range_fraction_range),
17292 (gst_value_subtract_fraction_fraction_range),
17293 (gst_value_subtract_fraction_range_fraction),
17294 (gst_value_subtract_fraction_range_fraction_range),
17295 (gst_value_collect_fraction), (gst_value_fraction_multiply),
17296 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
17297 (gst_value_transform_string_fraction), (_gst_value_initialize):
17299 Implement fraction ranges and extend GstFraction to support
17300 arithmetic subtraction, as well as deserialization from integer
17301 strings such as "100"
17302 Add a testsuite as for int and double range set operations
17304 2005-11-21 Andy Wingo <wingo@pobox.com>
17306 * gst/gsttaglist.h:
17308 * gst/gststructure.h: Add glib-compat.h.
17310 2005-11-21 Wim Taymans <wim@fluendo.com>
17312 * gst/gstbin.c: (gst_bin_change_state_func):
17315 2005-11-21 Wim Taymans <wim@fluendo.com>
17317 * gst/gstsegment.h:
17318 And add a nice define too.
17320 2005-11-21 Wim Taymans <wim@fluendo.com>
17322 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
17323 (gst_segment_new), (gst_segment_free), (gst_segment_init),
17324 (gst_segment_set_duration), (gst_segment_set_last_stop),
17325 (gst_segment_set_seek), (gst_segment_set_newsegment),
17326 (gst_segment_to_stream_time), (gst_segment_to_running_time),
17327 (gst_segment_clip):
17328 * gst/gstsegment.h:
17329 Make binding friendly.
17331 2005-11-21 Andy Wingo <wingo@pobox.com>
17333 * gst/gsttagsetter.h:
17334 * gst/gsttaglist.h:
17335 * gst/gststructure.h:
17337 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
17340 * gst/gsterror.c (_gst_core_errors_init):
17341 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
17344 * gst/Makefile.am (gst_headers): Add glib-compat.h.
17345 (noinst_HEADERS): noinst the -private.
17347 2005-11-21 Michael Smith <msmith@fluendo.com>
17350 * gst/gstregistry.h:
17351 Remove unimplemented declarations for which we can see no sensible
17354 2005-11-21 Andy Wingo <wingo@pobox.com>
17356 * gst/gst.h: Include glib-compat.h.
17358 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
17360 * gst/glib-compat.c: Include the public and the private header.
17362 * gst/glib-compat-private.h: Copied here from glib-compat.h.
17366 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
17368 * check/gst/gstevent.c (create_custom_events): Check that
17369 FLUSH_STOP is serialized.
17371 * check/elements/identity.c (event_func):
17372 * check/elements/fakesrc.c (event_func): No stream lock, the core
17375 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
17376 stream lock taking, yay.
17378 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
17379 ensure that core takes the stream lock.
17381 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
17384 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
17385 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
17386 it already. For the flush start we do take it though so we get the
17387 right preroll state change messages.
17389 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
17390 the stream lock here, the core does it for us.
17392 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
17393 GST_STREAM_GET_LOCK.
17394 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
17395 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
17396 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
17397 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
17398 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
17399 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
17401 * gst/gstpad.c: Update for stream lock name change.
17403 * gst/base/gstbasesink.c: Update for preroll lock name change.
17405 2005-11-21 Wim Taymans <wim@fluendo.com>
17407 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
17408 (gst_clock_get_master):
17410 * gst/gstsystemclock.c: (gst_system_clock_init):
17411 Convert Clock flags to object flags.
17412 Added methods to manage master/slave clocks.
17414 2005-11-21 Wim Taymans <wim@fluendo.com>
17416 * check/gst/gstsegment.c: (GST_START_TEST):
17417 * docs/design/part-TODO.txt:
17418 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17419 (gst_base_sink_event), (gst_base_sink_do_sync),
17420 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17421 (gst_base_sink_query), (gst_base_sink_change_state):
17422 * gst/base/gstbasesink.h:
17423 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17424 (gst_base_src_default_newsegment),
17425 (gst_base_src_configure_segment), (gst_base_src_do_seek),
17426 (gst_base_src_get_range), (gst_base_src_loop),
17427 (gst_base_src_change_state):
17428 * gst/base/gstbasesrc.h:
17429 * gst/base/gstbasetransform.c:
17430 (gst_base_transform_prepare_output_buf),
17431 (gst_base_transform_event), (gst_base_transform_change_state):
17432 * gst/base/gstbasetransform.h:
17433 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17434 (gst_collect_pads_event):
17435 * gst/base/gstcollectpads.h:
17436 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
17437 (gst_fake_src_create):
17438 * gst/elements/gstfakesrc.h:
17439 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17440 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17441 (gst_segment_set_last_stop), (gst_segment_set_seek),
17442 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17443 (gst_segment_to_running_time), (gst_segment_clip):
17444 * gst/gstsegment.h:
17445 More segment updates, replace code in plugins with segment
17448 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
17450 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
17451 Don't ignore sscanf results
17453 2005-11-21 Andy Wingo <wingo@pobox.com>
17455 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
17458 * *.c: Ran scripts/update-macros. Oh yes.
17460 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
17461 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
17464 * scripts/update-macros: New script. Run it on your files to
17465 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
17468 2005-11-21 Stefan Kost <ensonic@users.sf.net>
17470 * docs/gst/Makefile.am:
17471 * docs/gst/gstreamer-docs.sgml:
17472 * docs/gst/gstreamer-sections.txt:
17473 * docs/gst/gstreamer.types:
17475 more docs fixes, add new api to the docs
17477 2005-11-21 Andy Wingo <wingo@pobox.com>
17479 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
17480 state_broadcast call.
17482 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
17484 2005-11-21 Julien MOUTTE <julien@moutte.net>
17486 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
17487 function calls for arrays.
17489 2005-11-21 Stefan Kost <ensonic@users.sf.net>
17491 * docs/random/ensonic/media-device-daemon.txt:
17492 wild idea, can this be done?
17493 * docs/gst/gstreamer-sections.txt:
17498 * gst/gstpluginfeature.c:
17502 doc fixes and additions
17504 2005-11-21 Andy Wingo <wingo@pobox.com>
17506 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
17507 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
17508 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
17509 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
17510 private to the basesrc implementation.
17512 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
17513 behalf of event function if necessary. It should no longer be
17514 necessary to take the stream lock in pad's event functions. Fixes
17517 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
17518 * docs/gst/gstreamer-sections.txt:
17519 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
17520 (gst_structure_fixate_field_nearest_double),
17521 (gst_structure_fixate_field_boolean):
17522 * gst/gststructure.h:
17523 * win32/common/libgstreamer.def:
17524 * win32/gstreamer.def:
17526 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
17529 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
17531 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
17532 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
17533 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
17534 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
17535 (gst_fdsrc_uri_handler_init):
17536 * gst/elements/gstfdsrc.h:
17537 Port fd:// URI handler from 0.8 to fdsrc
17539 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17541 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
17542 (gst_value_serialize_fourcc):
17544 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
17545 consistent with our other format defines (#320324).
17547 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17549 * gst/gstvalue.c: (gst_value_is_fixed):
17550 Revert previous commit. Value lists are by definition
17551 not fixed, as they are a list of possible values.
17553 2005-11-21 Andy Wingo <wingo@pobox.com>
17555 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
17556 during the stable series if we need it. Fixes #319178.
17558 * gst/gstevent.c (gst_event_new_filler): Removed.
17560 * check/gst/gstevent.c: Update comment about filler events.
17562 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17564 * gst/gstvalue.c: (gst_value_is_fixed):
17565 Should handle both value arrays and value lists.
17567 2005-11-21 Andy Wingo <wingo@pobox.com>
17569 patch by: Alessandro Dessina <alessandro nnva org>
17571 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
17572 functions to access arrays. Fixes #321962.
17574 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17576 * docs/gst/gstreamer.types:
17577 gst_collectpads_get_type => gst_collect_pads_get_type.
17579 * gst/base/gstbasetransform.c:
17580 Remove unused SIGNAL_HANDOFF enum.
17582 2005-11-21 Andy Wingo <wingo@pobox.com>
17584 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
17585 the event type (upstream, downstream, serialized). Renamed
17586 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
17587 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
17588 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
17590 * gst/gstevent.c: Update for new CUSTOM event names.
17592 * check/gst/gstevent.c: Update check for new CUSTOM event names.
17595 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
17598 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17600 * docs/gst/gstreamer-sections.txt:
17601 * win32/common/libgstbase.def:
17602 * win32/libgstbase.def:
17603 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17604 (gst_collect_pads_class_init), (gst_collect_pads_init),
17605 (gst_collect_pads_finalize), (gst_collect_pads_new),
17606 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
17607 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
17608 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
17609 (gst_collect_pads_start), (gst_collect_pads_stop),
17610 (gst_collect_pads_peek), (gst_collect_pads_pop),
17611 (gst_collect_pads_available), (gst_collect_pads_read),
17612 (gst_collect_pads_flush), (gst_collect_pads_event),
17613 (gst_collect_pads_chain):
17614 * gst/base/gstcollectpads.h:
17615 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
17616 unimplemented functions as unimplemented. Add padding to
17617 GstCollectData. (#320766, #320423)
17619 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17621 * gst/gstmessage.c:
17622 Improve docs for DURATION message (usage of duration parameter)
17625 2005-11-20 Wim Taymans <wim@fluendo.com>
17627 * check/Makefile.am:
17628 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
17632 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17633 (gst_segment_set_seek), (gst_segment_set_newsegment),
17634 (gst_segment_to_stream_time), (gst_segment_to_running_time),
17635 (gst_segment_clip):
17636 * gst/gstsegment.h:
17637 Added segment helper structure and methods. Not fully implemented
17639 Added segment check.
17641 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
17643 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17644 Add a deserialisation test for fractions
17645 * examples/metadata/read-metadata.c: (message_loop),
17646 (make_pipeline), (main):
17647 Fix up metadata reading sample.
17648 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17650 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17651 Don't try and fixate empty caps
17652 * gst/gst_private.h:
17653 Wrap in G_BEGIN_DECLS/G_END_DECLS
17654 * gst/gstvalue.c: (gst_value_collect_fraction),
17655 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
17656 (gst_value_transform_string_fraction),
17657 (gst_value_compare_fraction):
17658 Add some extra guards to ensure that we don't end up
17659 with an invalid denominator of 0 in a gstfraction and
17660 that fractions always get reduced.
17662 2005-11-20 Wim Taymans <wim@fluendo.com>
17664 * docs/gst/gstreamer-sections.txt:
17666 * gst/gstelement.c:
17675 2005-11-20 Wim Taymans <wim@fluendo.com>
17677 * docs/design/part-TODO.txt:
17679 Make a proper enum of the flag.
17681 2005-11-19 Wim Taymans <wim@fluendo.com>
17683 * docs/design/part-TODO.txt:
17684 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
17685 (gst_format_to_quark), (gst_format_register):
17687 * gst/gstquery.c: (_gst_query_initialize),
17688 (gst_query_type_get_name), (gst_query_type_to_quark),
17689 (gst_query_type_register):
17691 Add type to quark and type to string conversions.
17693 2005-11-19 Andy Wingo <wingo@pobox.com>
17695 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
17698 2005-11-19 Wim Taymans <wim@fluendo.com>
17700 * docs/design/part-TODO.txt:
17701 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17702 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
17703 (gst_bin_handle_message_func):
17705 Make message handling overridable.
17707 2005-11-19 Andy Wingo <wingo@pobox.com>
17709 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
17712 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
17714 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
17715 is a GstClockTime. Fixes #321710.
17717 * gst/gstclock.h (GstClock): Remove offset property. Add
17718 internal_calibration and external_calibration. Fix padding. Pad
17719 also by GstClockTime so we don't run into problems.
17721 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
17722 (gst_clock_get_rate_offset): Remove.
17723 (gst_clock_set_time_adjust): Remove. Fixes #321712.
17726 * gst/gstutils.c (g_static_rec_cond_wait)
17727 (g_static_rec_cond_timed_wait): Removed, no longer needed.
17729 * gst/gstbin.c: Remove terrible continue_state prototype.
17731 * gst/gstelement.h (gst_element_continue_state): Make public.
17733 * gst/gstelement.h:
17734 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
17735 by continue_state. Fixes #319389.
17737 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
17738 Really fixes #168438. However I don't see anywhere where the
17739 filter function is called... stupid GStreamer...
17741 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
17742 don't have a dispose function, so it won't get called when the
17743 object is unreffed, but oh well!
17745 * gst/gstindex.c (gst_index_set_filter_full): New API function,
17746 allows a destroy function to be set so user_data can be freed.
17748 (gst_index_set_filter): Call gst_index_set_filter_full.
17750 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
17752 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
17753 string should produce an error, given the lack of a way to
17754 represent NULL strings. Fixes #165650.
17757 * gst/gstvalue.c (gst_value_array_append_value)
17758 (gst_value_array_prepend_value, gst_value_array_get_size)
17759 (gst_value_array_get_value): New API, copied from
17760 gst_value_list_*, only operates on arrays.
17761 (gst_value_list_append_value, gst_value_list_prepend_value)
17762 (gst_value_list_concat, gst_value_list_get_size)
17763 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
17765 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
17766 init_list, because it works on both.
17767 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
17768 (gst_value_copy_list_or_array): Renamed from copy_list.
17769 (gst_value_free_list_or_array): Renamed from free_list.
17770 (gst_value_collect_list_or_array): Renamed from collect_list.
17771 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
17772 (gst_value_list_or_array_peek_pointer): Renamed from
17774 (_gst_value_array_value_table, _gst_value_list_value_table):
17775 Update value table functions.
17776 (gst_value_compare_list_or_array): Renamed from compare_list.
17778 * gsttaglist.h: Whoops, foreach function returns void. Also fix
17781 * gst/gsttaglist.c:
17782 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
17783 GstTagList*. Fixes #143472.
17785 * gst/gststructure.h: Clarify what the foreach/map functions can
17786 or can't do to their arguments.
17788 2005-11-18 Wim Taymans <wim@fluendo.com>
17790 * gst/gstclock.c: (gst_clock_set_calibration),
17791 (gst_clock_get_calibration):
17793 Calibration can be set with internal time equal to current
17796 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
17802 2005-11-18 Andy Wingo <wingo@pobox.com>
17805 * pkgconfig/gstreamer-net.pc.in:
17806 * pkgconfig/gstreamer-net-uninstalled.pc.in:
17807 * pkgconfig/Makefile.am: Add net pkgconfig files.
17809 2005-11-18 Stefan Kost <ensonic@users.sf.net>
17812 * gst/gstghostpad.c:
17818 2005-11-18 Andy Wingo <wingo@pobox.com>
17820 * gst/net/gstnetclientclock.c: Turn off debugging.
17822 * check/net/gstnetclientclock.c (test_functioning): Assert that the
17823 times connverge somewhat. Can't make a real test.
17825 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
17826 integer arithmetic. Return the minimum of the domain, which can be
17827 set as "internal" for gst_clock_set_calibration.
17828 (gst_net_client_clock_observe_times): Call _set_calibration.
17829 (gst_net_client_clock_new): Call _set_calibration instead of
17832 * check/net/gstnetclientclock.c (test_functioning): Use the right
17836 * gst/gstclock.c (gst_clock_get_calibration)
17837 (gst_clock_set_calibration): New functions, obsolete the ones I
17838 added yesterday. Doh. Precision issues mean we have to extrapolate
17839 from a point in the more recent past than 1970.
17840 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
17842 (gst_clock_adjust_unlocked): Use the right calibration data.
17844 2005-11-18 Edward Hervey <edward@fluendo.com>
17846 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17847 Also reset the ->current_* values in READY->PAUSED
17849 2005-11-18 Andy Wingo <wingo@pobox.com>
17851 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
17852 Whoops, check the right fd. Also add some debugging.
17853 (gst_net_client_clock_observe_times): Adjust for int64 offset.
17854 (do_linear_regression): Add a crapload of debugging. Subtract off
17855 the minimum values from the input series to discard unneeded bits.
17856 Use only int arithmetic. There is still double arithmetic when
17857 calculating the intercept that needs fixing. Return boolean to
17858 indicate success; FALSE would mean the domain or range is too
17859 great. Still needs fixes.
17861 2005-11-18 Wim Taymans <wim@fluendo.com>
17863 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17864 For the current position in stream time, we need to subtract
17867 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17868 Release lock before calling the callback function of async
17871 2005-11-18 Andy Wingo <wingo@pobox.com>
17873 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
17874 Port goes all the way to MAXUINT16.
17876 * gst/net/gstnettimeprovider.c: Make the port range the same as
17877 for the kernel: 0 assigns, otherwise ports are less than
17880 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
17883 * check/net/gstnetclientclock.c (test_functioning): Add the start
17886 2005-11-18 Wim Taymans <wim@fluendo.com>
17888 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17889 (gst_bin_remove_func), (bin_bus_handler):
17891 Removing a clock provider from a bin, triggers a clock lost message
17892 so that a new clock will be selected.
17893 Adding a clock to a bin triggers a clock provider message.
17894 Make sure we reselect a clock when we received a clock lost message.
17895 Keep a reference to the element that provided the clock.
17897 2005-11-18 Andy Wingo <wingo@pobox.com>
17899 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
17900 the clock initially so it produces values around the base time.
17901 (gst_net_client_clock_class_init): Typo fix.
17902 (gst_net_client_clock_thread): Add note on when the socket gets
17905 2005-11-17 Wim Taymans <wim@fluendo.com>
17907 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
17908 Free remote and local time arrays.
17910 2005-11-17 Wim Taymans <wim@fluendo.com>
17912 * gst/net/gstnetclientclock.c: (do_linear_regression),
17913 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
17914 Fix compilation, uninitialized vars and a forgotten continue.
17916 2005-11-17 Andy Wingo <wingo@pobox.com>
17918 * check/Makefile.am (check_PROGRAMS):
17919 * check/net/gstnetclientclock.c: Add a most minimal test for the
17920 net client clock. More to come later.
17922 * gst/net/gstnet.h:
17923 * gst/net/Makefile.am: Add netclientclock.
17925 * gst/net/gstnetclientclock.h:
17926 * gst/net/gstnetclientclock.c: New files, implement an untested
17927 GstClock that takes its time from a network time provider.
17928 Implements the algorithm in network-clock.scm.
17930 * tests/network-clock.scm (*window-size*): Rename from
17932 * tests/network-clock.scm (network-time):
17933 * tests/network-clock-utils.scm (q-push): Update callers.
17935 2005-11-17 Wim Taymans <wim@fluendo.com>
17937 * gst/gstbin.c: (gst_bin_provide_clock_func),
17938 (gst_bin_sort_iterator_new):
17939 And unref the child too..
17941 2005-11-17 Wim Taymans <wim@fluendo.com>
17943 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17944 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
17945 Refactor the sort iterator so it can be used while holding the
17947 Make clock selection select a clock closest to the source.
17949 2005-11-17 Michael Smith <msmith@fluendo.com>
17951 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
17952 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
17954 Anonymous structs are a gcc (and some other compilers) extension, so
17955 don't use them. Since this is only for ABI-compatibility, and our
17956 API/ABI freeze is over in a few days, this whole thing will only
17957 last a few days, so don't bother trying to think up a meaningful
17958 name for the struct.
17960 2005-11-17 Andy Wingo <wingo@pobox.com>
17962 * gst/gstclock.h (GstClock): Add rate and offset properties,
17963 preserving ABI stability. Add rate/offset accessors. Will file bug
17964 for the freeze break.
17966 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
17967 and offset, trying to keep precision and avoiding
17968 underflow/overflow.
17969 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
17970 functions. Make gst_clock_set_time_adjust obsolete.
17971 (gst_clock_set_time_adjust): Note that this function is obsolete.
17972 Will file bug soon.
17974 * gst/base/gstbasetransform.h: Make the ABI-stability hack
17975 greppable by using GST_PADDING-1+1.
17977 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
17979 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17981 * gst/gstmessage.c: (gst_message_parse_clock_lost):
17982 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
17984 * gst/gstpadtemplate.h:
17985 * gst/gstpluginfeature.h:
17986 Don't use c++ style comments in headers (#321638).
17988 2005-11-16 Andy Wingo <wingo@pobox.com>
17990 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
17993 * check/net/gstnettimeprovider.c: Check to see that the time
17994 provider actually provides times. Works, yo!
17996 2005-11-16 Wim Taymans <wim@fluendo.com>
17998 * check/Makefile.am:
18001 * check/elements/fakesrc.c: (GST_START_TEST):
18002 Set element to NULL before disposing it.
18004 2005-11-16 Andy Wingo <wingo@pobox.com>
18006 * gst/net/Makefile.am:
18007 * gst/net/gstnet.h:
18008 * gst/net/gstnettimeprovider.c:
18009 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
18010 provider, include it from gstnet.h, and add it to the build.
18012 * gst/net/gstnettimepacket.h:
18013 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
18014 sending and receiving.
18016 2005-11-16 Wim Taymans <wim@fluendo.com>
18018 * check/Makefile.am:
18019 Enable valgrind check.
18021 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
18022 (gst_fake_src_alloc_buffer):
18025 2005-11-16 Wim Taymans <wim@fluendo.com>
18027 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
18028 Call parent finalize too.
18030 2005-11-16 Wim Taymans <wim@fluendo.com>
18032 * check/Makefile.am:
18033 Enable valgrind check that should work fine now.
18035 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18036 * gst/gstqueue.c: (gst_queue_init):
18037 Fix memleaks in pad allocation.
18039 2005-11-16 Andy Wingo <wingo@pobox.com>
18041 * gst/net/Makefile.am:
18042 * gst/net/gstnet.h: New part of core to hold network elements and
18043 objects. Put in core because it exposes API that applications want
18044 to use. The library is named libgstnet-tempname right now because
18045 of the existing libgstnet in gst-plugins-base. Solution is
18046 probably to rename the one in plugins-base; will file a bug for
18049 * gst/net/gstnettimeprovider.c:
18050 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
18051 get_time call over the network.
18054 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
18056 * check/Makefile.am:
18057 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
18058 get additions shortly.
18060 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18062 * gst/gstpad.c: (gst_pad_new_from_static_template):
18064 add gst_pad_new_from_static_template functions
18065 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
18066 (gst_check_setup_sink_pad):
18067 * gst/elements/gsttee.c: (gst_tee_init):
18070 2005-11-16 Wim Taymans <wim@fluendo.com>
18072 * gst/gstpad.c: (gst_pad_pause_task):
18073 Removed warning, it's not really an error either.
18075 2005-11-16 Wim Taymans <wim@fluendo.com>
18077 * gst/base/gstbasetransform.c:
18078 (gst_base_transform_prepare_output_buf),
18079 (gst_base_transform_event):
18080 Check if the caps are NULL, this can happen if the element
18081 is shutting down and the pad caps are set to NULL.
18083 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18085 * gst/elements/gsttee.c: (gst_tee_init):
18086 fix pad template leak in tee
18088 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18090 * gst/glib-compat.c: (g_value_dup_gst_object):
18091 * gst/glib-compat.h:
18092 * gst/gstpad.c: (gst_pad_set_property):
18093 use gst_object_ref when setting the pad template; this will
18094 trigger the pad template leaks on GLib 2.6 and the slaves
18096 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18098 * gst/glib-compat.c: (gst_flags_get_first_value):
18099 * gst/glib-compat.h:
18100 * gst/gstregistryxml.c:
18101 remove functions copied from GLib 2.6
18103 2005-11-16 Michael Smith <msmith@fluendo.com>
18106 Don't link against VALGRIND_LIBS. That was always the wrong thing to
18107 do, but only breaks with newer valgrind versions. We're not a
18108 valgrind tool, we have no link-time dependencies on libcoregrind.
18110 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18112 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18114 * gst/gstmessage.h:
18117 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18119 * gst/base/gstbasesrc.c: (gst_base_src_init):
18120 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18121 * gst/gstqueue.c: (gst_queue_init):
18122 * gst/gstregistryxml.c: (load_feature):
18123 Revert all these unrefs, they don't even pass make check !
18125 2005-11-15 Johan Dahlin <johan@gnome.org>
18127 * gst/base/gstbasesrc.c: (gst_base_src_init):
18128 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18129 * gst/gstqueue.c: (gst_queue_init):
18130 Free pad templates, fixes a couple of leaks.
18132 2005-11-15 Daniel Fischer <dan at f3c dot com>
18134 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18136 * gst/gstpad.c: (gst_pad_get_property):
18137 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
18138 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
18141 2005-11-15 Wim Taymans <wim@fluendo.com>
18146 2005-11-15 Andy Wingo <wingo@pobox.com>
18148 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
18150 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
18151 using GST_CLOCK_TIME_NONE to disable base time management.
18152 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
18153 time if it was NONE before.
18154 (gst_pipeline_change_state): Only munge the base time if
18155 stream_time != GST_CLOCK_TIME_NONE.
18157 * check/gst/gstpipeline.c (test_base_time): Punt around the
18158 problem of the probe not being called, because that's not the
18159 issue I'm looking at. Add a check that setting stream_time to NONE
18160 disables base time management.
18162 2005-11-15 Wim Taymans <wim@fluendo.com>
18164 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18165 segment_stop == -1 at startup.
18167 * gst/base/gstbasetransform.c: (gst_base_transform_event),
18168 (gst_base_transform_change_state):
18169 Init segment values at start.
18171 2005-11-15 Wim Taymans <wim@fluendo.com>
18173 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18174 0 segment values are 0 in any format.
18176 * gst/base/gstbasetransform.c: (gst_base_transform_event):
18177 * gst/base/gstbasetransform.h:
18178 Parse newsegment correctly in basetransform
18180 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18181 Sync to clock using updated segment values.
18183 2005-11-15 Andy Wingo <wingo@pobox.com>
18185 * check/gst/gstpipeline.c (test_base_time): Add check that the
18186 base time and stream time are reset correctly.
18188 2005-11-15 Wim Taymans <wim@fluendo.com>
18190 * docs/design/part-TODO.txt:
18191 Some more TODO items.
18193 2005-11-15 Andy Wingo <wingo@pobox.com>
18195 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
18196 error if the user selected "no clock" as the clocking method.
18198 * check/gst/gstpipeline.c (test_base_time): New test for buffer
18199 timestamps with live capture.
18201 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
18202 is 0 but we are a live source, timestamp the buffers using the
18205 2005-11-14 Stefan Kost <ensonic@users.sf.net>
18207 * docs/gst/gstreamer-sections.txt:
18209 * gst/gstghostpad.c:
18214 2005-11-14 Wim Taymans <wim@fluendo.com>
18217 add suppressions from Wim's Debian machine
18219 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
18222 add suppressions from Andy's AMD64 Ubuntu machine
18224 2005-11-14 Andy Wingo <wingo@pobox.com>
18226 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
18227 STATE_LOCK not necessary. Fixes #311489.
18229 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
18232 * gst/gstindex.c (gst_index_add_object): Note in the docs that
18233 this function is not implemented.
18235 2005-11-14 Julien MOUTTE <julien@moutte.net>
18237 * gst/base/gstbasetransform.c:
18238 (gst_base_transform_prepare_output_buf):
18239 Ref the source pad caps while we need them.
18242 2005-11-11 Wim Taymans <wim@fluendo.com>
18244 * docs/gst/gstreamer-sections.txt:
18245 Added some docs for GstCollectData.
18247 * gst/base/gstadapter.c:
18248 Some small code example fix.
18250 * gst/base/gstcollectpads.c:
18251 * gst/base/gstcollectpads.h:
18252 Document some more.
18254 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
18256 * configure.ac: back to HEAD
18258 === release 0.9.5 ===
18260 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
18263 releasing 0.9.5, "Bike Lunch Day"
18265 2005-11-11 Wim Taymans <wim@fluendo.com>
18267 * gst/gstbuffer.c: (_gst_buffer_copy):
18270 * gst/gstcaps.c: (gst_caps_is_equal):
18272 Make _is_equal fast in the trivial cases.
18274 * gst/gstminiobject.c:
18275 * gst/gstminiobject.h:
18276 More docs. Spifify .h file.
18281 2005-11-11 Wim Taymans <wim@fluendo.com>
18283 * gst/base/gstbasetransform.c:
18284 (gst_base_transform_prepare_output_buf),
18285 (gst_base_transform_handle_buffer):
18287 If we're processing a buffer and need to allocate an output
18288 buffer, we cannot accept a format change. If we did get a
18289 format change, we have to alloc a buffer ourselves of the
18292 2005-11-11 Wim Taymans <wim@fluendo.com>
18294 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
18295 While checking the flag for reentrancy in the gstcaps function
18296 is nice to detect recursive invocations, it also makes it
18297 impossible to call getcaps from multiple threads, which must be
18298 possible. So, checking for recursive calls has to go.
18300 2005-11-11 Michael Smith <msmith@fluendo.com>
18302 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18303 Don't sync on buffers that fall partially outside our current
18304 segment. Prevents an assertion failure/abort playing some files.
18306 2005-11-10 Andy Wingo <wingo@pobox.com>
18308 * check/gst/gstbin.c (test_message_state_changed_children): Style
18311 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
18312 gst_bus_poll with the signal watch. Ensures that poll and a signal
18313 watch see the same messages.
18315 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
18316 a poll and a watch at the same time get the same messages.
18318 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
18320 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
18321 * gst/gstcaps.c: (gst_caps_intersect):
18322 Don't call gst_caps_do_simplify - it doesn't respect order of caps
18323 and it's not needed.
18325 2005-11-10 Wim Taymans <wim@fluendo.com>
18327 * docs/design/part-TODO.txt:
18330 2005-11-10 Wim Taymans <wim@fluendo.com>
18332 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18333 * gst/base/gstbasesrc.c: (gst_base_src_wait),
18334 (gst_base_src_do_sync), (gst_base_src_get_range):
18335 Implement clock sync in base class.
18337 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
18339 patch by: Tim-Philipp Müller <tim at centricular dot net>
18341 * gst/gststructure.c: (gst_structure_parse_field),
18342 (gst_structure_from_string):
18343 Forward-port a 0.8 patch to handle escaped spaces in structure string,
18344 so that gst_parse_launch() can deal with spaces in filtered link
18345 caps (fixes #164479)
18346 * check/gst/capslist.h:
18347 * check/gst/gststructure.c: (GST_START_TEST):
18348 add unit tests for this change
18350 2005-11-10 Wim Taymans <wim@fluendo.com>
18352 * docs/gst/gstreamer-sections.txt:
18353 * gst/gstelement.c:
18354 * gst/gstelement.h:
18355 Fix docs, move some STATE macros to private.
18357 2005-11-10 Wim Taymans <wim@fluendo.com>
18359 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18360 Added check for bug #317341
18364 Some more spiffifying.
18366 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
18367 Call peer linkfunction if we are a source pad. Totally fixes
18371 Update docs, source pads should call the peer linkfunction
18372 so they can atomically perform the pad link.
18374 2005-11-09 Wim Taymans <wim@fluendo.com>
18378 Uber-spiffy-spiffify some more.
18380 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
18382 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
18383 * gst/elements/gstfilesink.c: (gst_file_sink_init):
18384 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18385 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
18386 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
18387 * gst/gstpad.c: (gst_pad_init):
18388 Use GST_DEBUG_FUNCPTR() more extensively.
18390 2005-11-09 Wim Taymans <wim@fluendo.com>
18392 * gst/gstobject.c: (gst_object_class_init):
18394 Documentation fixes.
18396 2005-11-09 Edward Hervey <edward@fluendo.com>
18398 * gst/gsttypefindfactory.c:
18401 2005-11-09 Edward Hervey <edward@fluendo.com>
18403 * gst/base/gsttypefindhelper.c:
18404 * gst/gsttypefind.c:
18405 * gst/gsttypefind.h:
18408 2005-11-09 Wim Taymans <wim@fluendo.com>
18410 * gst/gstiterator.c:
18417 2005-11-09 Wim Taymans <wim@fluendo.com>
18423 2005-11-09 Wim Taymans <wim@fluendo.com>
18425 * docs/gst/gstreamer-sections.txt:
18426 Moved the message async delivery private lock and cond
18427 to the private section.
18429 * gst/gstmessage.c:
18430 * gst/gstmessage.h:
18433 2005-11-09 Edward Hervey <edward@fluendo.com>
18435 * docs/gst/gstreamer-sections.txt:
18438 Document GstURIHandler
18440 2005-11-09 Wim Taymans <wim@fluendo.com>
18442 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
18443 (gst_iterator_find_custom):
18444 * gst/gstiterator.h:
18447 2005-11-09 Wim Taymans <wim@fluendo.com>
18450 Document another field.
18452 * gst/gststructure.c:
18453 * gst/gststructure.h:
18456 2005-11-09 Wim Taymans <wim@fluendo.com>
18459 Documented structs.
18461 2005-11-09 Wim Taymans <wim@fluendo.com>
18463 * docs/gst/gstreamer-sections.txt:
18464 Added some new macros.
18471 2005-11-09 Wim Taymans <wim@fluendo.com>
18473 * docs/design/part-TODO.txt:
18474 Some more items for the TODO
18480 2005-11-09 Andy Wingo <wingo@pobox.com>
18482 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
18483 to work on something else now tho...
18485 * gst/base/gstadapter.c: More adapter docs.
18487 * gst/elements/gstfilesink.c (gst_file_sink_start)
18488 (gst_file_sink_stop): New functions, replace the state change
18490 (gst_file_sink_class_init): Hook up the start and stop functions.
18491 (gst_file_sink_base_init): Don't set the state change handler any
18492 more. It was a bit ugly too, being set from here...
18493 (gst_file_sink_get_property, gst_file_sink_set_property):
18495 (gst_file_sink_set_location): More robust check that doesn't call
18496 GST_STATE. Ugggggg.
18498 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
18500 * gst/base/gstbasetransform.c: (gst_base_transform_event):
18501 Hold STREAM_LOCK while pushing newsegment or tag events as well.
18503 2005-11-08 Wim Taymans <wim@fluendo.com>
18505 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
18506 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
18507 (gst_base_sink_chain), (gst_base_sink_change_state):
18508 * gst/base/gstbasesink.h:
18509 * gst/base/gstbasesrc.h:
18510 * gst/gstelement.h:
18512 Avoid excessive typechecking in macros.
18514 * gst/gstminiobject.c: (gst_mini_object_get_type),
18515 (gst_mini_object_init), (gst_mini_object_new),
18516 (gst_mini_object_free):
18517 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18518 (gst_object_finalize):
18519 Remove cruft code, optimize alloc_trace.
18521 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
18523 * docs/faq/gst-uninstalled:
18524 fix up PS1 for systems that try to reset it
18526 2005-11-07 Wim Taymans <wim@fluendo.com>
18528 * gst/base/gstbasesrc.c: (gst_base_src_init),
18529 (gst_base_src_get_range):
18530 Set the segment_end to -1 initially. Fixed typefind.
18532 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
18534 * gst/base/gstadapter.c:
18535 Debug category should be 'adapter', not 'GstAdapter'.
18537 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
18538 (gst_collectpads_class_init), (gst_collectpads_init),
18539 (gst_collectpads_peek), (gst_collectpads_pop),
18540 (gst_collectpads_event), (gst_collectpads_chain):
18541 Add debug category and some debugging output. Use boilerplate
18542 macros. Remove some extraneous words from docs.
18544 2005-11-05 Andy Wingo <wingo@pobox.com>
18546 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
18549 2005-11-04 Stefan Kost <ensonic@users.sf.net>
18551 * docs/gst/gstreamer-sections.txt:
18554 * gst/gstminiobject.h:
18559 2005-11-04 Wim Taymans <wim@fluendo.com>
18561 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18562 Small update to stop at the configured segment_end
18565 2005-11-04 Stefan Kost <ensonic@users.sf.net>
18567 * gst/gstregistry.c:
18568 * gst/gstregistry.h:
18571 2005-11-04 Edward Hervey <edward@fluendo.com>
18573 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18574 Check if we are doing a segment seek and have arrived at the
18575 end of that segment.
18577 2005-11-04 Wim Taymans <wim@fluendo.com>
18579 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
18580 Don't leak a mutex unlock in case of an error.
18585 2005-11-04 Wim Taymans <wim@fluendo.com>
18587 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
18589 Get the context to wake up only once.
18591 2005-11-03 Wim Taymans <wim@fluendo.com>
18593 * check/states/sinks.c: (GST_START_TEST):
18594 Uncomment fixed check.
18596 * docs/design/part-TODO.txt:
18599 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18600 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18601 (gst_base_sink_get_position):
18602 If we are going to PLAYING, post the right pending state
18603 when we post the intermediate paused message.
18605 * gst/gstelement.c: (gst_element_continue_state),
18606 (gst_element_set_state_func), (gst_element_change_state):
18607 Don't post state changes that were between the same state
18608 and were not ASYNC.
18610 2005-11-03 Stefan Kost <ensonic@users.sf.net>
18612 * docs/gst/gstreamer-sections.txt:
18615 * gst/gstminiobject.h:
18618 more docs and doc style fixes
18620 2005-11-03 Stefan Kost <ensonic@users.sf.net>
18622 * docs/gst/gstreamer-sections.txt:
18623 * gst/gstelement.c:
18624 * gst/gstminiobject.c:
18627 2005-11-03 Andy Wingo <wingo@pobox.com>
18629 * check/states/sinks.c (test_livesrc_sink): Add checks that the
18630 state-changed messages actually have the right order and the right
18633 2005-11-03 Wim Taymans <wim@fluendo.com>
18635 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18636 Added some more checks. Specifically the case where NO_PREROLL
18637 elements are in the pipeline.
18639 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18640 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18641 (gst_base_sink_get_position):
18642 Post READY->PAUSED state change messages too.
18643 Fix bug where VOID was posted as pending state...
18645 * gst/gstbin.c: (gst_bin_recalc_state):
18646 use _element_continue_state() to continue the state change.
18648 * gst/gstelement.c: (gst_element_continue_state),
18649 (gst_element_commit_state), (gst_element_set_state_func),
18650 (gst_element_change_state), (gst_element_change_state_func):
18651 Lots of state change cleanups, assign the STATE_RETURN in
18652 a new continue_state() function that also propagates the
18653 last return value from a state change to the app.
18654 Update some debug statements with proper category.
18656 2005-11-03 Wim Taymans <wim@fluendo.com>
18658 * docs/design/part-events.txt:
18659 * docs/design/part-gstpipeline.txt:
18660 * docs/design/part-messages.txt:
18661 * docs/design/part-overview.txt:
18662 * docs/design/part-seeking.txt:
18663 * docs/design/part-states.txt:
18664 * docs/design/part-trickmodes.txt:
18665 * docs/manual/advanced-position.xml:
18666 Small docs updates.
18669 People think !! is ugly, this looks better.
18671 * gst/gstpad.c: (gst_pad_set_blocked_async):
18672 Remove !! since it's fixed elsewhere now.
18674 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
18676 * gst/gstminiobject.h:
18678 Add !! to _FLAG_IS_SET macros to make the result boolean.
18680 2005-11-03 Edward Hervey <edward@fluendo.com>
18682 * gst/gstpad.c: (gst_pad_set_blocked_async):
18683 comparing a flag and a gboolean rarely returns coherent results...
18684 Added two characters (!!) to make that work correctly.
18686 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
18688 * gst/gstbus.c: (gst_bus_class_init):
18691 * gst/gstqueue.c: (gst_queue_loop):
18692 Don't assume a miniobject that isn't a buffer is an
18693 event (it could be that there is a refcounting
18694 problem somewhere and the pointer is stale and
18695 refers to an already destroyed miniobject).
18697 2005-11-03 Julien MOUTTE <julien@moutte.net>
18699 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
18701 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
18703 * docs/manual/advanced-position.xml:
18704 Update seek example and explanations to current 0.9 API.
18706 * gst/elements/gsttypefindelement.c:
18707 (gst_type_find_element_activate):
18708 Remove FIXME comment now that the found caps
18711 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
18713 * gst/gstregistryxml.c: (load_feature):
18714 Add another GST_STR_NULL instance
18716 2005-11-02 Edward Hervey <edward@fluendo.com>
18718 * gst/gstpad.c: (handle_pad_block):
18719 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
18721 2005-11-02 Wim Taymans <wim@fluendo.com>
18726 * gst/gstelement.c: (gst_element_commit_state):
18727 Remove unused value.
18729 * gst/gstiterator.c:
18730 Mention that the returned element is reffed in the docs.
18732 2005-11-02 Wim Taymans <wim@fluendo.com>
18734 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
18735 (gst_pad_push), (gst_pad_push_event):
18736 Unlock blocked pads when they are flushed.
18738 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
18741 * docs/gst/gstreamer-sections.txt:
18744 * gst/gstregistry.c: (gst_registry_scan_path_level):
18745 fix for a nasty little missed situation where an installed plug-in
18746 which was in the cache did not get overridden by an uninstalled one
18747 which was earlier in the plugin path because the newly created plugin
18748 for the uninstalled one (not in the registry) didn't get its
18749 ->registered set to TRUE
18751 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
18753 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
18754 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
18755 (gst_collectpads_is_active), (gst_collectpads_collect),
18756 (gst_collectpads_collect_range), (gst_collectpads_start),
18757 (gst_collectpads_stop), (gst_collectpads_peek),
18758 (gst_collectpads_pop), (gst_collectpads_available),
18759 (gst_collectpads_read), (gst_collectpads_flush):
18760 Guard public API with assertions.
18763 Fix docs for gst_pad_set_link_function().
18765 2005-11-02 Johan Dahlin <johan@gnome.org>
18767 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
18768 Unref found_caps after we used it.
18770 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
18772 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
18773 Don't try to ref NULL.
18775 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
18777 * win32/common/config.h.in:
18778 provide a GST_FUNCTION that just gives a string for now
18780 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
18782 * win32/common/gstenumtypes.c: (register_gst_object_flags),
18783 (gst_object_flags_get_type), (register_gst_bin_flags),
18784 (gst_bin_flags_get_type), (register_gst_buffer_flag),
18785 (gst_buffer_flag_get_type), (register_gst_bus_flags),
18786 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18787 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
18788 (gst_clock_return_get_type), (register_gst_clock_entry_type),
18789 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18790 (gst_clock_flags_get_type), (register_gst_state),
18791 (gst_state_get_type), (register_gst_state_change_return),
18792 (gst_state_change_return_get_type), (register_gst_state_change),
18793 (gst_state_change_get_type), (register_gst_element_flags),
18794 (gst_element_flags_get_type), (register_gst_core_error),
18795 (gst_core_error_get_type), (register_gst_library_error),
18796 (gst_library_error_get_type), (register_gst_resource_error),
18797 (gst_resource_error_get_type), (register_gst_stream_error),
18798 (gst_stream_error_get_type), (register_gst_event_type),
18799 (gst_event_type_get_type), (register_gst_seek_type),
18800 (gst_seek_type_get_type), (register_gst_seek_flags),
18801 (gst_seek_flags_get_type), (register_gst_format),
18802 (gst_format_get_type), (register_gst_index_certainty),
18803 (gst_index_certainty_get_type), (register_gst_index_entry_type),
18804 (gst_index_entry_type_get_type),
18805 (register_gst_index_lookup_method),
18806 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18807 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18808 (gst_index_resolver_method_get_type), (register_gst_index_flags),
18809 (gst_index_flags_get_type), (register_gst_debug_level),
18810 (gst_debug_level_get_type), (register_gst_debug_color_flags),
18811 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18812 (gst_iterator_result_get_type), (register_gst_iterator_item),
18813 (gst_iterator_item_get_type), (register_gst_message_type),
18814 (gst_message_type_get_type), (register_gst_mini_object_flags),
18815 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18816 (gst_pad_link_return_get_type), (register_gst_flow_return),
18817 (gst_flow_return_get_type), (register_gst_activate_mode),
18818 (gst_activate_mode_get_type), (register_gst_pad_direction),
18819 (gst_pad_direction_get_type), (register_gst_pad_flags),
18820 (gst_pad_flags_get_type), (register_gst_pad_presence),
18821 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18822 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18823 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18824 (gst_plugin_error_get_type), (register_gst_plugin_flags),
18825 (gst_plugin_flags_get_type), (register_gst_rank),
18826 (gst_rank_get_type), (register_gst_query_type),
18827 (gst_query_type_get_type), (register_gst_tag_merge_mode),
18828 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18829 (gst_tag_flag_get_type), (register_gst_task_state),
18830 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18831 (gst_alloc_trace_flags_get_type),
18832 (register_gst_type_find_probability),
18833 (gst_type_find_probability_get_type), (register_gst_uri_type),
18834 (gst_uri_type_get_type), (register_gst_parse_error),
18835 (gst_parse_error_get_type):
18836 * win32/common/gstversion.h:
18837 update win32 copies
18839 2005-11-01 Luca Ognibene <luogni@tin.it>
18842 fix docs. popt is dead, long live GOption.
18844 2005-10-31 Wim Taymans <wim@fluendo.com>
18849 2005-10-31 Andy Wingo <wingo@pobox.com>
18853 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
18855 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
18856 need to serialize property notifications on GLib 2.8. GLib 2.6 has
18857 the possibility of deadlocks here if code calling notify() or
18858 set() has a lock that can be taken in another notify handler (ABBA
18859 with class lock and e.g. python GIL state lock).
18861 2005-10-28 Julien MOUTTE <julien@moutte.net>
18863 * gst/gstbus.c: Doc updates.
18865 2005-10-28 Wim Taymans <wim@fluendo.com>
18867 * docs/design/part-TODO.txt:
18868 * gst/gstiterator.c:
18869 * gst/gstsystemclock.c:
18870 * gst/gstsystemclock.h:
18873 2005-10-28 Edward Hervey <edward@fluendo.com>
18875 * docs/gst/gstreamer-docs.sgml:
18876 * docs/gst/gstreamer-sections.txt:
18877 the GstURIType documentation page is private, it only defines GstURIType
18878 which should be defined in the GstURIHandler page
18880 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
18882 * gst/gstbin.c: (gst_bin_class_init):
18885 Documentation updates.
18887 2005-10-28 Wim Taymans <wim@fluendo.com>
18889 * docs/gst/gstreamer-sections.txt:
18892 Documented the clocks.
18894 2005-10-28 Stefan Kost <ensonic@users.sf.net>
18896 * docs/gst/gstreamer-sections.txt:
18897 move some macros to private sections
18898 * gst/gstminiobject.c:
18899 * gst/gstminiobject.h:
18900 add descriptions provided by ds and some more
18902 mark macro as to be removed
18904 2005-10-28 Wim Taymans <wim@fluendo.com>
18906 * docs/design/part-TODO.txt:
18907 Add an item to TODO.
18909 * gst/gstiterator.c: (gst_iterator_fold),
18910 (gst_iterator_find_custom):
18911 * gst/gstiterator.h:
18914 2005-10-28 Wim Taymans <wim@fluendo.com>
18916 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18917 (gst_base_transform_init):
18920 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
18921 An EOS event marks the queue as completely filled.
18923 2005-10-27 Wim Taymans <wim@fluendo.com>
18925 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18926 (gst_base_sink_do_sync), (gst_base_sink_get_position):
18927 Some more debugging.
18929 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
18930 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
18931 (gst_base_transform_event), (gst_base_transform_getrange),
18932 (gst_base_transform_chain):
18933 * gst/base/gstbasetransform.h:
18935 Protect transform and concurrent buffer alloc with a new lock.
18936 Try not to break ABI/API.
18938 2005-10-27 Wim Taymans <wim@fluendo.com>
18940 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18941 (gst_base_src_init), (gst_base_src_query),
18942 (gst_base_src_default_newsegment),
18943 (gst_base_src_configure_segment), (gst_base_src_do_seek),
18944 (gst_base_src_send_event), (gst_base_src_event_handler),
18945 (gst_base_src_pad_get_range), (gst_base_src_loop),
18946 (gst_base_src_unlock), (gst_base_src_default_negotiate),
18947 (gst_base_src_start), (gst_base_src_deactivate),
18948 (gst_base_src_activate_push), (gst_base_src_change_state):
18949 Move some stuff around and cleanup things.
18951 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
18953 * gst/base/gstbasesrc.c: (gst_base_src_query):
18954 Add missing break statements.
18956 2005-10-27 Wim Taymans <wim@fluendo.com>
18958 * check/gst/gstbin.c: (GST_START_TEST):
18959 An extra refcount is taken in basesrc.
18961 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18962 (gst_base_src_get_range), (gst_base_src_pad_get_range),
18963 (gst_base_src_loop):
18964 Small cleanups, check for flushing after being unlocked from the
18965 LIVE_LOCK. take refcounts correctly (not yet everywhere).
18966 Don't send out EOS when going to READY.
18968 2005-10-27 Wim Taymans <wim@fluendo.com>
18970 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18971 (gst_base_sink_get_position):
18974 * gst/gstbin.c: (message_check), (bin_replace_message),
18975 (bin_remove_messages), (is_eos), (gst_bin_add_func),
18976 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18977 (bin_query_duration_init), (bin_query_duration_fold),
18978 (bin_query_duration_done), (bin_query_generic_fold),
18980 * tools/gst-launch.c: (main):
18983 2005-10-26 Stefan Kost <ensonic@users.sf.net>
18985 * examples/controller/audio-example.c: (main):
18986 * examples/queue/queue.c: (event_loop):
18987 * gst/base/gstbasetransform.h:
18988 * gst/gstelement.c: (gst_element_send_event):
18990 * gst/gstpad.c: (gst_pad_send_event):
18993 changing log priority in error situations
18995 2005-10-25 Wim Taymans <wim@fluendo.com>
18997 * gst/gstbin.c: (message_check), (bin_replace_message),
18998 (bin_remove_messages), (is_eos), (gst_bin_add_func),
18999 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19000 (bin_query_duration_init), (bin_query_duration_fold),
19001 (bin_query_duration_done), (bin_query_generic_fold),
19003 Some doc and debug updates.
19004 Cache previously requested query DURATION for speed. invalidate
19005 cached duration if element posts a DURATION message.
19007 2005-10-25 Wim Taymans <wim@fluendo.com>
19009 * docs/design/part-TODO.txt:
19012 * gst/gstbin.c: (message_check), (bin_replace_message),
19013 (bin_remove_messages), (is_eos), (gst_bin_add_func),
19014 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19015 (bin_query_duration_init), (bin_query_duration_fold),
19016 (bin_query_duration_done), (bin_query_generic_fold),
19018 Handle SEGMENT_START/DONE messages correctly.
19019 More evolved query algorithm that handles duration queries
19022 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
19023 (gst_element_get_state_func), (gst_element_abort_state),
19024 (gst_element_commit_state), (gst_element_lost_state):
19025 Some more debugging.
19027 * gst/gstmessage.h:
19030 2005-10-25 Wim Taymans <wim@fluendo.com>
19032 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19033 Don't use invalid stream_time.
19035 * gst/gstevent.c: (gst_event_new_newsegment):
19036 stream_time in newsegment cannot be undefined.
19038 2005-10-24 Wim Taymans <wim@fluendo.com>
19043 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19045 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
19047 2005-10-24 Stefan Kost <ensonic@users.sf.net>
19049 * docs/libs/tmpl/gstdparam.sgml:
19050 * docs/libs/tmpl/gstdplinint.sgml:
19051 * docs/libs/tmpl/gstdpman.sgml:
19052 * docs/libs/tmpl/gstdpsmooth.sgml:
19053 * docs/libs/tmpl/gstunitconvert.sgml:
19056 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
19061 === release 0.9.4 ===
19063 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
19066 releasing 0.9.4, "Tyrannosaurus Rex"
19068 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
19070 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19071 (gst_file_sink_get_current_offset):
19072 Use fseeko() and ftello() if available. When falling back on
19073 lseek() to get the current offset, fflush() first to make sure
19074 everything is up-to-date and we get the right offset.
19076 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
19078 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19079 * gst/base/gstbasesrc.c: (gst_base_src_loop):
19080 * gst/gsterror.c: (_gst_stream_errors_init):
19082 * gst/gstqueue.c: (gst_queue_loop):
19084 remove prematurely added error category and clean up the instances
19086 2005-10-21 Wim Taymans <wim@fluendo.com>
19088 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19089 (gst_base_sink_get_position), (gst_base_sink_query),
19090 (gst_base_sink_change_state):
19091 Simply set the right flag when going to playing, that's all
19092 we need to do instead of calling a function inside the object
19093 lock (that could take the lock as well and deadlock)
19095 2005-10-21 Wim Taymans <wim@fluendo.com>
19097 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
19098 (gst_base_src_loop):
19099 Don't warn, the peer element knows what to do best when
19100 the seek failed, it might try something else.
19102 2005-10-21 Wim Taymans <wim@fluendo.com>
19104 * gst/base/gstbasesrc.c: (gst_base_src_init),
19105 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19108 2005-10-21 Wim Taymans <wim@fluendo.com>
19110 * docs/design/part-segments.txt:
19113 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
19114 Correctly set caps, even on the subbufer.
19116 2005-10-21 Wim Taymans <wim@fluendo.com>
19118 * docs/gst/gstreamer-docs.sgml:
19119 * docs/gst/gstreamer-sections.txt:
19120 * gst/gstelement.h:
19123 * gst/gstmessage.h:
19126 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
19130 And 2% more doc coverage.
19132 2005-10-21 Andy Wingo <wingo@pobox.com>
19134 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
19135 position reporting.
19137 2005-10-20 Wim Taymans <wim@fluendo.com>
19139 * gst/gsterror.c: (gst_error_get_message):
19142 * gst/gststructure.c:
19147 2005-10-20 Wim Taymans <wim@fluendo.com>
19152 Another 1% more coverage.
19154 2005-10-20 Wim Taymans <wim@fluendo.com>
19156 * docs/gst/gstreamer-sections.txt:
19157 * gst/gstelement.c: (gst_element_get_state_func),
19158 (gst_element_abort_state), (gst_element_commit_state),
19159 (gst_element_lost_state):
19161 * gst/gstquery.c: (gst_query_set_position),
19162 (gst_query_parse_position), (gst_query_set_duration),
19163 (gst_query_parse_duration), (gst_query_new_convert):
19165 Yay! 1% more docs coverage.
19167 2005-10-20 Wim Taymans <wim@fluendo.com>
19170 * gst/gstquery.c: (gst_query_set_position),
19171 (gst_query_parse_position), (gst_query_set_duration),
19172 (gst_query_parse_duration), (gst_query_new_convert):
19174 * gst/gstutils.c: (gst_element_query_convert):
19176 Docs and consistency fixes.
19178 2005-10-20 Wim Taymans <wim@fluendo.com>
19184 2005-10-20 Wim Taymans <wim@fluendo.com>
19186 * gst/gstbin.c: (message_check), (bin_replace_message),
19187 (bin_remove_messages), (is_eos), (gst_bin_add_func),
19188 (update_degree), (gst_bin_sort_iterator_next),
19189 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
19190 Reworked the message handling a bit, cache the messages instead of
19191 only the senders. alows us to do more in the future.
19193 2005-10-20 Wim Taymans <wim@fluendo.com>
19195 * docs/design/part-TODO.txt:
19198 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
19199 (gst_base_sink_query):
19200 Don't use clock time to report position when in EOS.
19202 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
19204 * tools/gst-inspect.c: (print_interfaces),
19205 (print_element_properties_info), (print_element_info):
19206 Fix interface output with gst-inspect -a; don't print
19207 newlines after double/float properties.
19209 2005-10-20 Wim Taymans <wim@fluendo.com>
19211 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
19212 (gst_base_sink_query):
19213 Speed up current position calculation.
19215 * gst/base/gstbasesrc.c: (gst_base_src_query),
19216 (gst_base_src_default_newsegment):
19217 Correctly set stream position in newsegment.
19219 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
19220 (update_degree), (gst_bin_sort_iterator_next),
19221 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
19222 * gst/gstmessage.c: (gst_message_new_custom):
19223 Clean up debugging info
19225 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
19226 (gst_queue_loop), (gst_queue_handle_src_query):
19229 2005-10-19 Wim Taymans <wim@fluendo.com>
19231 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19232 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
19233 Fix query handling again.
19235 2005-10-19 Wim Taymans <wim@fluendo.com>
19237 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19238 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
19239 * gst/base/gstbasesrc.c: (gst_base_src_query):
19240 * gst/elements/gstfilesink.c: (gst_file_sink_query):
19241 * gst/elements/gsttypefindelement.c:
19242 (gst_type_find_handle_src_query), (find_element_get_length),
19243 (gst_type_find_element_activate):
19246 * gst/gstquery.c: (gst_query_new_position),
19247 (gst_query_set_position), (gst_query_parse_position),
19248 (gst_query_new_duration), (gst_query_set_duration),
19249 (gst_query_parse_duration), (gst_query_set_segment),
19250 (gst_query_parse_segment):
19252 Bundling query position/duration is not a good idea since duration
19253 does not change much and we don't want to recalculate it for every
19254 position query, so they are separated again..
19255 Base value in segment query is not needed.
19257 * gst/gstqueue.c: (gst_queue_handle_src_query):
19258 * gst/gstutils.c: (gst_element_query_position),
19259 (gst_element_query_duration), (gst_pad_query_position),
19260 (gst_pad_query_duration):
19262 Updates for query API change.
19263 Added some docs here and there.
19265 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
19267 * check/gst/gstbin.c: (GST_START_TEST):
19268 * check/gst/gstghostpad.c: (GST_START_TEST):
19269 * check/pipelines/cleanup.c: (GST_START_TEST):
19270 wait on thread to die so we can check refcount correctly
19272 2005-10-18 Wim Taymans <wim@fluendo.com>
19274 * check/pipelines/stress.c: (GST_START_TEST):
19275 Make check a little more time consuming.
19277 2005-10-18 Wim Taymans <wim@fluendo.com>
19279 * check/Makefile.am:
19280 * check/pipelines/stress.c: (GST_START_TEST),
19281 (simple_launch_lines_suite), (main):
19282 Small state change torture test.
19284 * docs/design/part-states.txt:
19285 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19286 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
19287 (gst_base_sink_change_state):
19288 Never take state lock from streaming thread, clean up ugly
19289 hacks. Unfortunatly core does not yet support nice ways to
19290 async commit state.
19292 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
19294 Start state recalc if a STATE_DIRTY message is posted, but only
19295 on the toplevel bin.
19297 * gst/gstelement.c: (gst_element_sync_state_with_parent),
19298 (gst_element_get_state_func), (gst_element_abort_state),
19299 (gst_element_commit_state), (gst_element_lost_state),
19300 (gst_element_set_state_func), (gst_element_change_state):
19301 * gst/gstelement.h:
19302 State variables are now protected with the LOCK, the state
19303 lock is only used to serialize _set_state().
19305 2005-10-18 Wim Taymans <wim@fluendo.com>
19307 * check/gst/gstbin.c: (GST_START_TEST):
19308 * check/gst/gstmessage.c: (GST_START_TEST):
19309 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19310 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
19312 * gst/gstelement.c: (gst_element_abort_state),
19313 (gst_element_commit_state), (gst_element_lost_state):
19314 * gst/gstmessage.c: (gst_message_new_state_changed),
19315 (gst_message_new_state_dirty), (gst_message_new_segment_start),
19316 (gst_message_new_segment_done), (gst_message_new_duration),
19317 (gst_message_parse_state_changed),
19318 (gst_message_parse_segment_start),
19319 (gst_message_parse_segment_done), (gst_message_parse_duration):
19320 * gst/gstmessage.h:
19321 * tools/gst-launch.c: (event_loop):
19322 Seriously, this is better than a previous commit as we only need
19323 to notify the fact that an element changed state in a streaming
19324 thread, marking the state of the parents dirty, hence the
19325 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
19328 2005-10-18 Wim Taymans <wim@fluendo.com>
19330 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
19331 (gst_bin_recalc_func):
19332 * gst/gstelement.c: (gst_element_set_clock),
19333 (gst_element_abort_state), (gst_element_lost_state):
19334 Cleanups, prepare for state change fixes.
19336 2005-10-18 Wim Taymans <wim@fluendo.com>
19339 * gst/gstelement.c: (gst_element_class_init),
19340 (gst_element_set_state), (gst_element_set_state_func):
19341 * gst/gstelement.h:
19342 Pending ABI changes.
19343 GThreadPool in GstBinClass to monitor async state changes.
19344 state_cookie in GstElement to detect concurrent gst/set state.
19345 set_state is now virtual too in case a very complicated element
19346 has to be constructed.
19348 2005-10-18 Wim Taymans <wim@fluendo.com>
19350 * check/gst/gstbin.c: (GST_START_TEST):
19351 * check/gst/gstmessage.c: (GST_START_TEST):
19352 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19353 * gst/gstbin.c: (bin_bus_handler):
19354 * gst/gstelement.c: (gst_element_commit_state),
19355 (gst_element_lost_state):
19356 * gst/gstmessage.c: (gst_message_new_state_changed),
19357 (gst_message_new_segment_start), (gst_message_new_segment_done),
19358 (gst_message_new_duration), (gst_message_parse_state_changed),
19359 (gst_message_parse_segment_start),
19360 (gst_message_parse_segment_done), (gst_message_parse_duration):
19361 * gst/gstmessage.h:
19362 * tools/gst-launch.c: (event_loop):
19363 Make messages future proof.
19364 state-change gets a flag if it was a message comming from the
19366 segment-start/stop can also be specified in other formats.
19367 A message to notify an app that a pipeline changed playback
19369 Also fix a GstMessage leak in -launch
19371 2005-10-18 Andy Wingo <wingo@pobox.com>
19373 * gst/gstelement.c (gst_element_dispose): More helpful message.
19375 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
19377 reviewed by: <delete if not using a buddy>
19379 * common/gtk-doc.mak:
19381 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
19383 * gst/gstregistry.c: (gst_registry_scan_path_level):
19384 unref a plug-in we get that was already initialized
19386 2005-10-18 Stefan Kost <ensonic@users.sf.net>
19388 * docs/gst/gstreamer-sections.txt:
19389 * docs/libs/gstreamer-libs-sections.txt:
19390 * gst/gstelement.h:
19391 add new api entries
19392 hide internal macro
19394 2005-10-17 Andy Wingo <wingo@pobox.com>
19396 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
19399 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
19401 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
19403 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
19404 (gst_element_get_state_func): Better debug message.
19405 (gst_element_commit_state): s/INFO/DEBUG/.
19406 (gst_element_lost_state, gst_element_change_state):
19408 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
19409 (gst_message_new_custom): s/INFO/LOG/.
19411 2005-10-17 Michael Smith <msmith@fluendo.com>
19413 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19414 Check if end time is valid using end time, not start time.
19416 2005-10-17 Stefan Kost <ensonic@users.sf.net>
19418 * check/gst-libs/controller.c: (GST_START_TEST),
19419 (gst_controller_suite):
19420 * libs/gst/controller/gstcontroller.c:
19421 (gst_controlled_property_set_interpolation_mode):
19422 * libs/gst/controller/gstcontroller.h:
19423 * libs/gst/controller/gstinterpolation.c:
19424 * testsuite/controller/.cvsignore:
19425 * testsuite/controller/Makefile.am:
19426 * testsuite/controller/interpolator.c:
19427 merge controller testsuites
19429 remove mem-chunk from docs
19431 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
19433 * gst/gstmemchunk.c:
19434 * gst/gstmemchunk.h:
19435 * gst/gsttrashstack.c:
19436 * gst/gsttrashstack.h:
19437 out. get out. you're fired. to the Attic !
19439 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
19441 * gst/gstcaps.c: (gst_caps_intersect):
19442 fix signedness issues in a (hopefully) correct way
19443 * gst/gstelement.c: (gst_element_pads_activate):
19445 * gst/gstobject.c: (gst_object_set_parent):
19448 2005-10-17 Julien MOUTTE <julien@moutte.net>
19450 * gst/gstvalue.h: Fix prototypes.
19452 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19454 * docs/gst/gstreamer-sections.txt:
19455 * gst/gst.c: (gst_version_string):
19457 * gst/gstversion.h.in:
19458 * win32/common/libgstreamer.def:
19459 add gst_version_string ()
19461 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19465 * gst/gst.c: (init_post):
19466 * win32/common/config.h.in:
19468 * gst/gstcaps.c: (gst_caps_intersect):
19469 use gint64, the range could be bigger than a guint
19471 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19474 document potential problem in 2038
19476 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19478 * gst/gstcaps.c: (gst_caps_intersect):
19479 Fix guint j diving under 0
19481 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19484 * win32/common/config.h:
19485 * win32/common/config.h.in:
19486 check for process.h, declares getpid() on Windows
19488 include process.h if we have it
19489 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
19490 * gst/gstmemchunk.h:
19491 fix signedness issues
19492 * win32/common/libgstreamer.def:
19495 2005-10-16 Julien MOUTTE <julien@moutte.net>
19497 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
19498 fix. Because of unsigned ints, caps intersection was going nuts and
19499 trying to access structures with G_MAXUINT index. That fixes
19500 videotestsrc ! ffmpegcolorspace ! fakesink
19501 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
19504 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19507 use the gettext macro
19508 * gst/elements/gstelements.c:
19510 * gst/indexers/gstindexers.c:
19511 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
19512 * win32/common/config.h:
19514 * win32/common/config.h.in:
19515 add the template to generate config.h
19516 * win32/common/gstenumtypes.c:
19517 * win32/common/gstversion.h:
19520 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19522 * gst/gst.c: (gst_version):
19523 * gst/gstversion.h.in:
19526 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
19529 Oops, add missing closing bracket.
19531 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19534 use common m4's for argument checking
19536 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
19538 * docs/gst/gstreamer-sections.txt:
19540 Add GST_EVENT_TYPE_NAME() macro.
19542 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19545 * gst/gstpluginfeature.c:
19547 privatize more symbols
19549 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19552 add srcdir, builddir includes to GST_ALL_CFLAGS, since
19553 everything that uses GStreamer API should have the includes
19555 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19557 * docs/gst/gstreamer-sections.txt:
19558 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
19560 give each value a _get_type, removes the DATA exports
19562 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19566 remove _gst_registry_auto_load, not used anymore
19567 * gst/gstbin.c: (gst_bin_get_type):
19569 * gst/gstelement.c: (gst_element_get_type):
19570 * gst/gstelement.h:
19571 * gst/gstobject.c: (gst_object_get_type):
19573 * gst/gstpad.c: (gst_pad_get_type):
19575 make _get_type functions similar, fixes data export from library
19577 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19580 correctly make conditionals
19581 * gst/elements/Makefile.am:
19582 * gst/elements/gstelements.c:
19583 fix typo causing fdsrc not to build
19585 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19587 * testsuite/Makefile.am:
19588 * testsuite/bytestream/.cvsignore:
19589 * testsuite/bytestream/Makefile.am:
19590 * testsuite/bytestream/filepadsink.c:
19591 * testsuite/bytestream/gstbstest.c:
19592 * testsuite/bytestream/test1.c:
19593 * testsuite/bytestream/testfile1:
19594 * testsuite/caps/normalisation.c:
19595 * testsuite/caps/random.c: (main):
19596 * testsuite/cleanup/.cvsignore:
19597 * testsuite/cleanup/Makefile.am:
19598 * testsuite/cleanup/cleanup1.c:
19599 * testsuite/cleanup/cleanup2.c:
19600 * testsuite/cleanup/cleanup3.c:
19601 * testsuite/cleanup/cleanup4.c:
19602 * testsuite/cleanup/cleanup5.c:
19603 * testsuite/controller/interpolator.c:
19604 * testsuite/debug/printf_extension.c: (main):
19605 * testsuite/elements/tee.c:
19606 * testsuite/negotiation/.cvsignore:
19607 * testsuite/negotiation/Makefile.am:
19608 * testsuite/negotiation/pad_link.c:
19609 * testsuite/pad/Makefile.am:
19610 * testsuite/pad/chainnopull.c:
19611 * testsuite/pad/getnopush.c:
19612 * testsuite/pad/link.c:
19613 * testsuite/refcounting/sched.c: (create_pipeline):
19614 * testsuite/registry/Makefile.am:
19615 * testsuite/registry/gst-print-formats.c:
19616 * testsuite/schedulers/.cvsignore:
19617 * testsuite/schedulers/142183-2.c:
19618 * testsuite/schedulers/142183.c:
19619 * testsuite/schedulers/143777-2.c:
19620 * testsuite/schedulers/143777.c:
19621 * testsuite/schedulers/147713.c:
19622 * testsuite/schedulers/147819.c:
19623 * testsuite/schedulers/147894-2.c:
19624 * testsuite/schedulers/147894.c:
19625 * testsuite/schedulers/Makefile.am:
19626 * testsuite/schedulers/group_link.c:
19627 * testsuite/schedulers/queue_link.c:
19628 * testsuite/schedulers/relink.c:
19629 * testsuite/schedulers/unlink.c:
19630 * testsuite/schedulers/unref.c:
19631 * testsuite/schedulers/useless_iteration.c:
19632 * testsuite/states/bin.c:
19633 clean out/remove some stuff from the testsuite directories
19635 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19638 check for some headers
19639 * gst/elements/Makefile.am:
19640 * gst/elements/gstelements.c:
19641 don't compile fdsrc without sys/socket.h
19642 * gst/indexers/Makefile.am:
19643 * gst/indexers/gstindexers.c: (plugin_init):
19644 don't compile fileindex without mmap
19646 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19653 * check/Makefile.am:
19654 * docs/gst/Makefile.am:
19655 * examples/helloworld/Makefile.am:
19657 * gst/base/Makefile.am:
19658 * gst/check/Makefile.am:
19659 * gst/elements/Makefile.am:
19660 * gst/indexers/Makefile.am:
19661 * gst/parse/Makefile.am:
19662 * libs/gst/controller/Makefile.am:
19663 * libs/gst/dataprotocol/Makefile.am:
19664 * examples/helloworld/helloworld.c: (event_loop):
19665 compile fixes, though it's not being compiled currently
19667 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
19669 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
19670 Add some simple tests for the new taglist date API.
19672 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
19674 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
19675 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
19676 Beautify 'last-message' output: print 'none' for buffer timestamps
19677 and durations if none is set; improve alignment with next messages.
19679 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
19681 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
19682 * gst/gstpluginfeature.h:
19683 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
19684 * gst/gstregistry.h:
19685 * docs/gst/gstreamer-sections.txt:
19686 Add new API to check plugin feature version requirements.
19688 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
19689 Some basic tests for the above.
19691 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19693 * gst/gststructure.c: (gst_structure_to_string):
19694 guard against NULL printf - happens when for example
19695 a message structure with GstClock gets serialized
19697 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
19699 * gst/base/gstcollectpads.c: (gst_collectpads_event):
19700 Fix presumable copy'n'pasto.
19702 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19704 * gst/elements/gstfakesrc.h:
19705 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
19706 * gst/elements/gsttypefindelement.c:
19707 fix some signedness
19708 * gst/elements/gstfilesink.c: (gst_file_sink_render):
19709 I wonder if this could actually write +2GB files before
19711 2005-10-13 Andy Wingo <wingo@pobox.com>
19713 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
19714 Fix Timmeke Waymans bug.
19715 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
19716 string of the proper length to gst_caps_from_string. There's a
19717 potential for, before this fix, that this could cause someone
19718 connecting over the network to cause a segfault if the payload is
19719 not NUL-terminated.
19721 2005-10-13 Stefan Kost <ensonic@users.sf.net>
19723 * docs/design/draft-push-pull.txt:
19724 * docs/design/part-overview.txt:
19725 * docs/random/TODO-pre-0.9:
19726 * docs/random/old/ChangeLog.gstreamer:
19727 * gst/base/gstpushsrc.c:
19731 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19733 * gst/glib-compat.c: (gst_flags_get_first_value):
19734 * gst/glib-compat.h:
19735 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
19736 (gst_value_compare_double), (gst_value_serialize_flags):
19737 GLib 2.6 g_flags_get_first_value has a bug that triggers an
19740 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19742 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19743 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19745 * tools/gst-launch.c: (event_loop):
19746 print out clock nicely
19748 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
19750 * docs/gst/gstreamer-sections.txt:
19751 * gst/gsttaglist.h:
19752 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
19753 (gst_tag_list_get_date_index):
19754 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
19755 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
19757 2005-10-13 Julien MOUTTE <julien@moutte.net>
19759 * gst/base/gstcollectpads.c: (gst_collectpads_event),
19760 (gst_collectpads_chain):
19761 * gst/base/gstcollectpads.h: Handle newsegment and store informations
19764 2005-10-13 Stefan Kost <ensonic@users.sf.net>
19766 * docs/gst/gstreamer-sections.txt:
19769 * tools/gst-inspect.c: (main):
19770 * tools/gst-launch.c: (main):
19771 * tools/gst-run.c: (main):
19772 * tools/gst-xmlinspect.c: (main):
19773 fix GOption context leaks
19776 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19780 * win32/common/config.h:
19782 * win32/vs6/grammar.dsp:
19783 * win32/vs6/libgstelements.dsp:
19784 * win32/vs6/libgstreamer.dsp:
19787 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
19789 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19790 * gst/base/gstbasesrc.c: (gst_base_src_query):
19791 fix more guint64<->gdouble conversions
19793 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
19796 add win32-update target
19797 * win32/common/gstconfig.h:
19798 * win32/common/gstenumtypes.c:
19799 * win32/common/gstenumtypes.h:
19800 * win32/common/gstversion.h:
19801 add files that visual studio can't generate
19803 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
19806 add a win32-update target
19809 2005-10-12 Wim Taymans <wim@fluendo.com>
19811 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19812 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
19813 * gst/gstelement.c: (gst_element_commit_state),
19814 (gst_element_set_state):
19815 Protect flags with proper lock.
19816 unref provided cached clock in dispose.
19818 2005-10-12 Stefan Kost <ensonic@users.sf.net>
19821 * gst/gstminiobject.h:
19823 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
19824 removed unused flags from miniobject
19827 2005-10-12 Wim Taymans <wim@fluendo.com>
19829 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19830 (gst_file_sink_event), (gst_file_sink_render):
19831 Flush before seeking.
19833 2005-10-12 Andy Wingo <wingo@pobox.com>
19835 * gst/gst.c (gst_init_check): Ignore unknown options, as has
19836 always been the case.
19838 2005-10-12 Stefan Kost <ensonic@users.sf.net>
19840 * check/gst/gstbin.c: (GST_START_TEST):
19841 * docs/gst/gstreamer-sections.txt:
19842 * gst/base/gstbasesink.c: (gst_base_sink_init):
19843 * gst/base/gstbasesrc.c: (gst_base_src_init),
19844 (gst_base_src_get_range), (gst_base_src_check_get_range),
19845 (gst_base_src_start), (gst_base_src_stop):
19846 * gst/base/gstbasesrc.h:
19847 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
19848 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19849 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
19853 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
19855 * gst/gstelement.c: (gst_element_is_locked_state),
19856 (gst_element_set_locked_state), (gst_element_commit_state),
19857 (gst_element_set_state):
19858 * gst/gstelement.h:
19859 * gst/gstindex.c: (gst_index_init):
19861 * gst/gstminiobject.h:
19862 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
19863 (gst_object_set_parent):
19865 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
19866 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
19868 * gst/gstpadtemplate.h:
19869 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
19870 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
19871 * gst/gstpipeline.h:
19872 * gst/indexers/gstfileindex.c: (gst_file_index_load),
19873 (gst_file_index_commit):
19874 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
19875 * testsuite/pad/link.c: (gst_test_src_init),
19876 (gst_test_filter_init), (gst_test_sink_init):
19877 * testsuite/states/locked.c: (main):
19878 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
19879 moved bitshift from macro to enum definition
19881 2005-10-12 Wim Taymans <wim@fluendo.com>
19883 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
19884 * gst/elements/gstfilesink.c: (gst_file_sink_event),
19885 (gst_file_sink_render):
19886 Some more debugging info.
19888 2005-10-12 Wim Taymans <wim@fluendo.com>
19890 * docs/design/part-states.txt:
19891 * tools/gst-launch.c: (main):
19893 Revert non-intentional change.
19895 2005-10-12 Wim Taymans <wim@fluendo.com>
19897 * check/gst/gstbin.c: (GST_START_TEST):
19898 * check/gst/gstelement.c: (GST_START_TEST):
19899 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
19900 * check/gst/gstghostpad.c: (GST_START_TEST):
19901 * check/gst/gstpipeline.c: (GST_START_TEST):
19902 * check/pipelines/simple_launch_lines.c: (run_pipeline):
19903 * check/states/sinks.c: (GST_START_TEST):
19904 * gst/elements/gsttypefindelement.c: (stop_typefinding):
19905 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19906 (gst_bin_remove_func), (gst_bin_get_state_func),
19907 (gst_bin_recalc_state), (gst_bin_change_state_func),
19909 * gst/gstelement.c: (gst_element_get_state_func),
19910 (gst_element_get_state), (gst_element_abort_state),
19911 (gst_element_commit_state), (gst_element_set_state),
19912 (gst_element_change_state), (gst_element_change_state_func):
19913 * gst/gstelement.h:
19914 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
19915 (gst_pipeline_provide_clock_func):
19916 * gst/gstutils.c: (gst_element_link_pads_filtered):
19917 * tools/gst-launch.c: (main):
19918 * tools/gst-typefind.c: (main):
19919 Use GstClockTime in _get_state() instead of GTimeVal.
19920 Remove old code in gstutils.c
19922 2005-10-12 Andy Wingo <wingo@pobox.com>
19924 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
19927 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
19928 there is no task. Shouldn't affect any code, as nothing in our
19929 plugins checks this return value.
19930 (gst_pad_stop_task): Also take the stream lock if the pad has no
19931 task. Docs updated.
19933 2005-10-12 Wim Taymans <wim@fluendo.com>
19935 * gst/gstpad.c: (pre_activate), (post_activate),
19936 (gst_pad_activate_pull), (gst_pad_activate_push):
19937 Cleanup activation code. Reset old state if
19940 2005-10-12 Wim Taymans <wim@fluendo.com>
19942 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19943 (gst_base_sink_change_state):
19944 No need to prerol after receiving EOS.
19946 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19947 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
19948 * gst/elements/gstidentity.c: (gst_identity_event):
19949 Print events more verbosely.
19951 2005-10-12 Wim Taymans <wim@fluendo.com>
19953 * check/Makefile.am:
19954 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19955 * check/states/sinks2.c:
19956 Moved sinks2 testcode in sinks check.
19958 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19959 (gst_bin_remove_func), (gst_bin_recalc_state),
19960 (gst_bin_change_state_func), (bin_bus_handler):
19961 Fix potential race condition when _get_state() iterated over an
19962 ASYNC element right before it posted a state completion.
19965 Do proper cast here.
19967 * gst/gstevent.c: (gst_event_new_newsegment),
19968 (gst_event_parse_newsegment):
19969 A playback rate of 0.0 is not allowed.
19971 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19973 * win32/common/config.h:
19974 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
19975 (_trewinddir), (_ttelldir), (_tseekdir):
19976 * win32/common/dirent.h:
19977 * win32/common/gtchar.h:
19978 * win32/common/libgstbase.def:
19979 * win32/common/libgstreamer.def:
19980 * win32/vs6/grammar.dsp:
19981 * win32/vs6/gst_inspect.dsp:
19982 * win32/vs6/gst_launch.dsp:
19983 * win32/vs6/gstreamer.dsw:
19984 * win32/vs6/libgstbase.dsp:
19985 * win32/vs6/libgstelements.dsp:
19986 * win32/vs6/libgstreamer.dsp:
19987 Visual Studio 6 project files, and a new common directory.
19990 2005-10-11 Wim Taymans <wim@fluendo.com>
19992 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19993 (gst_base_sink_do_sync), (gst_base_sink_query),
19994 (gst_base_sink_change_state):
19995 * gst/base/gstbasesink.h:
19996 Correctly parse newsegment info.
19998 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20000 * gst/gst.c: (init_post):
20001 split plugin paths correctly
20003 2005-10-11 Wim Taymans <wim@fluendo.com>
20005 * check/gst/gstevent.c: (GST_START_TEST):
20006 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20007 (gst_base_sink_change_state):
20008 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
20009 * gst/base/gstbasetransform.c: (gst_base_transform_event):
20010 * gst/elements/gstfilesink.c: (gst_file_sink_event):
20011 * gst/gstevent.c: (gst_event_new_newsegment),
20012 (gst_event_parse_newsegment):
20014 Added extra flag to newsegment for future API freeze.
20015 Updated check and base elements.
20017 2005-10-11 Julien MOUTTE <julien@moutte.net>
20019 * gst/base/gstcollectpads.c: (gst_collectpads_init),
20020 (gst_collectpads_add_pad), (gst_collectpads_pop),
20021 (gst_collectpads_event), (gst_collectpads_chain):
20022 * gst/base/gstcollectpads.h: Handle EOS correctly.
20024 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20026 * tools/gst-launch.c: (main):
20027 more null protecting
20029 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20031 * gst/gst-i18n-lib.h:
20032 check for ENABLE_NLS, not GETTEXT_PACKAGE
20033 * gst/gstregistry.c: (gst_registry_add_plugin),
20034 (gst_registry_scan_path_level),
20035 (_gst_registry_remove_cache_plugins):
20036 protect possibly NULL strings
20037 * gst/parse/types.h:
20038 config.h already included before
20039 * tools/gst-inspect.c: (main):
20040 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
20041 check for ENABLE_NLS, not GETTEXT_PACKAGE
20042 * tools/gst-launch.c: (main):
20043 check for ENABLE_NLS, not GETTEXT_PACKAGE
20045 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20048 if we don't have glib, fail before testing 2.8
20049 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
20050 fix a leak, should fix plugins-base testsuite
20052 2005-10-11 Andy Wingo <wingo@pobox.com>
20054 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
20055 take the mode we're going to as an arg. Go head and set the mode
20056 and flushing flags now, so that if the activate function starts a
20057 thread all the flags will be in the right state.
20058 (post_activate): Renamed also. Just handle making sure streaming
20059 finishes for the deactivation case, and setting the deactivated
20061 (gst_pad_set_active): Complain loudly if deactivation fails.
20062 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
20063 (gst_pad_activate_push): Adapt to pre/post_activate changes,
20064 remove the terrible hack.
20066 2005-10-11 Wim Taymans <wim@fluendo.com>
20068 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20069 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
20070 (gst_bin_recalc_state), (gst_bin_change_state_func),
20071 (gst_bin_dispose), (bin_bus_handler):
20073 Prepare to make current EOS message queue more generic.
20076 * gst/gstevent.c: (gst_event_new_newsegment),
20077 (gst_event_parse_newsegment):
20079 Rename base to stream_time.
20081 * gst/gstmessage.h:
20084 2005-10-11 Wim Taymans <wim@fluendo.com>
20086 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20087 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
20088 (gst_bin_change_state_func), (bin_bus_handler):
20090 Work on proper clock selection.
20092 2005-10-11 Edward Hervey <edward@fluendo.com>
20094 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
20095 * libs/gst/controller/gstcontroller.h:
20096 Added GList* version of _remove_properties() in order to be able to wrap
20099 2005-10-11 Wim Taymans <wim@fluendo.com>
20101 * docs/design/part-states.txt:
20104 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
20105 (gst_bin_change_state_func), (bin_bus_handler):
20106 Doc updates. Don't distribute the same clock over and over again.
20112 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
20113 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
20114 (gst_pad_send_event):
20116 Make probe emission threadsafe again.
20117 Register quarks and move _get_name() from utils.
20120 * gst/gstpipeline.c: (gst_pipeline_class_init),
20121 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20122 Only redistribute the clock of it changed.
20124 * gst/gstsystemclock.h:
20129 Moved the _flow_get_name() to GstPad.
20131 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20133 * check/gst-libs/gdp.c: (GST_START_TEST):
20134 * check/gst/gstcaps.c: (GST_START_TEST):
20135 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
20136 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
20137 (gst_dp_packet_from_caps):
20138 fix more valgrind warnings before turning up the heat
20140 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20142 * gst/parse/grammar.y:
20143 some cleanup before the hacking
20145 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20147 * gst/base/gstbasesrc.c: (gst_base_src_query):
20149 * gst/gstutils.c: (gst_guint64_to_gdouble),
20150 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
20152 externalize, basesrc uses it
20153 obviously the implementation needs testing
20155 2005-10-10 Wim Taymans <wim@fluendo.com>
20157 * tests/sched/Makefile.am:
20158 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
20159 (make_pipeline3), (make_pipeline4), (print_elem), (main):
20161 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20163 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
20164 apparently converting from guint64 to double is not implemented
20167 2005-10-10 Wim Taymans <wim@fluendo.com>
20169 * check/Makefile.am:
20170 * check/generic/states.c: (GST_START_TEST):
20171 * check/gst/gstbin.c: (GST_START_TEST):
20172 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20173 * check/states/sinks.c: (GST_START_TEST):
20174 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
20176 Check fixes, use API as stated in design docs, remove hacks.
20178 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20179 (gst_base_sink_change_state):
20180 Catch stopping our task while we're shutting down.
20182 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
20183 (gst_bin_remove_func), (gst_bin_get_state_func),
20184 (gst_bin_recalc_state), (gst_bin_change_state_func),
20187 * gst/gstelement.c: (gst_element_init),
20188 (gst_element_get_state_func), (gst_element_abort_state),
20189 (gst_element_commit_state), (gst_element_lost_state),
20190 (gst_element_set_state), (gst_element_change_state),
20191 (gst_element_change_state_func):
20192 * gst/gstelement.h:
20193 New state change algorithm (see #318116)
20195 * gst/gstpipeline.c: (gst_pipeline_class_init),
20196 (gst_pipeline_init), (gst_pipeline_set_property),
20197 (gst_pipeline_get_property), (do_pipeline_seek),
20198 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20199 * gst/gstpipeline.h:
20200 Remove crude state change hacks.
20203 Remove crude hacks.
20205 * tools/gst-launch.c: (main):
20206 Fixes for state change. Needs some more work to fully use the
20209 2005-10-10 Andy Wingo <wingo@pobox.com>
20211 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
20213 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
20214 this flag, but it's not even in GLib 2.6. Odd. Hack around the
20217 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
20219 * gst/gstiterator.c: (gst_iterator_new):
20220 Fix my previous commit: GTypes passed to gst_iterator_new()
20221 can be fundamental types.
20223 2005-10-10 Wim Taymans <wim@fluendo.com>
20225 * gst/gstelement.c: (gst_element_iterate_pad_list),
20226 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
20227 (gst_element_iterate_sink_pads):
20228 Use src/sink pads lists for the respective iterators instead
20231 2005-10-10 Andy Wingo <wingo@pobox.com>
20233 Merged in popt removal + GOption addition patch from Ronald, bug
20236 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
20237 GstElement macros around, remove popt-related symbols, add goption
20240 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
20242 * docs/gst/Makefile.am:
20243 * docs/libs/Makefile.am: No POPT_CFLAGS.
20245 * examples/manual/Makefile.am:
20246 * docs/manual/basics-init.xml: Doc updates with an example.
20248 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
20249 (gst_init), (parse_one_option), (parse_goption_arg):
20250 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
20251 bit of hand merging and debugging to get the GOption stuff working
20254 * tests/Makefile.am:
20255 * tools/Makefile.am:
20256 * tools/gst-inspect.c: (main):
20257 * tools/gst-launch.c: (main):
20258 * tools/gst-run.c: (main):
20259 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
20261 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
20263 * gst/gstiterator.c: (gst_iterator_new):
20264 Add assertions to make sure passed GType is likely to really
20265 be a GType (as the compiler won't catch it if the size and
20266 GType arguments get mixed up, see #318447).
20268 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
20270 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20272 * gst/gstbin.c: (gst_bin_iterate_sorted):
20273 Pass GType and size arguments to gst_iterator_new() in the right
20274 order (maybe we should make _new() take the GType as first argument
20275 just like _new_list()?) (#318447).
20278 2005-10-10 Wim Taymans <wim@fluendo.com>
20280 * gst/gstelement.c: (gst_element_finalize):
20281 And free the GStaticRecMutex too
20283 2005-10-10 Andy Wingo <wingo@pobox.com>
20285 * gst/gstelement.c (gst_element_init, gst_element_finalize):
20286 Allocate and free the mutex properly.
20288 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
20290 (GstElement): The state_lock is now recursive. Rebuild your
20291 plugins, suckers. Old macros adapted.
20293 * docs/gst/gstreamer-sections.txt: Doc updates.
20296 * gst/gstutils.c (g_static_rec_cond_timed_wait)
20297 (g_static_rec_cond_wait): Ported from state changes patch, while
20298 we wait on bug #317802 to be solved in a well-distributed GLib.
20300 * gst/gstelement.c (gst_element_change_state_func): Renamed from
20301 gst_element_change_state, variable name changes.
20302 (gst_element_change_state): Split out of gst_element_set_state in
20303 preparation for the state change merge. Doesn't pay attention to
20304 the 'transition' argument.
20305 (gst_element_set_state): Updates, hopefully purely cosmetic.
20306 (gst_element_sync_state_with_parent): MT-safety. Ported from the
20307 state change patch.
20308 (gst_element_get_state_func): Renamed from get_state, cosmetic
20311 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20313 * gst/elements/gstelements.c:
20314 * win32/GStreamer.vcproj:
20316 * win32/dirent.c: (_tseekdir):
20317 * win32/gst-inspect.vcproj:
20318 * win32/gst-launch.vcproj:
20319 * win32/gstconfig.h:
20320 * win32/gstelements.vcproj:
20321 * win32/gstenumtypes.c: (gst_object_flags_get_type):
20322 * win32/gstreamer.def:
20323 * win32/msvc71.sln:
20324 updates for the win32 build (patch from Sebastien Moutte)
20326 2005-10-10 Andy Wingo <wingo@pobox.com>
20328 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
20329 gst_bin_get_state, cleaned up (but no logic changes).
20330 (bin_element_is_sink): Comment updates.
20331 (sink_iterator_filter): Remove needless cast.
20332 (gst_bin_iterate_sinks): Doc update.
20333 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
20334 cleaned up (but no logic changes).
20336 * check/states/sinks.c (test_src_sink): Cleanups from the state
20338 (test_livesrc_sink): Sync on the state.
20340 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
20341 the state change patch.
20343 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
20346 * check/gst/gstbin.c: Merge in some style fixes and additional
20347 checks from Wim's state change patch.
20349 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
20351 * gst/base/gsttypefindhelper.c: (helper_find_peek),
20352 (gst_type_find_helper):
20353 Check whether we have the requested data already in our list of
20354 cached buffers before pulling a new buffer; also make the buffer
20355 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
20357 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20362 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20363 don't use long long, it's not portable. Replacing with
20364 gint64 seems to work; let's hope no skeletons fall out of the closet.
20366 2005-10-10 Andy Wingo <wingo@pobox.com>
20368 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
20370 2005-10-09 Stefan Kost <ensonic@users.sf.net>
20372 * docs/gst/gstreamer-sections.txt:
20377 * gst/gstmessage.c: (gst_message_parse_state_changed):
20380 more docs, fix compilation
20382 2005-10-09 Philippe Khalaf <burger@speedy.org>
20383 * gst/gstmessage.c:
20384 Fixed a few forgotten variables on previous commit
20386 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
20388 * gst/base/gsttypefindhelper.c: (helper_find_peek):
20389 Fix evil typefind crasher: getrange() might return a short
20390 buffer at the end of a file, but gst_type_find_peek() must
20391 either return the full data as requested or NULL, but
20392 never a short buffer.
20394 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
20396 * gst/gstmessage.c: (gst_message_new_state_changed),
20397 (gst_message_parse_state_changed):
20398 * gst/gstmessage.h:
20399 don't use "new", it's a C++ keyword
20401 2005-10-08 Wim Taymans <wim@fluendo.com>
20403 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
20404 * gst/gstelement.c: (gst_element_post_message):
20405 * gst/gstpipeline.c: (gst_pipeline_change_state):
20406 Small docs and debug updates.
20408 2005-10-08 Stefan Kost <ensonic@users.sf.net>
20410 * docs/gst/gstreamer-sections.txt:
20411 * gst/gstelementfactory.c:
20413 * gst/gsttaglist.c:
20416 2005-10-08 Wim Taymans <wim@fluendo.com>
20418 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
20419 (gst_bin_dispose), (bin_bus_handler):
20420 Fix typos, add comments.
20421 Clear EOS list when going to PAUSED from any direction and do it
20422 in a threadsafe way.
20423 Get base time in a threadsafe way too.
20424 Fix confusing debug in the change_state function.
20425 Various other small cleanups.
20427 * gst/gstelement.c: (gst_element_post_message):
20428 Fix very verbose bus posting code.
20430 * gst/gstpipeline.c: (gst_pipeline_class_init),
20431 (gst_pipeline_set_property), (gst_pipeline_get_property),
20432 (gst_pipeline_change_state):
20433 Small ARG_ -> PROP_ cleanup
20435 2005-10-08 Wim Taymans <wim@fluendo.com>
20437 * gst/gstbin.c: (is_eos), (bin_bus_handler):
20438 Do a less CPU demanding EOS check because we can.
20440 2005-10-08 Wim Taymans <wim@fluendo.com>
20442 * libs/gst/dataprotocol/dataprotocol.c:
20443 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
20444 (gst_dp_packet_from_event):
20445 * libs/gst/dataprotocol/dataprotocol.h:
20446 * libs/gst/dataprotocol/dp-private.h:
20447 It's about time we bump the version number.
20448 Since event types don't fit in the guint8 anymore describing
20449 the payload type, make payload type 16 bits wide.
20451 2005-10-08 Wim Taymans <wim@fluendo.com>
20453 * docs/design/part-TODO.txt:
20454 * docs/design/part-clocks.txt:
20455 * docs/design/part-events.txt:
20456 * docs/design/part-gstbin.txt:
20457 * docs/design/part-gstelement.txt:
20458 * docs/design/part-gstpipeline.txt:
20459 * docs/design/part-live-source.txt:
20460 * docs/design/part-messages.txt:
20461 * docs/design/part-overview.txt:
20462 * docs/design/part-states.txt:
20465 2005-10-08 Wim Taymans <wim@fluendo.com>
20469 Fix event quark registration.
20470 Add some space between events so we can insert them in the
20473 2005-10-08 Wim Taymans <wim@fluendo.com>
20475 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20476 (gst_base_sink_handle_buffer):
20477 Better log message.
20480 * gst/gstelement.h:
20483 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
20484 (gst_queue_set_property), (gst_queue_get_property):
20486 Remove old unused properties.
20488 2005-10-08 Stefan Kost <ensonic@users.sf.net>
20489 * docs/gst/gstreamer-sections.txt:
20490 * gst/gstmessage.c:
20491 * gst/gstmessage.h:
20492 * gst/gstminiobject.c:
20493 * gst/gstminiobject.h:
20497 lots of new docs and doc fixes
20499 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20501 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
20503 * gst/gstregistry.c: (gst_registry_lookup_locked),
20504 (gst_registry_scan_path_level):
20505 * gst/gstregistryxml.c: (load_plugin):
20506 Only ever load one plugin for a given plugin basename.
20507 This ensures correct overriding of GST_PLUGIN_PATH over
20508 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
20509 system installed plugins.
20511 2005-10-08 Wim Taymans <wim@fluendo.com>
20513 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20514 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
20515 Prepare for doing QOS.
20517 2005-10-08 Wim Taymans <wim@fluendo.com>
20519 * check/gst/gstbin.c: (GST_START_TEST):
20520 * check/pipelines/cleanup.c: (GST_START_TEST):
20521 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20522 Allow new clock message too.
20524 2005-10-08 Wim Taymans <wim@fluendo.com>
20526 * gst/gstmessage.c: (gst_message_new_error),
20527 (gst_message_new_warning), (gst_message_new_tag),
20528 (gst_message_new_state_changed), (gst_message_new_clock_provide),
20529 (gst_message_new_clock_lost), (gst_message_new_new_clock),
20530 (gst_message_new_segment_start), (gst_message_new_segment_done),
20531 (gst_message_parse_state_changed),
20532 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
20533 (gst_message_parse_new_clock):
20534 * gst/gstmessage.h:
20535 Also carry the clock in question.
20537 2005-10-08 Wim Taymans <wim@fluendo.com>
20539 * gst/gstmessage.c: (gst_message_new_custom),
20540 (gst_message_new_eos), (gst_message_new_error),
20541 (gst_message_new_warning), (gst_message_new_tag),
20542 (gst_message_new_state_changed), (gst_message_new_clock_provide),
20543 (gst_message_new_new_clock), (gst_message_new_segment_start),
20544 (gst_message_new_segment_done), (gst_message_parse_state_changed),
20545 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
20546 * gst/gstmessage.h:
20548 Added clock related messages.
20550 * gst/gstpipeline.c: (gst_pipeline_change_state):
20551 Post message when the clock changed.
20553 * tools/gst-launch.c: (event_loop):
20556 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
20558 * tools/gst-inspect.c: (print_element_properties_info):
20559 Can't pass NULL strings to g_print() on windows.
20561 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20563 * docs/Makefile.am:
20564 * docs/gst/Makefile.am:
20565 * docs/gst/gstreamer-docs.sgml:
20566 * docs/gst/running.xml:
20567 * docs/version.entities.in:
20568 add a chapter on running GStreamer.
20569 document GST_DEBUG and GST_PLUGIN* env vars
20571 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20576 remove PLUGINS_BUILDDIR stuff
20577 * gst/gst.c: (init_post):
20578 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
20580 remove, it was condescending and not needed
20582 2005-10-08 Wim Taymans <wim@fluendo.com>
20584 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
20585 (gst_base_sink_handle_object), (gst_base_sink_event),
20586 (gst_base_sink_wait), (gst_base_sink_handle_event),
20587 (gst_base_sink_change_state):
20588 * gst/base/gstbasesink.h:
20589 Repost EOS message while going to PLAYING if still EOS.
20590 Make sure that when receiving a FLUSH_START we don't attempt
20591 to sync on the clock anymore.
20593 2005-10-08 Wim Taymans <wim@fluendo.com>
20595 * tools/gst-launch.c: (event_loop):
20596 Better message printout.
20598 2005-10-08 Wim Taymans <wim@fluendo.com>
20600 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
20601 (gst_bin_child_proxy_get_children_count):
20602 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20603 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
20604 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
20605 (gst_child_proxy_set_valist):
20606 * gst/parse/grammar.y:
20607 Make ChildProxy threadsafe and fix mem leaks.
20609 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20611 * gst/gst.c: (init_post):
20612 debug the GST_PLUGIN_ env vars
20614 2005-10-08 Wim Taymans <wim@fluendo.com>
20616 * check/gst/gstbin.c: (GST_START_TEST):
20617 * check/gst/gstmessage.c: (GST_START_TEST):
20618 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20619 * gst/gstelement.c: (gst_element_commit_state),
20620 (gst_element_lost_state):
20621 * gst/gstmessage.c: (gst_message_new_state_changed),
20622 (gst_message_parse_state_changed):
20623 * gst/gstmessage.h:
20624 * tools/gst-launch.c: (event_loop):
20625 Added extra field to STATE_CHANGE message with the pending
20626 state, which will be different from the new state soon.
20628 2005-10-08 Wim Taymans <wim@fluendo.com>
20630 * gst/gstbus.c: (gst_bus_pop):
20632 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20633 Small cleanups and doc updates.
20635 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20637 * gst/gst.c: (init_pre):
20638 * gst/gstbin.c: (gst_bin_add_func):
20639 log distributing clocks and base time
20640 * gst/gstregistry.c: (gst_registry_add_plugin),
20641 (gst_registry_scan_path_level), (gst_registry_scan_path):
20642 clean up the debugging output a little
20643 * gst/gstutils.c: (gst_element_state_get_name):
20644 warn about a memleak (I've actually seen this be used, though
20645 it was probably a bug)
20647 2005-10-07 Wim Taymans <wim@fluendo.com>
20649 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20650 (gst_base_src_init), (gst_base_src_default_newsegment),
20651 (gst_base_src_newsegment), (gst_base_src_do_seek),
20652 (gst_base_src_loop), (gst_base_src_start):
20653 * gst/base/gstbasesrc.h:
20654 Make the newsegment event customizable by subclasses.
20656 2005-10-07 Wim Taymans <wim@fluendo.com>
20658 * gst/gstevent.c: (gst_event_new_buffersize),
20659 (gst_event_parse_buffersize):
20661 New event for future idea.
20663 2005-10-07 Andy Wingo <wingo@pobox.com>
20665 * gst/gstelement.c (gst_element_post_message): Doc update.
20667 * docs/gst/gstreamer-sections.txt: Update.
20669 * gst/gstmessage.c (gst_message_new_application): Made into a
20670 function like honest API calls.
20671 (gst_message_new_element): New message type.
20673 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
20675 * check/elements/fakesrc.c (test_no_preroll): New check, checks
20676 that setting a live fakesrc to PAUSED returns NO_PREROLL both
20679 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
20680 NO_PREROLL from gst_element_change_state to fall through.
20682 2005-10-07 Wim Taymans <wim@fluendo.com>
20684 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
20685 (gst_ghost_pad_do_activate_push):
20686 Activating a ghostpad with no internal pad in push mode
20689 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
20692 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
20693 Fixes compilation on Windows.
20695 2005-10-07 Michael Smith <msmith@fluendo.com>
20697 * tools/gst-inspect.c:
20698 Print out feature and plugin count at the end when printing out
20701 2005-10-04 Michael Smith <msmith@fluendo.com>
20703 * gst/gsterror.c: (_gst_stream_errors_init):
20704 Add another error string used in a few existing plugins.
20707 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20708 * tools/gst-inspect.c: (print_element_info):
20709 When a feature disappears from a plugin (and the feature exists in
20710 the cached registry file), things went horribly wrong. This isn't a
20711 complete fix, we should actually be removing the 'missing' features
20712 from the features list when we load the actual plugin. That's not
20715 2005-10-04 Johan Dahlin <johan@gnome.org>
20717 * check/gst/gstiterator.c: (GST_START_TEST):
20718 * gst/gstbin.c: (gst_bin_iterate_elements),
20719 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
20720 * gst/gstelement.c: (gst_element_iterate_pads):
20721 * gst/gstformat.c: (gst_format_iterate_definitions):
20722 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20723 (gst_iterator_new_list), (gst_iterator_filter):
20724 * gst/gstiterator.h:
20725 * gst/gstquery.c: (gst_query_type_iterate_definitions):
20726 Add a GType to GstIterator, update callsites and tests.
20728 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20730 * gst/gstpad.c: (gst_pad_event_default_dispatch):
20731 give events a chance to be handled by event probes when the pad
20734 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20736 * gst/gstevent.c: (gst_event_type_get_name),
20737 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
20739 add string representations for event types
20741 2005-10-06 Wim Taymans <wim@fluendo.com>
20743 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
20744 Don't use NULL pointers.
20746 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20748 * gst/gst_private.h:
20750 * gst/gstelement.c:
20752 * gst/gstpluginfeature.c:
20753 widen the debug category in output to fit the biggest one we have
20754 add a bus category and use it
20755 play with the colors
20756 fix up some categories
20758 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20760 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
20761 add push activation of sink ghost pads.
20762 Andye, please verify
20764 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
20766 * gst/gstutils.c: (gst_element_link_pads):
20767 fix a bug in the case where neither element has a pad
20768 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20769 add a test for that case
20771 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
20773 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
20774 emit have-data before checking for peers. This allows
20775 for probe handlers to connect elements. This helps autopluggers.
20776 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
20778 add six checks, linked/unlinked with no/true/false probe
20780 2005-10-04 Wim Taymans <wim@fluendo.com>
20782 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
20783 (gst_fake_sink_event), (gst_fake_sink_preroll),
20784 (gst_fake_sink_render), (gst_fake_sink_change_state):
20785 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
20786 (gst_fake_src_get_property), (gst_fake_src_create),
20787 (gst_fake_src_stop):
20788 * gst/elements/gstidentity.c: (gst_identity_stop):
20789 Protect last_message with lock.
20791 2005-10-04 Edward Hervey <edward@fluendo.com>
20794 Added precision in the comments for GST_FORMAT_DEFAULT
20796 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
20798 * tools/gst-launch.c: (main):
20799 Don't try to run erroneous pipelines.
20801 2005-10-04 Julien MOUTTE <julien@moutte.net>
20803 * gst/gstbus.c: We don't need this header.
20805 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
20808 back to development
20810 === release 0.9.3 ===
20812 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
20816 Releasing 0.9.3, "Unregistered"
20818 2005-10-03 Andy Wingo <wingo@pobox.com>
20820 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
20821 whereby calling a pad's activatepush() function can start a thread
20822 that starts to push or pull before the pad gets the FLUSHING flag
20823 unset. Hack around it by holding the stream lock until the flag is
20824 set. Need to replace this with a proper solution. Together with
20825 the ghost pad fixes, this fixes mp3 playing/tagreading.
20827 * docs/design/part-gstghostpad.txt: Add a note about activation of
20828 proxy pads outside of ghost pads.
20830 * gst/gstghostpad.c: Implement the ghost pad activation design.
20832 2005-10-02 Andy Wingo <wingo@pobox.com>
20834 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
20835 It is volatile, after all.
20837 * docs/design/part-gstghostpad.txt: Flesh out activation with
20840 * gst/base/gstbasesrc.c (gst_base_src_init): Use
20843 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
20846 Fix (unused) AM_CONDITIONAL tests.
20848 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
20850 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20852 * gst/gstutils.c: (gst_pad_query_convert):
20853 Add assertion that makes sure src_val is >=0, just like
20854 gst_query_new_convert() has. (#315895)
20856 2005-09-30 Edward Hervey <edward@fluendo.com>
20858 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
20859 Let's not iterate pads we're not interested in, it avoids getting
20860 sky-high refcounts on sinkpad.
20862 2005-09-30 Wim Taymans <wim@fluendo.com>
20864 * gst/gstelement.c: (gst_element_set_state),
20865 (gst_element_change_state):
20866 Small tweak, element in ASYNC remains ASYNC.
20868 2005-09-30 Wim Taymans <wim@fluendo.com>
20870 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20871 Only error is an error.
20873 * gst/gstbin.c: (gst_bin_change_state):
20876 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
20877 Also call pad_block in pad alloc.
20879 * gst/gstutils.c: (gst_flow_get_name):
20882 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
20884 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20885 (gst_base_src_get_range):
20886 Fix documentation typos. Add some more debug info.
20888 2005-09-29 David Schleef <ds@schleef.org>
20890 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
20891 more end-user friendly.
20892 * tools/gst-inspect.c: (main): Check if command-line argument is
20893 a file and attempt to load that file as a plugin.
20895 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
20897 * check/gst/gstbin.c:
20898 * check/states/sinks.c:
20899 fix tests for the new warning
20900 * check/gst/gstpipeline.c:
20901 add a test for pipeline and bus interaction
20902 * gst/gstelement.c:
20903 elements should be NULL if they get disposed; add a warning if not
20905 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
20908 for 2.6 refcounting, make debug log more correct by printing
20909 the actual refcounts at the time of swap (Wim)
20911 2005-09-29 Andy Wingo <wingo@pobox.com>
20913 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
20914 removes signal watches previously added via
20915 gst_bus_add_signal_watch.
20916 (gst_bus_add_signal_watch): Don't return the source id, just store
20917 it on the bus if there wasn't an id already.
20919 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
20920 add_signal_watch and remove_signal_watch.
20922 2005-09-29 Edward Hervey <edward@fluendo.com>
20924 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
20925 Better if we actually iterate the list :)
20927 2005-09-29 Wim Taymans <wim@fluendo.com>
20929 * check/gst/gstbin.c: (GST_START_TEST):
20930 Change for new bus API.
20932 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20933 (send_messages), (GST_START_TEST), (gstbus_suite):
20934 Change for new bus signal API.
20936 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
20937 (gst_bus_source_prepare), (gst_bus_source_check),
20938 (gst_bus_create_watch), (gst_bus_add_watch_full),
20939 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
20940 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
20942 Remove support for multiple GSources operating on different
20943 message types as it is too complex and unneeded when using
20945 Added support for receiving signals from the bus.
20947 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
20949 * docs/libs/tmpl/gstdataprotocol.sgml:
20950 * docs/manual/advanced-dataaccess.xml:
20951 * gst/elements/gstcapsfilter.c:
20953 rename filter-caps to caps property
20955 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
20957 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20958 More robust fraction string parsing.
20960 * docs/pwg/appendix-porting.xml:
20961 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
20963 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
20965 * gst/gstcaps.c: (gst_caps_do_simplify):
20966 Thou shalt not free a structure and then continue using it
20967 in the next loop iteration.
20969 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
20971 Add test case for caps simplification.
20973 2005-09-29 Wim Taymans <wim@fluendo.com>
20975 * check/gst/gstbin.c: (GST_START_TEST):
20978 2005-09-29 Wim Taymans <wim@fluendo.com>
20980 * check/gst/gstbin.c: (GST_START_TEST):
20983 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
20984 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20985 (find_element), (gst_bin_sort_iterator_next),
20986 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20987 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20988 (gst_bin_change_state), (gst_bin_dispose):
20989 A bin does not have a bus, it gets the bus from the parent.
20991 * gst/gstelement.c: (gst_element_requires_clock),
20992 (gst_element_provides_clock), (gst_element_is_indexable),
20993 (gst_element_is_locked_state), (gst_element_change_state),
20994 (gst_element_set_bus_func):
20997 * gst/gstpipeline.c: (gst_pipeline_class_init),
20998 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
20999 The pipeline provides a bus.
21001 2005-09-28 Johan Dahlin <johan@gnome.org>
21003 * gst/gstmessage.c (gst_message_parse_state_changed): Use
21004 gst_structure_get_enum instead of gst_structure_get_int
21006 * gst/gststructure.c (gst_structure_get_enum): Impl.
21008 * gst/gststructure.h (gst_structure_get_enum): Add
21010 * docs/gst/gstreamer-sections.txt: Ditto
21012 * gst/gstmessage.c (gst_message_new_state_changed): Use
21013 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
21014 which does introspection.
21015 Reviewed by Christian Schaller
21017 2005-09-28 Stefan Kost <ensonic@users.sf.net>
21019 * gst/gstinfo.c: (gst_debug_log_default):
21020 don't do dummy g_strdup()s
21021 * libs/gst/controller/gstcontroller.c:
21022 (on_object_controlled_property_changed),
21023 (gst_controlled_property_new), (gst_controller_new_valist),
21024 (gst_controller_new_list),
21025 (gst_controller_remove_properties_valist), (gst_controller_set),
21026 (gst_controller_get), (gst_controller_sync_values),
21027 (gst_controller_get_value_array), (_gst_controller_class_init),
21028 (gst_controller_get_type):
21029 * libs/gst/controller/gstcontroller.h:
21030 * libs/gst/controller/gstinterpolation.c:
21031 (gst_controlled_property_find_timed_value_node):
21032 convert // to /**/ comments
21034 2005-09-28 Wim Taymans <wim@fluendo.com>
21036 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
21037 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
21038 (gst_bus_sync_signal_handler):
21040 Added async-message and sync-message signals to the bus.
21041 Added helper BusFunc to emit signals for all posted messages.
21043 * gst/gstmessage.c: (gst_message_type_get_name),
21044 (gst_message_type_to_quark), (gst_message_get_type):
21045 * gst/gstmessage.h:
21046 Register quarks for message names.
21048 2005-09-28 Stefan Kost <ensonic@users.sf.net>
21050 * docs/libs/gstreamer-libs-sections.txt:
21051 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
21052 (gst_controller_new_list):
21053 * libs/gst/controller/gstcontroller.h:
21054 added another constructor for language bindings
21056 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
21058 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21062 * gst/gstinfo.c: (_gst_debug_init):
21063 slightly more readable color for refcount debugging
21065 2005-09-28 Wim Taymans <wim@fluendo.com>
21067 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21068 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
21069 (find_element), (gst_bin_sort_iterator_next),
21070 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21071 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21072 (gst_bin_change_state), (gst_bin_dispose):
21073 Small doc fixes. get_clock -> provide_clock.
21075 * gst/gstelement.c: (gst_element_class_init),
21076 (gst_element_provides_clock), (gst_element_provide_clock),
21077 (gst_element_get_clock), (gst_element_commit_state),
21078 (gst_element_lost_state):
21079 * gst/gstelement.h:
21080 Make get/set_clock() symetric. Add provide_clock vmethod since
21081 that is actually what this function does.
21083 * gst/gstpipeline.c: (gst_pipeline_class_init),
21084 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
21085 (gst_pipeline_get_clock):
21086 get_clock -> provide_clock.
21088 2005-09-28 Andy Wingo <wingo@pobox.com>
21090 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
21091 lieu of real docs...
21093 * gst/elements/gstfdsrc.c: Cleaned up a bit.
21095 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
21097 * gst/elements/gstcapsfilter.c:
21098 * gst/elements/gstfakesink.c:
21099 * gst/elements/gstfakesrc.c:
21100 * gst/elements/gstfdsink.c:
21101 * gst/elements/gstfdsrc.c:
21102 * gst/elements/gstfilesink.c:
21103 * gst/elements/gstfilesrc.c:
21104 * gst/elements/gstidentity.c:
21105 * gst/elements/gsttee.c:
21106 * gst/elements/gsttypefindelement.c:
21107 Make element details static.
21109 2005-09-28 Wim Taymans <wim@fluendo.com>
21111 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21112 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21113 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21114 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21115 (gst_bin_change_state), (gst_bin_dispose):
21116 Some documentation updates.
21117 Clean up dispose handlers.
21119 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
21120 * gst/gstpad.c: (gst_pad_dispose):
21121 Clean up dispose handler.
21123 * gst/gstpipeline.c: (gst_pipeline_change_state):
21124 Removed spurious UNLOCK.
21126 2005-09-27 Stefan Kost <ensonic@users.sf.net>
21128 * docs/gst/gstreamer-sections.txt:
21129 * gst/base/gstbasesrc.h:
21130 * gst/gstelement.h:
21134 * gst/gstpipeline.c:
21135 * gst/gstpipeline.h:
21138 added two new functions to the docs
21139 documents all undocumented GstXXXFlags
21140 completed some incomplete docs
21142 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
21144 * gst/gstbin.c: (gst_bin_dispose):
21145 * gst/gstelement.c: (gst_element_dispose):
21146 remove now useless and leaky resurrection code in dispose
21147 * gst/base/gstbasesrc.c: (gst_base_src_init):
21148 * gst/gstelementfactory.c: (gst_element_factory_create):
21149 * gst/gstobject.c: (gst_object_set_parent):
21152 2005-09-27 Wim Taymans <wim@fluendo.com>
21154 * docs/design/part-TODO.txt:
21157 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21158 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21159 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21160 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21161 (gst_bin_change_state):
21162 * gst/gstelement.h:
21163 Remove element variable, we keep element info in the iterator now.
21165 2005-09-27 Andy Wingo <wingo@pobox.com>
21167 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
21170 2005-09-27 Wim Taymans <wim@fluendo.com>
21172 * check/gst/gstbin.c: (GST_START_TEST):
21173 Enable check that works now.
21175 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21176 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21177 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21178 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21179 (gst_bin_change_state):
21181 Redid the state change algorithm using a topological sort algo.
21182 Handles all cases correctly.
21183 Exposed iterator for state change order.
21185 * gst/gstelement.h:
21186 Temp storage for state changes. Need to get rid of this soon.
21188 2005-09-27 Wim Taymans <wim@fluendo.com>
21190 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
21191 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
21192 (link_fold_func), (gst_pad_proxy_setcaps):
21193 Leak fixes, the fold functions need to unref the passed object and
21194 _get_parent_*() returns ref to parent.
21196 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
21198 * check/gst/gstbuffer.c: (test_make_writable):
21199 Plug leak in test case and fix 'make check-valgrind'
21201 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
21203 * gst/gstbuffer.c: (gst_subbuffer_init):
21204 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
21205 works correctly in all circumstances (we could have just copied
21206 the parent buffer's readonly flag, but conceptually it seems
21207 cleaner to mark all subbuffers as read-only). (based on patch
21208 by Alessandro Decina, #314710).
21210 * check/gst/gstbuffer.c: (create_read_only_buffer),
21211 (test_make_writable), (test_subbuffer_make_writable),
21213 Add some tests for gst_buffer_make_writable().
21215 2005-09-27 Wim Taymans <wim@fluendo.com>
21217 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
21218 use gst_object_has_ancestor().
21220 * gst/gstobject.c: (gst_object_has_ancestor):
21222 gst_object_has_ancestor() copied from gstbin.c as it is a
21225 * tests/instantiate/create.c: (create_all_elements):
21226 * tests/lat.c: (handoff_src), (handoff_sink):
21227 * tests/sched/runxml.c: (main):
21228 * tests/seeking/seeking1.c: (main):
21229 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21231 Fix compilation of some tests.
21233 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
21236 Remove comment. GST_TYPE_G_ERROR is here to stay,
21237 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
21238 (#316961, #300610).
21240 2005-09-26 Wim Taymans <wim@fluendo.com>
21242 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21243 Added check that shows error in state change order.
21245 2005-09-26 Wim Taymans <wim@fluendo.com>
21247 * gst/gstbin.c: (gst_bin_change_state):
21248 Make state change function use 3 queues again, we were
21249 adding elements in the wrong order.
21251 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
21254 * gst/gstpad.c: (gst_pad_dispose):
21255 Added some debug info first.
21257 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
21259 * docs/design/draft-push-pull.txt:
21260 * docs/design/part-events.txt:
21261 * docs/design/part-overview.txt:
21262 * docs/design/part-scheduling.txt:
21263 Replace all _pull_region() with _pull_range()
21265 2005-09-26 Andy Wingo <wingo@pobox.com>
21267 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
21269 * check/gst-libs/controller.c: Update for controller api change.
21272 * tests/Makefile.am:
21273 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
21274 over by GLib bug 118439.
21276 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
21277 routines to a function.
21279 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
21281 * libs/gst/controller/gsthelper.c:
21282 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
21283 (gst_object_sync_values): Renamed from sink_values. Ugh.
21285 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
21287 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
21288 Renamed from controller_key, as it is exported.
21290 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
21292 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
21297 * gst/gstpadtemplate.h:
21300 * gst/gstqueryutils.c:
21301 * gst/gstqueryutils.h:
21302 remove queryutils headers after moving the two used functions
21303 to gstquery. also fixes build problem for gstsiddec
21305 2005-09-26 Michael Smith <msmith@fluendo.com>
21307 * tools/gst-launch.1.in:
21308 Correct documentation in manpage of debug syntax
21310 2005-09-26 Wim Taymans <wim@fluendo.com>
21312 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
21313 (gst_base_src_is_seekable), (gst_base_src_change_state):
21314 Some more debugging info.
21316 2005-09-25 Stefan Kost <ensonic@users.sf.net>
21318 * docs/gst/gstreamer-sections.txt:
21319 * gst/base/gstbasetransform.h:
21323 2005-09-25 Stefan Kost <ensonic@users.sf.net>
21325 * docs/gst/.cvsignore:
21326 * docs/gst/tmpl/.cvsignore:
21327 * docs/gst/tmpl/gstpipeline.sgml:
21328 * docs/gst/tmpl/gstplugin.sgml:
21329 * gst/gstpipeline.c:
21332 inlined the last two docs files
21333 removed the tmpl directory from cvs (no more conflicts here!)
21335 2005-09-25 Stefan Kost <ensonic@users.sf.net>
21337 * docs/gst/gstreamer-sections.txt:
21338 * docs/gst/tmpl/.cvsignore:
21339 * docs/gst/tmpl/gstpad.sgml:
21340 * docs/gst/tmpl/gstpadtemplate.sgml:
21342 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
21343 (gst_pad_finalize), (gst_pad_set_pad_template):
21345 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
21346 (gst_pad_template_class_init), (gst_pad_template_init),
21347 (gst_pad_template_dispose), (name_is_valid),
21348 (gst_static_pad_template_get), (gst_pad_template_new),
21349 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
21350 (gst_pad_template_pad_created):
21351 * gst/gstpadtemplate.h:
21352 inlined two more docs
21353 factored gstpadtemplate out of gstpad
21355 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
21357 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21358 (test_children_state_change_order_semi_sink):
21359 Fix test case: we can't rely on a fixed state change order when
21360 going from READY => PAUSED because the sink might commit its
21361 new state first when the first buffer created by the source
21362 reaches the sink before the source has finished its change state.
21363 (Test case still fails at times, see #316856, comment 5 onwards)
21365 2005-09-24 Wim Taymans <wim@fluendo.com>
21367 * docs/design/part-events.txt:
21368 * docs/design/part-gstbus.txt:
21369 * docs/design/part-gstpipeline.txt:
21370 * docs/design/part-messages.txt:
21371 * docs/design/part-overview.txt:
21372 * docs/design/part-segments.txt:
21376 * gst/gstelement.c:
21379 * gst/gstiterator.c:
21380 Various documentation updates.
21382 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
21385 Well, that's embarassing. Luckily we weren't using
21386 GST_CLOCK_DIFF anywhere.
21388 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21390 * common/gtk-doc.mak:
21391 don't fail on building XML, FC4 slave shows a bunch of doc
21392 missing bits that I don't get
21394 * gst/gstpipeline.c:
21395 * gst/gststructure.c:
21398 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
21400 * docs/design/part-gstbin.txt:
21401 * docs/design/part-gstbus.txt:
21403 Add blurb about how the bus goes into flushing mode and
21404 drops all messages when its bin goes from READY into NULL
21407 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21409 * docs/gst/gstreamer-sections.txt:
21410 * gst/gststructure.c: (gst_structure_get_clock_time):
21411 * gst/gststructure.h:
21412 add a method to get a GstClockTime out of a structure
21414 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
21416 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21417 (test_children_state_change_order_semi_sink), (gst_bin_suite):
21418 Added test to check state change order in bins (can still be made
21419 to fail here under heavy disk load; bails out with 'Push on pad
21420 fakesink:sink0, but it was not activated in push mode').
21422 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
21423 Fix state change order when there is only a semi sink (#316856)
21425 * gst/gstbus.c: (gst_bus_class_init):
21426 Use _class_peek_parent(), not _class_ref(); fix docs to say
21427 'default main context' instead of 'mainloop' where that is
21430 * gst/gstelement.c: (gst_element_commit_state),
21431 (gst_element_set_state):
21432 Fix typos in debug messages
21434 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21437 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
21438 * gst/gstpluginfeature.c:
21440 various doc updates
21441 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21442 change an assert into an error until it gets fixed properly
21444 2005-09-23 Stefan Kost <ensonic@users.sf.net>
21446 * docs/gst/gstreamer-sections.txt:
21447 * docs/gst/tmpl/.cvsignore:
21448 * docs/gst/tmpl/gstelement.sgml:
21449 * docs/gst/tmpl/gstinfo.sgml:
21450 * docs/gst/tmpl/gstobject.sgml:
21451 * gst/gstelement.c:
21452 * gst/gstelement.h:
21455 * gst/gstobject.c: (gst_object_class_init):
21457 inlined 3 more biiiig doc files and added some missing docs on the fly
21459 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21461 * check/gst/.cvsignore:
21462 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
21463 * gst/gstregistryxml.c: (load_plugin),
21464 (gst_registry_xml_save_plugin):
21465 put back source in registry. add checks for find_plugin.
21466 * testsuite/states/bin.c: (assert_state), (empty_bin),
21467 (test_adding_one_element), (main):
21468 * testsuite/states/locked.c: (main):
21469 some compile/run fixes
21471 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
21473 * check/gst/gstvalue.c: (GST_START_TEST):
21474 fix leaks in the test itself
21476 2005-09-22 Wim Taymans <wim@fluendo.com>
21478 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21479 (gst_base_sink_send_event), (gst_base_sink_peer_query),
21480 (gst_base_sink_query):
21481 Prepare for more accurate position reporting and query
21484 * gst/gstelement.c: (gst_element_send_event),
21485 (gst_element_set_state):
21488 2005-09-22 Wim Taymans <wim@fluendo.com>
21490 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
21491 (gst_query_parse_segment):
21493 More documentation.
21494 Add segment query for future use.
21496 2005-09-22 Wim Taymans <wim@fluendo.com>
21498 * gst/gstbin.c: (gst_bin_add_func):
21499 Some more debug info.
21501 * gst/gstelement.c: (gst_element_send_event):
21502 Simplify send_event
21504 * gst/gstelement.h:
21505 Don't know how flags got broken.
21510 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
21512 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
21513 Add simplistic test suite for GST_TYPE_DATE serialisation and
21516 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
21518 * docs/gst/gstreamer-sections.txt:
21519 * gst/gststructure.c: (gst_structure_set_valist),
21520 (gst_structure_get_date):
21521 * gst/gststructure.h:
21522 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
21523 (gst_date_copy), (gst_value_compare_date),
21524 (gst_value_serialize_date), (gst_value_deserialize_date),
21525 (gst_value_transform_date_string),
21526 (gst_value_transform_string_date), (_gst_value_initialize):
21528 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
21529 bunch of utility functions along with a hack that checks that
21530 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
21531 is required. Part of the grand scheme in #170777.
21533 2005-09-22 Andy Wingo <wingo@pobox.com>
21535 * gst/gstconfig.h.in: Psych out gtk-doc.
21537 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
21539 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
21541 * tools/gst-inspect.c (print_element_list): Plug some
21542 inconsequential leaks.
21544 * gst/gstregistry.c (gst_registry_get_default): Doc.
21546 * check/gst/gstplugin.c:
21547 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
21548 * gst/gstelementfactory.c (gst_element_factory_create):
21549 * gst/gstindexfactory.c (gst_index_factory_create): Update for
21552 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
21553 (gst_plugin_feature_load): Doc, don't eat refs.
21555 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
21556 (gst_plugin_list_free): Doc.
21557 (gst_plugin_load_file): Doc updates.
21559 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
21560 accessors returning refcounted objects, return a ref.
21562 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
21563 accessor for caps. IDEMPOTENCE. Oh yes.
21565 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
21567 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21569 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21570 (_gst_debug_register_funcptr):
21571 Add mutex to serialise access to the hash table with
21572 the function pointer => function name string mapping;
21573 make that hash table static scope (#316809).
21575 * gst/registries/.cvsignore:
21576 Remove left-over file.
21578 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
21580 * docs/pwg/appendix-porting.xml:
21581 And something about newsegment events and caps-on-buffers to
21582 the porting guide (feel free to improve).
21584 2005-09-21 Andy Wingo <wingo@pobox.com>
21586 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
21587 data and event probes on the same pad.
21588 (test_buffer_probe_once): Test that removing probes from within
21589 the probe functions works.
21591 2005-09-21 Andy Wingo <wingo@pobox.com>
21593 * check/gst/gstutils.c: New file.
21594 (test_buffer_probe_n_times): A simple buffer probe test. More to
21597 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
21598 have-data::buffer, not have-data.
21599 (gst_pad_add_event_probe): Likewise for have-data::event.
21600 (gst_pad_add_data_probe): More docs. The part about 'resolving the
21601 peer' isn't quite right yet though.
21602 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
21603 (gst_pad_remove_data_probe): Change to take the guint handler_id
21604 as their arg, not the function+data, which is more glib-like.
21606 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
21607 the signal emission to indicate if the data is a buffer or an
21609 (gst_pad_get_type): Initialize buffer and event quarks.
21610 (gst_pad_class_init): have-data is now a detailed signal, yes it
21613 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
21615 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21616 * gst/gstutils.c: (gst_util_set_value_from_string),
21617 (gst_util_set_object_arg):
21618 Don't put functional code in g_return_if_fail() or
21619 g_return_val_if_fail() statements, otherwise things will
21620 break when G_DISABLE_CHECKS is defined during compilation.
21622 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21624 * docs/gst/tmpl/.cvsignore:
21625 * docs/gst/tmpl/gstvalue.sgml:
21628 inlied another one and added some obvious docs
21630 2005-09-21 Wim Taymans <wim@fluendo.com>
21632 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
21633 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
21634 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
21635 (gst_fdsrc_get_property), (gst_fdsrc_create):
21636 * gst/elements/gstfdsrc.h:
21637 Properly implement fdsrc. Removed signal and timeout,
21638 better implemented somewhere else.
21640 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21642 * docs/gst/tmpl/.cvsignore:
21643 * docs/gst/tmpl/gstimplementsinterface.sgml:
21644 * gst/gstinterface.c:
21647 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21649 * docs/gst/gstreamer-sections.txt:
21650 * docs/gst/tmpl/.cvsignore:
21651 * docs/gst/tmpl/gstenumtypes.sgml:
21652 remove obsolete doc file
21654 2005-09-21 David Schleef <ds@schleef.org>
21656 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
21657 little beer, fix a little leak.
21659 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21661 * docs/gst/gstreamer-docs.sgml:
21662 * docs/gst/gstreamer-sections.txt:
21663 * docs/gst/tmpl/.cvsignore:
21667 * gst/gstelement.h:
21668 * gst/gstindex.c: (gst_index_class_init):
21670 * gst/gstindexfactory.c: (gst_index_factory_get_type),
21671 (gst_index_factory_class_init), (gst_index_factory_init),
21672 (gst_index_factory_finalize), (gst_index_factory_new),
21673 (gst_index_factory_destroy), (gst_index_factory_find),
21674 (gst_index_factory_create), (gst_index_factory_make):
21675 * gst/gstindexfactory.h:
21676 * gst/gstpluginfeature.c:
21677 * gst/gstpluginfeature.h:
21678 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21679 more docs inlined, splitted gstindex.{c,h}
21681 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21683 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21686 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
21688 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21689 Set sync to FALSE by default.
21691 2005-09-20 Wim Taymans <wim@fluendo.com>
21693 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21694 (gst_base_sink_init):
21695 Make sync property settable from subclass.
21697 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21698 (gst_fake_sink_change_state):
21699 Set sync to FALSE by default.
21701 2005-09-20 Wim Taymans <wim@fluendo.com>
21703 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
21704 * tools/gst-launch.c: (main):
21705 The timeout handler should have lower priority than the source
21706 so we don't timeout before popping a message with 0 timeout.
21707 Dump error messages after failed state change.
21709 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
21711 * tools/gst-inspect.c: (print_element_properties_info):
21714 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21716 * check/gst/gstevent.c:
21717 * gst/elements/gstfakesink.c:
21718 * gst/elements/gstfakesink.h:
21719 remove the sync property from fakesink.
21720 has the side effect of setting sync TRUE
21721 for fakesink, which is a change. Anyone who knows how
21722 to fix this nicely in a GObject-y way, feel free.
21724 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21726 * docs/gst/gstreamer-docs.sgml:
21727 remove probe refsection
21729 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21731 * check/Makefile.am:
21732 disable valgrinding the controller test again
21733 * docs/gst/gstreamer-sections.txt:
21734 update for api-changes
21736 2005-09-20 Wim Taymans <wim@fluendo.com>
21738 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21739 (gst_base_sink_set_property), (gst_base_sink_get_property),
21740 (gst_base_sink_do_sync):
21741 * gst/base/gstbasesink.h:
21742 Added sync property to basesink to disable clock sync.
21744 2005-09-20 Andy Wingo <wingo@pobox.com>
21746 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
21747 eating the caller's refcount.
21749 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
21750 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
21753 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
21754 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
21755 of GLib 2.8 public, so we can know which refcount to check in
21758 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
21759 (gst_object_init): Only set the gst refcount if we're going ahead
21760 with the refcount hack.
21762 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21764 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21765 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21766 more leaks plumbed, added more debug-logging
21770 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21772 * gst/gstmessage.c:
21773 remove include of gstmemchunk.h
21775 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21777 * gst/gstclock.c: (_gst_clock_id_free):
21778 Commit from the Political Party For More Atomic CVS Commits,
21779 so that people don't waste too much of their day fishing
21780 out obvious leaks out of massive commits.
21781 Oh, and fix a pretty damn obvious leak in the memchunk
21784 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21786 * check/Makefile.am:
21787 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21788 plug mem-leak, re-add to valgrindable tests
21790 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21793 unbreak the build for those who have chronic arthritis
21794 and typing "make check" is just too taxing on the hands
21796 2005-09-20 Andy Wingo <wingo@pobox.com>
21798 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
21799 really want it out, you should fix plugins at the same time.
21801 2005-09-19 Stefan Kost <ensonic@users.sf.net>
21804 * docs/gst/gstreamer-sections.txt:
21806 added missing symbols to api docs
21807 disable ref-count hack if we have glib >= 2.8
21809 2005-09-19 David Schleef <ds@schleef.org>
21811 * docs/gst/Makefile.am: Ignore a few more internal headers
21812 * docs/gst/gstreamer-docs.sgml: Remove old sections
21813 * docs/gst/gstreamer-sections.txt: Remove old sections
21814 * docs/gst/tmpl/gstobject.sgml: update
21815 * docs/gst/tmpl/gstplugin.sgml: update
21816 * docs/gst/tmpl/gstpluginfeature.sgml: update
21817 * docs/random/ds/0.9-suggested-changes: update.
21818 * gst/Makefile.am: remove memchunk and trashstack, since they're
21820 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
21821 * gst/gst.h: don't include some headers
21822 * gst/gstchildproxy.c: add gstmarshal.h
21823 * gst/gstclock.c: Don't use memchunks
21824 * gst/gstminiobject.c: Add some docs
21825 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
21826 * gst/gstobject.h: same
21827 * gst/gstplugin.c: include gstmacros.h
21828 * gst/gstplugin.h: don't include gstmacros.h, since it's private
21829 * gst/gstquery.c: don't use memchunks
21830 * gst/gstregistry.c: rename gst_registry_deinit()
21831 * gst/gstregistry.h: same
21833 2005-09-19 David Schleef <ds@schleef.org>
21835 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
21836 * docs/libs/gstreamer-libs-sections.txt:
21837 * docs/libs/tmpl/gstgetbits.sgml:
21838 * docs/libs/tmpl/gstputbits.sgml:
21840 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
21842 * win32/gstenumtypes.c:
21843 * win32/gstenumtypes.h:
21846 2005-09-19 Wim Taymans <wim@fluendo.com>
21848 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
21849 Automatically PAUSE and RESUME a pipeline when a flushing seek
21852 2005-09-19 Andy Wingo <wingo@pobox.com>
21854 * gst/gstregistry.h: Spacing fixen.
21856 2005-09-19 Wim Taymans <wim@fluendo.com>
21858 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
21859 Handle state change failure more correctly.
21861 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
21863 * check/Makefile.am:
21864 * check/pipelines/cleanup.c: (run_pipeline):
21865 * check/pipelines/simple_launch_lines.c: (run_pipeline),
21867 enable cleanup again after fixing the leak
21869 some more info on docs
21871 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
21873 * check/Makefile.am:
21874 re-enable tests now that leaks are plugged
21876 * check/gst/gstbin.c:
21877 * check/gst/gstpipeline.c:
21878 add some more tests while fixing leaks
21879 * common/check.mak:
21880 make sure binaries are uptodate when valgrinding/gdbing
21882 * gst/gstelementfactory.c:
21883 remove a ref too many, and add a FIXME for when we get
21884 round to disposing of classes
21886 fix the refcounting when loading a plugin from a file and
21887 the code pretends that the pointer is the same even though
21888 of course it can change
21889 * gst/gstpluginfeature.c:
21890 unref plugins marked cached (a bit confusing as a name)
21891 as the docs state should be done
21892 various doc additions to explain refcounting
21893 * gst/gstregistry.c:
21894 * gst/gstregistryxml.c:
21897 2005-09-19 Wim Taymans <wim@fluendo.com>
21899 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21900 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21901 (send_messages), (GST_START_TEST), (gstbus_suite):
21902 * check/gst/gstpipeline.c: (GST_START_TEST):
21903 * check/pipelines/cleanup.c: (run_pipeline):
21904 * check/pipelines/simple_launch_lines.c: (run_pipeline),
21906 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
21907 (gst_bus_source_check), (gst_bus_source_dispatch),
21908 (gst_bus_create_watch), (gst_bus_add_watch_full),
21909 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
21911 * tools/gst-launch.c: (event_loop):
21912 * tools/gst-md5sum.c: (event_loop):
21913 GstBusHandler -> GstBusFunc, return value has the same meaning as
21914 any other GSource (FALSE == remove source).
21915 _add_watch() and _add_watch_full() now take a MessageType mask to
21916 only handle specific types of messages.
21917 _poll() returns the GstMessage instead of the message type to avoid
21919 _have_pending() takes a MessageType mask now too.
21920 Added testsuite for multiple bus watches.
21921 Fix testsuites and applications for new bus API.
21923 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
21925 * check/Makefile.am:
21926 mark a bunch of the tests as to fix until we fix them
21928 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
21930 * common/check.mak:
21931 use GST_PLUGIN settings for valgrind tests as well, so we're
21932 valgrinding the correct thing
21933 * gst/gst.c: (init_post):
21936 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
21938 * gst/gst.c: (init_post), (gst_deinit):
21939 * gst/gstelementfactory.c: (gst_element_factory_class_init),
21940 (gst_element_factory_finalize), (gst_element_factory_cleanup):
21941 * gst/gstindex.c: (gst_index_factory_class_init),
21942 (gst_index_factory_finalize):
21943 * gst/gstobject.c: (gst_object_dispose):
21944 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
21945 (gst_plugin_load_file), (gst_plugin_desc_free):
21946 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
21947 (gst_plugin_feature_finalize):
21948 * gst/gstregistry.c: (gst_registry_class_init),
21949 (gst_registry_init), (gst_registry_finalize),
21950 (gst_registry_get_default), (gst_registry_deinit):
21951 * gst/gstregistry.h:
21952 * gst/gstregistryxml.c: (load_feature), (load_plugin):
21953 various cleanups and memleak plugging. make valgrind is happy now.
21955 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
21957 * common/check.mak:
21958 add a check-valgrind target
21960 2005-09-18 David Schleef <ds@schleef.org>
21962 * tools/gst-inspect.c: Revert the GOption code.
21964 2005-09-17 David Schleef <ds@schleef.org>
21966 * check/Makefile.am: Fix environment variables.
21967 * check/gst/gstplugin.c: Fix for API changes.
21968 * tools/gst-inspect.c: Fix for API changes.
21969 * tools/gst-xmlinspect.c: Fix for API changes.
21970 * gst/gstelementfactory.c:
21973 * gst/gstpluginfeature.c:
21974 * gst/gstpluginfeature.h:
21975 * gst/gstregistry.c:
21976 * gst/gstregistry.h:
21977 * gst/gstregistryxml.c:
21978 * gst/gsttypefind.c:
21979 * gst/gsttypefindfactory.c:
21980 * gst/indexers/gstfileindex.c:
21981 * gst/indexers/gstmemindex.c:
21982 * gst/schedulers/Makefile.am:
21983 Change registry to keep track of both plugins and features,
21984 removing the feature tracking from plugins themselves.
21986 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
21988 * check/Makefile.am:
21989 * tools/gst-register.1.in:
21990 remove gst-register
21992 2005-09-15 David Schleef <ds@schleef.org>
21994 * check/gst/gstplugin.c:
21995 * gst/gstelementfactory.c:
21997 * gst/gstpluginfeature.c:
21998 * gst/gstregistry.c:
21999 Getting tired of debugging. Disabled all the unreffing of
22000 plugins and features, which fixes the segfaults, but of
22001 course leaks like crazy. At least playbin works.
22003 2005-09-15 David Schleef <ds@schleef.org>
22005 * check/gst/gstplugin.c: (register_check_elements),
22006 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
22008 * gst/elements/gsttypefindelement.c: Fix refcounting.
22009 * gst/gsttypefind.c:
22010 * gst/gsttypefindfactory.c:
22011 * gst/gsttypefindfactory.h:
22013 2005-09-15 David Schleef <ds@schleef.org>
22015 * gst/gstindex.c: get refcounting correct.
22016 * gst/gstregistry.c: Handle the case where a feature/plugin is
22019 2005-09-15 David Schleef <ds@schleef.org>
22021 * check/Makefile.am:
22022 * check/gst/gstplugin.c: Add test
22023 * gst/gstplugin.c: Fix problems noticed by testsuite
22025 * gst/gstregistry.c:
22026 * gst/gstregistry.h:
22028 2005-09-15 David Schleef <ds@schleef.org>
22030 * gst/gstplugin.c: Implement semi-decent recounting and locking
22031 in plugins and plugin features.
22033 * gst/gstpluginfeature.c:
22034 * gst/gstpluginfeature.h:
22035 * gst/gstregistry.c:
22037 2005-09-15 Michael Smith <msmith@fluendo.com>
22039 * gst/gstregistry.c: (gst_registry_get_feature_list):
22040 Implement this. Makes oggdemux work; decodebin still broken.
22042 2005-09-14 David Schleef <ds@schleef.org>
22044 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
22046 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
22047 * gst/check/Makefile.am:
22048 * libs/gst/controller/Makefile.am:
22049 * libs/gst/dataprotocol/Makefile.am:
22051 2005-09-14 David Schleef <ds@schleef.org>
22053 * configure.ac: Remove getbits library. Nothing uses it, and
22054 it should be in something like liboil if someone did want
22056 * libs/gst/Makefile.am:
22057 * libs/gst/getbits/Makefile.am:
22058 * libs/gst/getbits/gbtest.c:
22059 * libs/gst/getbits/getbits.c:
22060 * libs/gst/getbits/getbits.h:
22061 * libs/gst/getbits/gstgetbits_generic.c:
22062 * libs/gst/getbits/gstgetbits_i386.s:
22063 * libs/gst/getbits/gstgetbits_inl.h:
22065 2005-09-14 David Schleef <ds@schleef.org>
22067 * gst/Makefile.am: Dist glib-compat.h
22069 2005-09-14 David Schleef <ds@schleef.org>
22071 * configure.ac: Remove gst/registries, since it's no longer used.
22072 * gst/registries/Makefile.am:
22073 * gst/registries/gstlibxmlregistry.c:
22074 * gst/registries/gstlibxmlregistry.h:
22075 * gst/registries/gstxmlregistry.c:
22076 * gst/registries/gstxmlregistry.h:
22077 * gst/registries/registrytest.c:
22079 2005-09-14 David Schleef <ds@schleef.org>
22081 * gst/glib-compat.h:
22082 * gst/gstregistryxml.c:
22083 Convergence is near. Seriously.
22085 2005-09-14 David Schleef <ds@schleef.org>
22087 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22088 * gst/glib-compat.h:
22089 Attempt #4 to appease the buildbots.
22091 2005-09-14 David Schleef <ds@schleef.org>
22093 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22096 2005-09-14 David Schleef <ds@schleef.org>
22098 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22101 2005-09-14 David Schleef <ds@schleef.org>
22103 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
22106 2005-09-14 David Schleef <ds@schleef.org>
22108 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22109 * gst/glib-compat.h: Add some functions that are in newer versions
22110 of glib than we care to require.
22111 * gst/gstregistryxml.c: Use them.
22113 2005-09-14 David Schleef <ds@schleef.org>
22115 * po/POTFILES.in: remove gst-register.c
22117 2005-09-14 David Schleef <ds@schleef.org>
22119 * docs/gst/gstreamer-docs.sgml:
22120 * docs/gst/gstreamer-sections.txt:
22121 * docs/gst/gstreamer.types:
22122 * docs/gst/tmpl/gstelement.sgml:
22123 * docs/gst/tmpl/gstplugin.sgml:
22124 * docs/gst/tmpl/gstpluginfeature.sgml:
22125 Documentation updates for registry changes.
22127 2005-09-14 David Schleef <ds@schleef.org>
22129 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
22130 because we don't require glib-2.8.
22132 2005-09-14 David Schleef <ds@schleef.org>
22134 * gst/gstregistryxml.c: Added. Essentially moved out of the
22135 registries directory.
22137 2005-09-14 David Schleef <ds@schleef.org>
22139 * check/Makefile.am:
22140 * check/generic/states.c:
22144 * gst/gst_private.h:
22145 * gst/gstelementfactory.c:
22150 * gst/gstpluginfeature.c:
22151 * gst/gstpluginfeature.h:
22152 * gst/gstregistry.c:
22153 * gst/gstregistry.h:
22154 * gst/gstregistrypool.c: remove
22155 * gst/gstregistrypool.h: remove
22156 * gst/gsttypefind.c:
22157 * gst/gsttypefindfactory.c:
22159 * tools/Makefile.am:
22160 * tools/gst-compprep.c:
22161 * tools/gst-inspect.c:
22162 * tools/gst-register.c: remove
22163 * tools/gst-xmlinspect.c:
22164 Registry rewrite. Changes registry from being a file created
22165 by a tool into a simple cache file created automatically by
22166 libgstreamer. Removed gst-register (because it's no longer
22167 needed). Remove registry pools, because we only have one
22168 registry implementation (XML). Fix up other subsystems as
22171 2005-09-13 Michael Smith <msmith@fluendo.com>
22173 * gst/gstconfig.h.in:
22174 Don't Use windows linking attributes for MinGW. Fixes #316157
22176 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
22178 * gst/gstutils.c: (set_state_async_thread_func),
22179 (gst_element_set_state_async):
22180 Apparently people think it's better if this function doesn't
22181 try to set the state to whatever state was asked for on the first
22182 call to this function for any object. Seriously.
22184 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
22186 * check/gst/gstpipeline.c: (GST_START_TEST):
22187 * docs/gst/gstreamer-sections.txt:
22188 * gst/gstutils.c: (set_state_async_thread_func),
22189 (gst_element_set_state_async):
22191 add a "gst_element_set_state_async" method that
22192 sets the state and starts a thread to make sure the state
22193 change completes as best as it can
22195 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
22197 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22198 codify design+behaviour in testsuite after discussion
22200 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
22202 * docs/gst/tmpl/gstelement.sgml:
22203 * docs/manual/appendix-quotes.xml:
22205 * gst/gstelement.c: (gst_element_set_state):
22208 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
22210 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22211 (gst_base_transform_prepare_output_buf),
22212 (gst_base_transform_handle_buffer):
22213 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
22214 (gst_capsfilter_prepare_buf):
22215 Remove the requirement for sub-classes to call the parent
22216 implementation of prepare_output_buffer with a wrapper function.
22218 * gst/gsttaglist.h:
22219 * gst/gsttagsetter.h:
22220 Fix #define wrapper
22222 2005-09-11 Stefan Kost <ensonic@users.sf.net>
22224 * docs/gst/gstreamer-sections.txt:
22227 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
22229 * docs/gst/gstreamer-sections.txt:
22230 * docs/gst/tmpl/gstelement.sgml:
22231 * docs/gst/tmpl/gstplugin.sgml:
22232 * gst/gstminiobject.c:
22234 docs now stop throwing warnings
22236 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
22238 * docs/gst/gstreamer-sections.txt:
22239 * docs/gst/gstreamer.types:
22240 * docs/gst/tmpl/gstpad.sgml:
22241 * docs/gst/tmpl/gsttypes.sgml:
22242 * gst/base/gstadapter.h:
22243 * gst/base/gstbasesink.h:
22244 * gst/base/gstbasesrc.h:
22250 * gst/gstelement.h:
22252 * gst/gstmessage.h:
22254 * gst/gststructure.c:
22255 * gst/registries/gstlibxmlregistry.h:
22256 various documentation fixes
22258 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
22260 * docs/gst/gstreamer-sections.txt:
22261 * docs/gst/tmpl/gstvalue.sgml:
22262 rearrange gstvalue section
22263 * gst/gstutils.c: (gst_element_state_get_name):
22265 * gst/gstvalue.c: (_gst_value_initialize):
22269 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
22271 * check/gst-libs/controller.c:
22272 Header include fix.
22273 * gst/base/gstbasetransform.c:
22274 (gst_base_transform_default_prepare_buf),
22275 (gst_base_transform_handle_buffer):
22276 * gst/base/gstbasetransform.h:
22277 Some more basetransform changes and fixes to enable sub-classes
22278 that modify buffer metadata only.
22279 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
22280 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
22281 (gst_capsfilter_prepare_buf):
22282 If the output pad has fixed allowed caps and input buffers
22283 don't have any, set the fixed caps on outgoing buffers.
22285 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
22286 * check/elements/identity.c: (GST_START_TEST):
22287 Make the error a little clearer when the test fails because
22288 identity made a copy of the buffer.
22289 * docs/gst/gstreamer-sections.txt:
22290 New symbols in gstbasetransform.h
22291 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22292 (gst_base_transform_init), (gst_base_transform_transform_size),
22293 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22294 (gst_base_transform_default_prepare_buf),
22295 (gst_base_transform_get_unit_size),
22296 (gst_base_transform_buffer_alloc),
22297 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
22298 (gst_base_transform_change_state),
22299 (gst_base_transform_set_passthrough),
22300 (gst_base_transform_set_in_place),
22301 (gst_base_transform_is_in_place):
22302 * gst/base/gstbasetransform.h:
22303 Change BaseTransform to separate in_place operate from same_caps
22304 output. in_place implies that the element can perform the transform
22305 on incoming buffers in-place, even if the caps on the output are
22307 Sub-class elements can now implement special buffer allocation
22308 methods for outgoing buffers if they wish to.
22309 Big documentation addition.
22310 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
22311 * gst/elements/gstelements.c:
22312 Changes for basetransform modifications.
22313 * gst/elements/Makefile.am:
22314 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
22315 Compile fix. Extra debug output.
22317 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
22319 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
22321 add tests for valid pad naming
22322 * gst/check/gstcheck.c: (gst_check_log_message_func),
22323 (gst_check_log_critical_func):
22325 remove printing of code, it is fragile when the code contains
22326 % and the line number is enough info
22327 * gst/check/gstcheck.h:
22328 * gst/gstpad.c: (gst_pad_template_new):
22331 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
22334 say what CHECK flags we use
22335 * docs/libs/gstreamer-libs.types:
22336 * libs/gst/controller/Makefile.am:
22337 * libs/gst/controller/gst-controller.c:
22338 * libs/gst/controller/gst-controller.h:
22339 * libs/gst/controller/gst-helper.c:
22340 * libs/gst/controller/gst-interpolation.c:
22341 * libs/gst/controller/gstcontroller.c:
22342 * libs/gst/controller/gsthelper.c:
22343 * libs/gst/controller/gstinterpolation.c:
22344 * tools/gst-inspect.c: (print_plugin_info):
22345 we don't use dashes in header names
22347 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
22349 * check/Makefile.am:
22350 * check/gst/.cvsignore:
22351 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
22352 (gst_pipeline_suite), (main):
22353 adding a test for pipelines and state changes
22354 * gst/gstutils.c: (get_state_func):
22356 * gstreamer.spec.in:
22359 2005-09-08 Michael Smith <msmith@fluendo.com>
22361 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
22362 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
22363 (gst_file_src_is_seekable), (gst_file_src_get_size),
22364 (gst_file_src_start):
22365 * gst/elements/gstfilesrc.h:
22366 Various fixes for unseekable, unmmapable, and non-normal files, so
22367 that fallback to read() rather than mmap() works.
22368 * gst/gstevent.c: (gst_event_new_newsegment):
22369 Allow newsegment events with segment_start == segment_end, as will
22370 correctly happen if you use filesrc on a zero-size file, for
22373 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
22375 * gst/gstplugin.c: (gst_plugin_load_file):
22376 Call g_module_close when we don't load the module
22378 * gst/registries/gstlibxmlregistry.c:
22379 (gst_xml_registry_get_property):
22380 Port leak fix from 0.8
22382 2005-09-07 Stefan Kost <ensonic@users.sf.net>
22384 * docs/gst/gstreamer-docs.sgml:
22385 * docs/gst/tmpl/.cvsignore:
22386 * docs/gst/tmpl/gsttrace.sgml:
22387 * docs/gst/tmpl/gsttrashstack.sgml:
22390 * gst/gstelement.h:
22392 * gst/gstmessage.c:
22393 * gst/gstmessage.h:
22396 * gst/gsttaginterface.c:
22397 * gst/gsttaginterface.h:
22398 * gst/gsttaglist.c:
22399 * gst/gsttaglist.h:
22400 * gst/gsttagsetter.c:
22401 * gst/gsttagsetter.h:
22404 * gst/gsttrashstack.c:
22405 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
22406 inlined docs for gsttrace, gsttrashstack
22408 2005-09-07 Stefan Kost <ensonic@users.sf.net>
22411 * gst/elements/gstbufferstore.h:
22412 * gst/elements/gsttypefindelement.c:
22413 * gst/elements/gsttypefindelement.h:
22415 * gst/gsttypefind.c:
22416 * gst/gsttypefind.h:
22417 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
22418 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
22419 (gst_type_find_factory_dispose),
22420 (gst_type_find_factory_unload_thyself),
22421 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
22422 (gst_type_find_factory_get_caps),
22423 (gst_type_find_factory_get_extensions),
22424 (gst_type_find_factory_call_function):
22425 * gst/gsttypefindfactory.h:
22426 * gst/registries/gstlibxmlregistry.c:
22427 * gst/registries/gstxmlregistry.c:
22428 splitted gsttypefind into gsttypefind, gsttypefindfactory
22430 2005-09-07 Andy Wingo <wingo@pobox.com>
22432 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
22433 condition whereby the pad's task function is entered before the
22434 pad_mode variable was set.
22436 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
22438 * gst/gstpad.c: (gst_pad_alloc_buffer):
22439 Catch misbehaving pad_alloc functions that don't
22440 set up caps and do it for them.
22442 2005-09-07 Stefan Kost <ensonic@users.sf.net>
22444 * check/pipelines/simple_launch_lines.c: (run_pipeline):
22445 test for pipe!=NULL
22446 * docs/gst/tmpl/.cvsignore:
22447 * docs/gst/tmpl/gstmemchunk.sgml:
22448 * docs/gst/tmpl/gstparse.sgml:
22449 * docs/gst/tmpl/gsttaglist.sgml:
22450 * docs/gst/tmpl/gsttagsetter.sgml:
22451 * docs/gst/tmpl/gsttypefind.sgml:
22452 * docs/gst/tmpl/gsttypefindfactory.sgml:
22453 * gst/gstmemchunk.c:
22456 * gst/gsttaginterface.c:
22457 * gst/gsttypefind.c:
22458 * gst/gsttypefind.h:
22461 === release 0.9.2 ===
22463 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
22468 releasing 0.9.2, "South"
22470 2005-09-05 Andy Wingo <wingo@pobox.com>
22472 * gst/registries/gstxmlregistry.h:
22473 * gst/registries/gstxmlregistry.c: Um... resurrect...
22475 * gst/registries/gstxmlregistry.h:
22476 * gst/registries/gstxmlregistry.c: and update to newer API.
22477 Incidentally they should be a bit faster now that they don't have
22480 2005-09-05 Andy Wingo <wingo@pobox.com>
22482 * gst/registries/gstxmlregistry.h:
22483 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
22484 replaced by the libxml registry a while back
22486 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
22488 * docs/gst/tmpl/gstplugin.sgml:
22489 * gst/elements/gstelements.c:
22491 * gst/gstplugin.c: (gst_plugin_register_func),
22492 (gst_plugin_desc_copy), (gst_plugin_desc_free),
22493 (gst_plugin_get_source):
22495 * gst/registries/gstlibxmlregistry.c: (load_plugin),
22496 (gst_xml_registry_save_plugin):
22497 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
22498 (gst_xml_registry_save_plugin):
22499 * tools/gst-inspect.c: (print_plugin_info):
22500 add a "source" plugin description field, to represent the source
22501 module this plugin is a part of. By default GST_PLUGIN_DEFINE
22502 will set it to PACKAGE, which is automake's idea of the name of
22503 the source project.
22505 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
22510 * docs/Makefile.am:
22511 * docs/faq/Makefile.am:
22512 * docs/gst/tmpl/gstelement.sgml:
22513 * docs/gst/tmpl/gsttypes.sgml:
22514 * docs/htmlinstall.mak:
22515 * docs/manual/Makefile.am:
22516 * docs/pwg/Makefile.am:
22517 reorganize doc build a little
22518 split out docbook and gtk-doc stuff
22519 have two separate --enable's and enable them through autogen
22520 but disable by default in configure (to be similar to other
22522 * gstreamer.spec.in:
22523 clean up docs install
22541 translation updates
22543 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
22545 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
22548 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22549 (gst_fake_sink_change_state):
22550 Make state change function thread-safe.
22552 * gst/gstpad.c: (gst_pad_alloc_buffer):
22553 Set offset on generic buffer allocated by fallback.
22555 2005-09-03 Stefan Kost <ensonic@users.sf.net>
22557 * docs/gst/gstreamer-sections.txt:
22558 * docs/gst/tmpl/gstelement.sgml:
22560 * libs/gst/controller/gst-controller.c:
22561 (gst_controlled_property_set_interpolation_mode),
22562 (gst_controlled_property_new),
22563 (gst_controller_find_controlled_property):
22564 run the wingo-magic script against the docs
22566 2005-09-02 Stefan Kost <ensonic@users.sf.net>
22568 * docs/gst/gstreamer-docs.sgml:
22569 * docs/gst/gstreamer-sections.txt:
22570 * docs/gst/tmpl/.cvsignore:
22571 * docs/gst/tmpl/gstelementdetails.sgml:
22572 * docs/gst/tmpl/gstelementfactory.sgml:
22575 * gst/gstelementfactory.c:
22576 * gst/gstelementfactory.h:
22577 merged elementdetails docs into elementfactory docs
22580 2005-09-02 Andy Wingo <wingo@pobox.com>
22582 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
22583 consider this enum an enum and not a flags.
22585 2005-09-02 Stefan Kost <ensonic@users.sf.net>
22587 * docs/gst/gstreamer-docs.sgml:
22588 * docs/gst/tmpl/.cvsignore:
22589 * docs/gst/tmpl/gstghostpad.sgml:
22590 * docs/gst/tmpl/gstiterator.sgml:
22591 * docs/gst/tmpl/gstmacros.sgml:
22592 * docs/gst/tmpl/gstrealpad.sgml:
22593 * docs/gst/tmpl/gstregistry.sgml:
22594 * docs/gst/tmpl/gstregistrypool.sgml:
22595 * docs/gst/tmpl/gststructure.sgml:
22596 * docs/gst/tmpl/gstsystemclock.sgml:
22597 * docs/gst/tmpl/gsttrace.sgml:
22598 * gst/gstghostpad.c:
22600 * gst/gstmemchunk.c:
22601 * gst/gstmemchunk.h:
22603 * gst/gstregistry.c:
22604 * gst/gstregistrypool.c:
22605 * gst/gststructure.c:
22606 * gst/gstsystemclock.c:
22609 2005-09-02 Andy Wingo <wingo@pobox.com>
22611 * gst/gstelement.h (GstState): Renamed from GstElementState,
22612 changed to be a normal enum instead of flags.
22613 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
22614 munged to be GST_STATE_CHANGE_*.
22615 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
22616 work with the new state representation.
22617 (GstStateChange): New enumeration of possible state transitions.
22618 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
22619 (GstElementClass::change_state): Pass the GstStateChange along as
22620 an argument. Helps language bindings, so they don't have to use
22621 tricky lock-needing macros like GST_STATE_CHANGE ().
22623 * scripts/update-states (file): New script. Run it on a file to
22624 update it for state naming and API changes. Updates files in
22627 * All files updated for the new API.
22629 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
22631 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
22632 * gst/gstutils.c: (gst_util_set_value_from_string),
22633 (gst_util_set_object_arg):
22634 fix a bunch of unchecked return values
22635 * tools/gst-complete.c: (main):
22636 * gstreamer.spec.in:
22639 2005-09-01 Wim Taymans <wim@fluendo.com>
22641 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22642 (gst_base_sink_event), (gst_base_sink_do_sync),
22643 (gst_base_sink_handle_event):
22644 * gst/base/gstbasesink.h:
22645 Handle newsegments more correctly.
22650 * gst/gstevent.c: (gst_event_new_newsegment):
22651 A newsegment cannot have a start_time of -1
22653 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
22655 * win32/gstenumtypes.c:
22656 * win32/gstenumtypes.h:
22659 2005-08-31 Stefan Kost <ensonic@users.sf.net>
22661 * libs/gst/controller/gst-controller.c:
22662 (gst_controlled_property_set_interpolation_mode),
22663 (gst_controlled_property_new):
22664 fixed boolean again
22666 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
22668 * docs/faq/gst-uninstalled:
22673 * gst/gstutils.c: (gst_element_link_filtered):
22675 add gst_element_link_filtered
22677 2005-08-31 Stefan Kost <ensonic@users.sf.net>
22679 * docs/gst/gstreamer-docs.sgml:
22680 * docs/gst/gstreamer-sections.txt:
22681 * docs/gst/tmpl/.cvsignore:
22682 * docs/gst/tmpl/gsterror.sgml:
22683 * docs/gst/tmpl/gstfilter.sgml:
22684 * docs/gst/tmpl/gsturihandler.sgml:
22685 * docs/gst/tmpl/gsturitype.sgml:
22686 * docs/gst/tmpl/gstutils.sgml:
22687 * docs/gst/tmpl/gstxml.sgml:
22692 * gst/gsturitype.c:
22695 inlined more docs, fixed double id-ref
22697 2005-08-31 Wim Taymans <wim@fluendo.com>
22699 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22700 (gst_base_transform_handle_buffer):
22701 Passthrough elements don't need the caps as they don't care.
22703 2005-08-31 Wim Taymans <wim@fluendo.com>
22705 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22706 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
22707 Don't leak refcounts on buffers.
22709 2005-08-31 Wim Taymans <wim@fluendo.com>
22711 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
22712 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22713 (gst_base_transform_chain), (gst_base_transform_change_state):
22714 * gst/base/gstbasetransform.h:
22715 Handle the case where we are not negotiated more gracefully.
22717 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
22719 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
22720 (gst_file_src_map_region):
22721 Set READONLY flag on mmap'ed buffers, otherwise
22722 gst_buffer_make_writable() won't work properly (#314708).
22724 2005-08-31 Wim Taymans <wim@fluendo.com>
22726 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
22727 passthrough elements can even do inplace on non writable
22728 buffers (as they don't touch them).
22730 2005-08-31 Stefan Kost <ensonic@users.sf.net>
22732 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22733 (gst_test_mono_source_set_property),
22734 (gst_test_mono_source_class_init), (GST_START_TEST),
22735 (gst_controller_suite):
22736 more tests (hehe I have the most)
22738 describe popping messages whenusing mulltiple sources
22739 * libs/gst/controller/gst-controller.c:
22740 (gst_controlled_property_set_interpolation_mode),
22741 (gst_controlled_property_new):
22742 * libs/gst/controller/gst-controller.h:
22743 * libs/gst/controller/gst-interpolation.c:
22744 implement boolean properties
22746 2005-08-31 Wim Taymans <wim@fluendo.com>
22748 * gst/gstminiobject.c: (gst_mini_object_ref):
22749 Cannot assert that the refcount has to be positive
22750 since a disposed object can be resurrected.
22752 2005-08-31 Wim Taymans <wim@fluendo.com>
22754 * gst/gstpad.c: (gst_pad_init):
22755 Revert change, need to first fix badly behaving
22758 2005-08-30 Wim Taymans <wim@fluendo.com>
22760 * check/elements/fakesrc.c: (setup_fakesrc):
22761 * check/elements/identity.c: (setup_identity):
22762 Activate pads before using them.
22764 2005-08-30 Wim Taymans <wim@fluendo.com>
22766 * gst/base/gstadapter.c: (gst_adapter_flush):
22767 Flushing out 0 bytes is ok for this function.
22769 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22770 no newsegment gives a warning and sets the start/stop to
22773 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
22774 (gst_base_transform_set_passthrough):
22777 * gst/gstminiobject.c: (gst_mini_object_ref):
22778 Check refcount here too.
22780 * gst/gstpad.c: (gst_pad_init):
22781 Pads are initially flushing and refusing data.
22783 * gst/gstutils.c: (gst_element_link_pads_filtered):
22784 When adding a capsfilter element make sure it has the
22785 same state as the parent bin.
22787 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22789 * docs/gst/tmpl/.cvsignore:
22790 * docs/gst/tmpl/gstformat.sgml:
22791 * docs/gst/tmpl/gstversion.sgml:
22795 * gst/gstversion.h.in:
22796 more docs and two more inlined
22798 2005-08-30 Wim Taymans <wim@fluendo.com>
22800 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
22801 Don't sync to clock.
22803 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22805 * docs/gst/gstreamer-sections.txt:
22806 ultral33t func10ns deserve to appear in the docs actually
22807 * docs/gst/tmpl/.cvsignore:
22808 * docs/gst/tmpl/gstcompat.sgml:
22809 * docs/gst/tmpl/gstconfig.sgml:
22810 * gst/check/gstcheck.c:
22812 * gst/gstconfig.h.in:
22815 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22817 * docs/gst/tmpl/.cvsignore:
22818 * docs/gst/tmpl/gstquery.sgml:
22819 * docs/gst/tmpl/gstutils.sgml:
22822 inlined and extended docs
22824 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22826 * check/gst-libs/controller.c: (GST_START_TEST),
22827 (gst_controller_suite):
22829 * docs/gst/tmpl/gstutils.sgml:
22830 * docs/libs/gstreamer-libs-sections.txt:
22831 * docs/libs/tmpl/gstdataprotocol.sgml:
22833 * examples/controller/audio-example.c: (main):
22834 controller example works now
22837 * tools/gst-inspect.c: (print_element_properties_info):
22838 show param spec flags
22840 2005-08-29 Andy Wingo <wingo@pobox.com>
22842 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
22844 2005-08-28 Andy Wingo <wingo@pobox.com>
22846 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
22847 as having two arguments instead of just one. Allows superclasses
22848 to access information on subclasses -- see the terrible for() loop
22849 in gtype.c:g_type_create_instance for the reason why. All callers
22852 2005-08-27 Stefan Kost <ensonic@users.sf.net>
22854 * docs/design/part-messages.txt:
22856 * docs/gst/tmpl/.cvsignore:
22857 * docs/gst/tmpl/gstcaps.sgml:
22858 * docs/gst/tmpl/gstclock.sgml:
22864 * gst/gstmessage.c:
22865 added descriptions for bus and message
22866 inline caps and clock docs
22868 2005-08-27 Stefan Kost <ensonic@users.sf.net>
22870 * gst/gstmessage.c:
22871 * gst/gstmessage.h:
22874 2005-08-27 Stefan Kost <ensonic@users.sf.net>
22876 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22879 2005-08-26 Andy Wingo <wingo@pobox.com>
22881 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
22882 element_set_state's return val.
22883 (test_2_elements): Add test that's been disabled for months.
22885 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
22886 can-activate-pull properties.
22888 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
22889 can-activate-pull properties. Implement is_seekable so fakesrc can
22890 operate in pull mode.
22892 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
22894 (gst_base_sink_activate, gst_base_sink_activate_pull)
22895 (gst_base_sink_activate_push): Make activation mode choosing work.
22897 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
22898 is right. Make pull mode work. Post an eos before pausing in pull
22900 (gst_base_sink_change_state): Pay attention to the core's
22901 change_state() return val.
22903 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
22904 has-getrange properties. Cleanups.
22906 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
22907 has_getrange and replace with can_activate_pull and
22910 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
22911 locking comments. Remove has_loop, has_chain and replace with
22912 can_activate_pull and can_activate_push.
22914 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
22917 * examples/Makefile.am:
22918 * examples/metadata/Makefile.am:
22919 * examples/metadata/read-metadata.c: (message_loop),
22920 (have_pad_handler), (make_pipeline), (print_tag), (main):
22921 Add metadata reading example that loops over a list of filenames,
22922 dumping any tags found.
22924 * gst/gstbus.c: (gst_bus_dispose):
22925 * gst/gstelement.c: (gst_element_dispose):
22926 Release a few potentially-held references in dispose.
22928 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22930 * docs/gst/tmpl/gstminiobject.sgml:
22931 do *not* add tmpl/*.sgml files to CVS!
22933 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22935 * libs/gst/bytestream/.cvsignore:
22936 * libs/gst/bytestream/Makefile.am:
22937 * libs/gst/bytestream/adapter.c:
22938 * libs/gst/bytestream/adapter.h:
22939 * libs/gst/bytestream/bytestream.c:
22940 * libs/gst/bytestream/bytestream.h:
22941 * libs/gst/bytestream/filepad.c:
22942 * libs/gst/bytestream/filepad.h:
22943 removing obsolete files
22945 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22947 * docs/gst/gstreamer-docs.sgml:
22948 * docs/libs/gstreamer-libs-docs.sgml:
22949 disabed additional index entries again, as this makes docs-gen just
22950 slow and they aren't useful yet
22951 * docs/libs/gstreamer-libs-sections.txt:
22952 little -section.txt cleanup for libs
22954 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
22956 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22957 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
22958 fix up some debugging
22959 (gst_base_transform_get_unit_size),
22960 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22961 (gst_base_transform_handle_buffer):
22962 * gst/base/gstbasetransform.h:
22963 handle and store timed NEWSEGMENT events so that subclasses that
22964 calculate time by counting samples have a segment_start time they
22965 need to add to their timestamps - see audioresample
22967 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22970 removed ';' from the end of macro defs
22971 * docs/gst/gstreamer-docs.sgml:
22972 * docs/gst/gstreamer-sections.txt:
22973 * docs/gst/tmpl/.cvsignore:
22975 * gst/gstelement.c: (gst_element_class_init),
22976 (gst_element_set_state), (activate_pads),
22977 (gst_element_save_thyself):
22978 * gst/gstevent.c: (gst_event_new_newsegment):
22980 * gst/gstiterator.c:
22981 * gst/gstiterator.h:
22984 * gst/gstutils.c: (gst_pad_query_convert):
22986 fixed parameter name mismatches between source, header and docs
22987 added some more docs, resolved the last batch of unused elements in
22988 docs (now someone needs to doc them)
22990 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
22992 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
22993 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
22994 don't walk through the plugins backwards. Where is all this
22995 reversed logic coming from ?
22997 2005-08-25 Wim Taymans <wim@fluendo.com>
22999 * gst/base/gstbasetransform.c: (gst_base_transform_init),
23000 (gst_base_transform_transform_size),
23001 (gst_base_transform_configure_caps),
23002 (gst_base_transform_get_unit_size),
23003 (gst_base_transform_buffer_alloc),
23004 (gst_base_transform_change_state):
23005 * gst/base/gstbasetransform.h:
23006 Cache caps unit_size.
23007 Make sure we cannot negotiate up and downstream at the
23010 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
23012 * gst/gst.c: (init_pre), (init_post):
23013 register the installed plugin path after the env var
23014 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
23015 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
23016 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
23017 directories, so the tests can prefer uninstalled over installed
23019 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
23021 * gst/base/gstbasetransform.h:
23026 2005-08-25 Wim Taymans <wim@fluendo.com>
23028 * gst/gstbin.c: (bin_bus_handler):
23029 Be a bit more conservative about the posted message.
23031 * gst/gstbus.c: (gst_bus_post):
23032 Some cleanups, warn wrong return values.
23034 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
23036 * check/gst/gstbin.c: (GST_START_TEST):
23037 * gst/gstbin.c: (bin_bus_handler):
23038 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23039 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23040 (gst_message_new_warning), (gst_message_new_tag),
23041 (gst_message_new_state_changed), (gst_message_new_segment_start),
23042 (gst_message_new_segment_done), (gst_message_new_custom):
23043 * gst/gstmessage.h:
23044 * tools/gst-launch.c: (event_loop):
23045 * tools/gst-md5sum.c: (event_loop):
23046 Revert unpopular change for GST_MESSAGE_SRC to GObject.
23048 2005-08-25 Wim Taymans <wim@fluendo.com>
23050 * check/generic/states.c: (GST_START_TEST):
23051 Cleanup can be done at the end.
23053 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
23054 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23055 (gst_task_get_state), (gst_task_start), (gst_task_pause):
23056 Oh boy.. Thanks for finding this, Thomas.
23058 2005-08-25 Stefan Kost <ensonic@users.sf.net>
23060 * docs/gst/gstreamer.types:
23061 added missing types
23063 2005-08-25 Stefan Kost <ensonic@users.sf.net>
23065 * docs/gst/gstreamer-docs.sgml:
23066 * docs/gst/gstreamer-sections.txt:
23067 * docs/gst/tmpl/.cvsignore:
23069 * gst/gstiterator.c:
23071 * gst/registries/gstxmlregistry.h:
23072 added missing classes and symbols (123 more to go)
23073 removed removed symbols from section file
23074 fixed many doc-comments
23076 2005-08-24 Wim Taymans <wim@fluendo.com>
23078 * check/generic/states.c: (GST_START_TEST):
23079 Make sure all tasks are stopped.
23081 * check/gst/gstbin.c: (GST_START_TEST):
23082 Unref after usage for proper valgrinding.
23084 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
23085 Really wait for the task to stop before destroying the
23088 * gst/gstqueue.c: (gst_queue_sink_activate_push),
23089 (gst_queue_src_activate_push):
23090 Small cleanups. Don't stop the task when we did not start
23093 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
23094 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23095 (gst_task_get_state), (gst_task_start), (gst_task_pause),
23098 Protect the stream lock with the object lock.
23099 Disallow setting the stream lock when running.
23100 Add cleanup_all to wait for the threadpool to finish.
23101 Remove code to autoallocate a mutex if none was provided.
23102 Add _join() to wait for a task to stop.
23103 Protect the thread pool with a global lock.
23105 2005-08-24 Wim Taymans <wim@fluendo.com>
23107 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23108 (gst_base_sink_get_times), (gst_base_sink_do_sync),
23109 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
23110 * gst/base/gstbasesink.h:
23111 Handle newsegment events correctly.
23112 Drop buffers out of the segment range.
23114 2005-08-22 Andy Wingo <wingo@pobox.com>
23116 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
23117 macro, implements an interface and gstimplementsinterface for a
23120 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
23122 * check/Makefile.am:
23123 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
23124 add a test that does a bunch of state changes on elements
23125 needs some fixing for valgrind
23126 * check/states/sinks.c: (gst_object_suite):
23129 add prototype for gst_caps_is_equal_fixed
23131 * gst/gstregistrypool.c:
23134 2005-08-24 Andy Wingo <wingo@pobox.com>
23136 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
23137 convert a negative value. Doesn't make much sense. Mostly this is
23138 here to force callers to ensure -1 maps to -1.
23140 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
23142 * docs/pwg/advanced-types.xml:
23143 Well done to Michael for catching my deliberate introduction
23144 of this spelling mistake.
23145 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
23146 * gst/gstelement.h:
23147 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
23148 unlink pads before removing the element from the bin.
23150 2005-08-24 Andy Wingo <wingo@pobox.com>
23152 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
23153 the same thing as GST_DEBUG=*:4.
23154 (parse_debug_level, parse_debug_category): New helper parsers.
23156 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
23158 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23159 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
23160 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
23161 (gst_base_transform_buffer_alloc),
23162 (gst_base_transform_handle_buffer):
23163 use gboolean return values and pointers to size so we can use the
23164 full GST_BUFFER_SIZE range (guint) for buffer sizes
23165 use GstPadDirection for transform_caps
23166 * gst/base/gstbasetransform.h:
23167 rename get_size to get_unit_size since that's what it is
23168 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
23169 use GstPadDirection for transform_caps
23170 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23172 cleanup and debugging
23174 2005-08-24 Stefan Kost <ensonic@users.sf.net>
23176 * gst/gstelement.c: (gst_element_class_init),
23177 (gst_element_set_state), (activate_pads),
23178 (gst_element_save_thyself):
23179 * tools/gst-compprep.c: (main):
23180 * tools/gst-inspect.c: (print_element_properties_info):
23181 * tools/gst-xmlinspect.c: (print_element_properties):
23182 Fixed long standing mem-leak
23184 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
23186 * check/gst/gstbin.c: (GST_START_TEST):
23187 * gst/gstbin.c: (bin_bus_handler):
23188 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23189 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23190 (gst_message_new_warning), (gst_message_new_tag),
23191 (gst_message_new_state_changed), (gst_message_new_segment_start),
23192 (gst_message_new_segment_done), (gst_message_new_custom):
23193 * gst/gstmessage.h:
23194 * tools/gst-launch.c: (event_loop):
23195 * tools/gst-md5sum.c: (event_loop):
23196 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
23197 that applications can sensibly post custom messages with references
23198 to their own objects.
23200 2005-08-24 Andy Wingo <wingo@pobox.com>
23202 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
23205 2005-08-24 Wim Taymans <wim@fluendo.com>
23207 * gst/base/gstbasetransform.c: (gst_base_transform_init),
23208 (gst_base_transform_transform_caps),
23209 (gst_base_transform_transform_size),
23210 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23211 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23212 (gst_base_transform_handle_buffer):
23213 * gst/base/gstbasetransform.h:
23214 Many fixes and new features added by Thomas. Can now also do
23215 transforms with variable sizes and a custom fixate_caps function.
23217 2005-08-24 Wim Taymans <wim@fluendo.com>
23219 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23223 Cast to ClockTime before formatting to time.
23228 2005-08-24 Stefan Kost <ensonic@users.sf.net>
23230 * check/gst-libs/controller.c: (GST_START_TEST),
23231 (gst_controller_suite):
23232 * docs/gst/tmpl/gstcaps.sgml:
23233 * docs/gst/tmpl/gstghostpad.sgml:
23234 * docs/gst/tmpl/gstquery.sgml:
23235 * docs/gst/tmpl/gstutils.sgml:
23236 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
23237 (gst_object_sink_values), (gst_object_get_value_arrays),
23238 (gst_object_get_value_array):
23239 gracefully handle helper method calls to objects that are not beeing
23240 controlled, added test case for that
23242 2005-08-23 Wim Taymans <wim@fluendo.com>
23244 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
23245 (gst_event_new_newsegment), (gst_event_parse_newsegment),
23246 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
23247 (gst_event_parse_qos), (gst_event_new_seek),
23248 (gst_event_parse_seek):
23250 Some more debugging output and doc cleanups.
23252 * gst/gstqueue.c: (gst_queue_handle_sink_event):
23253 Fix possible deadlock.
23255 2005-08-23 Stefan Kost <ensonic@users.sf.net>
23257 * docs/gst/gstreamer-docs.sgml:
23258 * docs/gst/gstreamer-sections.txt:
23259 * docs/gst/gstreamer.types:
23260 * docs/gst/tmpl/.cvsignore:
23263 * gst/gstelement.c:
23265 added 100 symbols from gstreamer-unused.txt to the right sections
23266 fixed more broken comments
23267 added GstBus to docs
23269 2005-08-23 Stefan Kost <ensonic@users.sf.net>
23271 * docs/gst/gstreamer-sections.txt:
23272 * docs/gst/tmpl/.cvsignore:
23273 * docs/gst/tmpl/gstbin.sgml:
23274 * docs/gst/tmpl/gstbuffer.sgml:
23275 * gst/base/gstbasesrc.c:
23276 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
23279 * tools/gst-launch.1.in:
23280 inlined more doc comments, added missing comments and fixed comments
23283 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
23285 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23289 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
23291 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
23292 * gst/gststructure.h:
23293 add a fixate function for booleans; add a FIXME that these func
23294 names should probably be gst_structure_fixate_*
23296 2005-08-23 Stefan Kost <ensonic@users.sf.net>
23298 * docs/gst/gstreamer-docs.sgml:
23299 * docs/gst/gstreamer-sections.txt:
23301 * gst/gstbin.c: (gst_bin_get_type),
23302 (gst_bin_child_proxy_get_child_by_index),
23303 (gst_bin_child_proxy_get_children_count),
23304 (gst_bin_child_proxy_init):
23305 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23306 (gst_child_proxy_get_child_by_index),
23307 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
23308 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
23309 (gst_child_proxy_get), (gst_child_proxy_set_property),
23310 (gst_child_proxy_set_valist), (gst_child_proxy_set),
23311 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
23312 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
23313 * gst/gstchildproxy.h:
23314 * gst/parse/grammar.y:
23315 * tools/gst-inspect.c: (print_interfaces),
23316 (print_element_properties_info), (print_element_info):
23317 ported gstchildproxy over from 0.8
23318 ported gst-inspect fixes and enhancements over from 0.8
23320 2005-08-22 Wim Taymans <wim@fluendo.com>
23322 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23323 (gst_base_transform_handle_buffer):
23324 Also call the transform function if we have ANY caps.
23326 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
23329 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
23331 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
23332 Don't pretend to handle seek events if the source is not seekable
23334 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
23336 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23337 Remove extra parameter to debug output
23339 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23340 (gst_base_src_do_seek), (gst_base_src_activate_push):
23341 Fix seek event handling.
23343 * gst/gstpipeline.c: (gst_pipeline_change_state):
23344 * gst/gstqueue.c: (gst_queue_handle_sink_event),
23345 (gst_queue_src_activate_push):
23346 Don't start the src pad task on FLUSH_STOP if the pad
23350 2005-08-22 Wim Taymans <wim@fluendo.com>
23352 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
23353 Added check for gst_static_caps_get() refcounting.
23355 2005-08-22 Wim Taymans <wim@fluendo.com>
23357 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
23358 Make _static_caps_get() refcounting sane.
23360 * gst/gstelement.c: (gst_element_set_state):
23361 Add g_return_val_if_fail() to protect against segfaults.
23363 2005-08-22 Stefan Kost <ensonic@users.sf.net>
23365 * docs/gst/tmpl/gstevent.sgml:
23368 inlined remaining docs, added missing doc comments
23370 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
23372 * check/gst/gstbin.c: (GST_START_TEST):
23373 since we don't know when preroll is done, use refcount range
23375 * gst/check/gstcheck.h:
23376 add macro for checking refcount range
23378 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
23380 * check/Makefile.am:
23381 clean up environment for when registry gets built versus
23382 when actual tests are run; valgrind seems to not report
23383 leaks if GST_PLUGIN_PATH is set to some specific values
23384 * check/gst/gstbin.c: (GST_START_TEST):
23385 add more refcounting checks; maybe this exposes a
23387 * common/check.mak:
23388 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23389 * gst/check/gstcheck.h:
23390 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
23391 (gst_bin_change_state):
23392 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
23393 add/fix debugging/whitespace
23395 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
23397 * check/gst/gstevent.c: (event_probe), (test_event),
23399 Er, don't call gst_bin_watch_for_state_change you idiot.
23401 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
23403 * check/Makefile.am:
23404 Use CHECK_CFLAGS and CHECK_LIBS
23405 * check/gst/gstevent.c: (event_probe), (test_event),
23408 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23409 (gst_base_src_start), (gst_base_src_stop),
23410 (gst_base_src_activate_push), (gst_base_src_activate_pull),
23411 (gst_base_src_change_state):
23412 Sprinkle gst_base_src_stop liberally around error paths to fix
23413 problems reusing a source after failed state changes.
23414 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23415 (helper_find_suggest), (gst_type_find_helper):
23416 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
23418 * docs/gst/tmpl/gstevent.sgml:
23419 Migrate part of the docs from the SGML file. Wait for ensonic to
23420 tell me how I did it wrong ;)
23421 * tools/gst-typefind.c: (main):
23422 Extra robustness to state changes between files.
23424 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
23426 * check/Makefile.am:
23427 don't valgrind the controller test - it's leaking - Stefan, HELP
23428 * gst/check/gstcheck.c: (gst_check_message_error),
23429 (gst_check_chain_func), (gst_check_setup_element),
23430 (gst_check_teardown_element), (gst_check_setup_src_pad),
23431 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
23432 (gst_check_teardown_sink_pad):
23433 * gst/check/gstcheck.h:
23434 add a bunch of methods to set up elements, and src and sink pads
23435 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
23436 * check/elements/identity.c: (setup_identity), (cleanup_identity),
23439 * gst/gstmessage.c:
23441 whitespace/doc fixes
23443 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23445 * gst/gstelement.h:
23446 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
23447 be handled by the application and not always printed as well
23449 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23451 * check/Makefile.am:
23453 * gst/check/gstcheck.c: (gst_check_message_error):
23454 * gst/check/gstcheck.h:
23455 add a fail_unless_equals_int
23456 add fail_unless for error messages
23458 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23460 * check/Makefile.am:
23462 * common/Makefile.am:
23463 * common/check.mak:
23465 factor out some of the common stuff so we can use it
23467 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23469 * check/Makefile.am:
23470 * check/gst/gstiterator.c: (GST_START_TEST):
23471 * check/gst/gstsystemclock.c: (GST_START_TEST),
23472 (gst_systemclock_suite):
23473 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
23475 valgrind more tests
23477 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23479 * check/elements/.cvsignore:
23480 * check/elements/gstfakesrc.c:
23481 rename to name of element
23482 * check/elements/identity.c: (chain_func), (event_func),
23483 (setup_identity), (cleanup_identity), (GST_START_TEST),
23484 (identity_suite), (main):
23485 add a test for identity
23486 * check/Makefile.am:
23487 * pkgconfig/Makefile.am:
23488 * pkgconfig/gstreamer-check.pc.in:
23489 * pkgconfig/gstreamer-check-uninstalled.pc.in:
23493 move the check stuff to a library that gets installed
23494 * check/gst-libs/controller.c: (GST_START_TEST):
23495 * check/gst-libs/gdp.c:
23496 * check/gst/gst.c: (GST_START_TEST):
23497 * check/gst/gstbin.c:
23498 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23499 * check/gst/gstbus.c:
23500 * check/gst/gstcaps.c: (GST_START_TEST):
23501 * check/gst/gstelement.c:
23502 * check/gst/gstghostpad.c:
23503 * check/gst/gstiterator.c:
23504 * check/gst/gstmessage.c:
23505 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
23506 * check/gst/gstobject.c:
23507 * check/gst/gstpad.c: (GST_START_TEST):
23508 * check/gst/gststructure.c: (GST_START_TEST):
23509 * check/gst/gstsystemclock.c: (GST_START_TEST),
23510 (gst_systemclock_suite):
23511 * check/gst/gsttag.c: (gst_tag_suite):
23512 * check/gst/gstvalue.c:
23513 * check/pipelines/cleanup.c:
23514 * check/pipelines/simple_launch_lines.c:
23515 * check/states/sinks.c:
23516 change include statement
23518 * docs/gst/gstreamer-sections.txt:
23519 * docs/gst/tmpl/gstpad.sgml:
23520 document more pad stuff
23521 * gst/gstminiobject.c: (gst_mini_object_ref),
23522 (gst_mini_object_unref):
23525 2005-08-19 Stefan Kost <ensonic@users.sf.net>
23527 * docs/gst/tmpl/gst.sgml:
23529 eliminate another tmpl file, fix spelling in the long-description
23531 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23533 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23534 (test_event), (timediff), (gstevents_suite):
23535 Should fix build on 64-bit arch's
23537 2005-08-18 Andy Wingo <wingo@pobox.com>
23539 Make sure that when a pipeline goes to PLAYING, that data has
23540 actually hit the sink.
23542 * check/states/sinks.c (test_sink): A sink that doesn't get any
23543 data shouldn't return SUCCESS for going to either PLAYING or
23544 PAUSED. Test also the return values on the way back down.
23546 * gst/gstelement.c (gst_element_set_state): When changing the
23547 state of an element currently changing state asynchronously, go to
23548 lost-state after commiting the pending state. Makes future calls
23549 to get_state continue to return ASYNC.
23551 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
23552 ASYNC when going to PLAYING if we still don't have preroll, as can
23553 happen with live sources.
23555 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23557 * docs/pwg/advanced-types.xml:
23558 Hack long paragraph into 2 chunks as a workaround for buggy
23559 jadetex version in sid and breezy that loops infinitely and
23562 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23564 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23565 (test_event), (timediff), (gstevents_suite):
23566 Provide more error margin in clock measurements to allow for
23567 g_get_current_time inaccuracies.
23569 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23571 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23572 (test_event), (timediff), (gstevents_suite):
23573 Fix error message output so I might be able to tell why the
23574 test works here but fails on the build farm.
23576 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23578 * check/Makefile.am:
23579 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23580 (test_event), (timediff), (gstevents_suite), (main):
23583 * docs/design/part-seeking.txt:
23584 Spelling correction
23586 * docs/gst/tmpl/gstevent.sgml:
23587 * docs/gst/tmpl/gstfakesrc.sgml:
23590 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23591 Treat a buffer-without-newsegment the same as a receiving
23592 a newsegment not in time format, and disable syncing to the clock
23595 * gst/gstbus.c: (gst_bus_set_sync_handler):
23596 Assert if anyone tries to replace the existing sync_handler for bus,
23597 as only the owner should be setting it.
23600 Have a fixed set of custom event enums with events identified by
23601 their structure name (as in 0.8), rather than a free-for-all
23602 allowing collisions between enum values from different plugins.
23604 * gst/gstpad.c: (gst_pad_class_init):
23607 * gst/gstqueue.c: (gst_queue_handle_sink_event):
23608 Handle out-of-band downstream events from the sending thread.
23610 2005-08-17 Andy Wingo <wingo@pobox.com>
23612 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
23613 play-timeout==0 to mean no timeout at all. In that case, don't
23614 bother with a get_state or a warning, just return directly, even
23617 * gst/base/gstbasetransform.c: Debug changes.
23620 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
23621 ensure bins post state change messages. A bit of a hack but I can't
23622 think of a way to avoid it.
23624 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
23626 2005-08-16 Andy Wingo <wingo@pobox.com>
23628 * gst/base/gstadapter.h:
23629 * gst/base/gstadapter.c (gst_adapter_take): New function, like
23630 peek() but you own the data. Not terribly efficient atm.
23632 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23634 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
23635 (gst_element_found_tags):
23637 Add two utility functions for tag handling.
23639 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23641 * docs/manual/advanced-dataaccess.xml:
23642 * docs/manual/basics-helloworld.xml:
23643 Fix docs to use _bin_add() before _link(), which fixes the examples
23644 with recent core versions (reported by Madhan Raj M
23645 <raj_madan@rediffmail.com>, #313199).
23647 2005-08-16 Wim Taymans <wim@fluendo.com>
23649 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23650 Added subtract checks.
23652 * docs/design/part-events.txt:
23653 Some more docs about newsegment
23655 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23658 * gst/gstcaps.c: (gst_caps_to_string):
23659 Add comments, cleanups.
23661 * gst/gstelement.c: (gst_element_save_thyself):
23664 * gst/gstvalue.c: (gst_value_collect_int_range),
23665 (gst_string_unwrap), (gst_value_union_int_int_range),
23666 (gst_value_union_int_range_int_range),
23667 (gst_value_intersect_int_int_range),
23668 (gst_value_intersect_int_range_int_range),
23669 (gst_value_intersect_double_double_range),
23670 (gst_value_intersect_double_range_double_range),
23671 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
23672 (gst_value_subtract_int_range_int),
23673 (gst_value_subtract_double_range_double),
23674 (gst_value_subtract_double_range_double_range),
23675 (gst_value_subtract_from_list), (gst_value_subtract_list),
23676 (gst_value_can_compare), (gst_value_compare_fraction):
23677 Cleanups, add comments, remove unneeded asserts.
23679 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
23681 * tools/gst-launch.c: (event_loop):
23682 don't convert NULL structures to strings
23684 2005-08-15 Stefan Kost <ensonic@users.sf.net>
23686 * docs/gst/gstreamer-sections.txt:
23687 made some defines private
23688 * docs/gst/tmpl/gstconfig.sgml:
23689 * docs/gst/tmpl/gstqueue.sgml:
23690 * docs/gst/tmpl/gsttaglist.sgml:
23691 * docs/gst/tmpl/gsttypes.sgml:
23692 * docs/gst/tmpl/gstutils.sgml:
23693 * docs/pwg/appendix-porting.xml:
23694 * gst/base/gstbasesink.h:
23695 * gst/base/gstbasesrc.c:
23696 * gst/base/gstbasesrc.h:
23697 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
23698 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
23699 * gst/gstelement.c: (gst_element_class_init):
23700 * gst/gstpad.c: (gst_pad_class_init):
23701 * gst/gstqueue.c: (gst_queue_class_init):
23702 * gst/gstxml.c: (gst_xml_class_init):
23703 documented all undocumented signal inline
23704 * libs/gst/controller/gst-controller.h:
23707 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23709 * docs/pwg/appendix-porting.xml:
23710 Document _set_link_function -> _set_setcaps_function.
23712 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
23714 * check/Makefile.am:
23715 add a .check target for running the check
23716 * check/gst-libs/controller.c: (GST_START_TEST):
23718 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23719 complete checks for gstbuffer; would be nice if I could get the
23720 gcov stuff to work so I can see if I actually completed gstbuffer.c
23721 * check/gstcheck.h:
23722 add ASSERT_BUFFER_REFCOUNT
23724 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
23726 * docs/gst/gstreamer-sections.txt:
23727 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
23729 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
23730 spew out a warning if a tag that is already registered
23731 is re-registered, unless it is re-registered with a
23732 different type (#308438).
23734 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
23736 * docs/pwg/appendix-porting.xml:
23737 * docs/pwg/building-state.xml:
23738 Add some paragraphs about state changes in 0.9 to the PWG
23739 and the porting guide, in particular about the new meaning
23740 of GST_STATE_PAUSED and how to write state change functions
23741 with concurrent access by multiple threads in mind.
23743 2005-08-11 Stefan Kost <ensonic@users.sf.net>
23745 * docs/gst/gstreamer-docs.sgml:
23746 * docs/libs/gstreamer-libs-docs.sgml:
23747 added deprecation and since indexes
23748 * libs/gst/controller/gst-controller.c:
23749 * libs/gst/controller/gst-helper.c:
23753 2005-08-11 Wim Taymans <wim@fluendo.com>
23755 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
23756 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
23757 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
23758 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
23759 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
23760 (gst_ghost_pad_set_target):
23761 Actually implement (re)setting the target on a ghostpad
23762 as described in the docs.
23764 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
23766 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
23767 Check whether GST_DEBUG_NO_COLOR environment variable is
23768 set and disable coloured debug output if that is the case.
23770 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
23772 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23773 (gst_type_find_helper):
23774 The memory returned by gst_type_find_peek() needs to
23775 stay valid until the end of a typefind function, and
23776 typefind functions may keep results from different
23777 offsets around, so we can't just unref the buffer from
23778 the previous _peek(), but have to save all buffers
23779 returned by _peek() until typefinding is done and only
23782 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
23784 * docs/gst/gstreamer-sections.txt:
23786 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
23788 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23790 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
23791 Fix a pretty good memleak.
23793 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
23795 * gst/gstiterator.h:
23796 Fix wrong include and 'make distcheck'.
23798 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23800 * gst/gstbin.c: (bin_bus_handler):
23801 Use gst_element_post_message() instead.
23803 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
23805 * gst/base/gstadapter.h:
23806 * gst/base/gstbasesink.h:
23807 * gst/base/gstbasesrc.h:
23808 * gst/base/gstbasetransform.h:
23809 * gst/base/gstcollectpads.h:
23810 * gst/base/gstpushsrc.h:
23811 * gst/gstiterator.h:
23812 Add padding to our base elements' class and instance structs and
23813 to GstIterator (you will need to rebuild all plugins and apps!)
23815 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23817 * gst/gstbin.c: (bin_bus_handler):
23818 Make default message forwarding from child->bus to bin->bus
23819 threadsafe and make it not emit warnings if the parent has no bus.
23821 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23823 * gst/gstelement.c: (activate_pads):
23824 On paused->ready, set pad->caps to NULL, as is the documented
23825 behaviour in this state change. Fixes playback of series of
23826 media files when visualization is enabled in Totem.
23828 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23830 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23831 Allow NULL as filter-caps (which means "any").
23833 2005-08-05 Stefan Kost <ensonic@users.sf.net>
23835 * docs/libs/gstreamer-libs-sections.txt:
23836 * libs/gst/controller/gst-controller.c:
23837 * libs/gst/controller/gst-controller.h:
23838 * libs/gst/controller/gst-helper.c:
23839 adding more entries to the docs and fix small doc-bugs
23841 2005-08-05 Stefan Kost <ensonic@users.sf.net>
23843 * docs/gst/gstreamer-docs.sgml:
23844 * docs/gst/gstreamer-sections.txt:
23845 * docs/gst/gstreamer.types:
23846 * docs/gst/tmpl/gstbasesink.sgml:
23847 * docs/gst/tmpl/gstbasesrc.sgml:
23848 * docs/gst/tmpl/gstbasetransform.sgml:
23849 * docs/gst/tmpl/gstfakesrc.sgml:
23850 * gst/base/gstcollectpads.c:
23851 * gst/base/gstcollectpads.h:
23852 * libs/gst/controller/gst-controller.c:
23853 * libs/gst/controller/gst-controller.h:
23854 * libs/gst/controller/gst-helper.c:
23855 * libs/gst/controller/gst-interpolation.c:
23856 * libs/gst/controller/lib.c:
23857 added long/short desc for controller docs
23858 added collectpads base class docs
23859 added correct includes to base-class docs
23861 2005-08-05 Stefan Kost <ensonic@users.sf.net>
23863 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23864 (gst_test_mono_source_set_property),
23865 (gst_test_mono_source_class_init), (GST_START_TEST),
23866 (gst_controller_suite):
23867 * docs/gst/gstreamer-docs.sgml:
23868 * docs/gst/gstreamer-sections.txt:
23869 * docs/gst/gstreamer.types:
23870 * docs/libs/gstreamer-libs-docs.sgml:
23871 * docs/libs/gstreamer-libs-sections.txt:
23872 * gst/base/gstadapter.c:
23873 * libs/gst/controller/gst-controller.c:
23874 (gst_controlled_property_new), (gst_controlled_property_free),
23875 (gst_controller_new_valist),
23876 (gst_controller_remove_properties_valist),
23877 (gst_controller_sink_values), (_gst_controller_finalize):
23878 * libs/gst/controller/gst-controller.h:
23879 * libs/gst/controller/gst-helper.c:
23880 (gst_object_control_properties), (gst_object_uncontrol_properties),
23881 (gst_object_get_controller), (gst_object_set_controller),
23882 (gst_object_sink_values), (gst_object_get_value_arrays),
23883 (gst_object_get_value_array):
23884 more tests (and fixes) for the controller
23885 more docs for the controller
23886 integrated companies docs for the adapter
23888 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
23890 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
23891 (GST_START_TEST), (fakesrc_suite):
23892 add tests for sizetype
23894 2005-08-04 Andy Wingo <wingo@pobox.com>
23896 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
23897 fixes buffer_alloc proxying among other things.
23899 * gst/base/gstbasetransform.c:
23900 * gst/base/gstbasetransform.h:
23901 Revert patch to gstbasetransform from 7-28 removing
23904 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
23905 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
23906 Semantics changed, should return not the size of the output buffer
23907 but the byte size of a buffer with a given caps.
23909 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
23911 (gst_base_transform_configure_caps): Don't set out_size here: (in,
23912 out) are not the pad caps until setcaps finishes.
23913 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
23914 not-in-place case as well. Deal with changing from in-place to
23915 not-in-place within calling pad_alloc_buffer. Still a bit
23916 concerned about the overhead here...
23918 2005-08-03 Andy Wingo <wingo@pobox.com>
23920 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
23921 fixating is an error.
23923 2005-08-04 Edward Hervey <edward@fluendo.com>
23925 * gst/base/gstadapter.h:
23926 Added gst_adapter_get_type() to the header
23928 2005-08-03 Stefan Kost <ensonic@users.sf.net>
23930 * check/Makefile.am:
23931 * check/gst-libs/controller.c:
23932 * libs/gst/controller/gst-controller.c:
23933 (gst_controller_new_valist):
23934 added check test suite for the controller
23935 * gst/base/gstpushsrc.c:
23938 2005-08-03 Stefan Kost <ensonic@users.sf.net>
23940 * docs/gst/Makefile.am:
23941 * docs/gst/gstreamer-docs.sgml:
23942 * docs/gst/gstreamer-sections.txt:
23943 * docs/gst/gstreamer.types:
23944 * docs/gst/tmpl/gstfakesrc.sgml:
23946 * gst/base/gstbasesink.c:
23947 * gst/base/gstbasesink.h:
23948 * gst/base/gstbasesrc.c:
23949 * gst/base/gstbasesrc.h:
23950 * gst/base/gstbasetransform.c:
23951 * gst/base/gstpushsrc.c:
23952 * gst/base/gstpushsrc.h:
23953 add short/long description docs to base classes
23954 add pushsrc to the docs
23955 remove consolidated doc fragments
23957 2005-08-03 Stefan Kost <ensonic@users.sf.net>
23960 * docs/libs/Makefile.am:
23961 * docs/libs/gstreamer-libs-docs.sgml:
23962 * docs/libs/gstreamer-libs-sections.txt:
23963 * docs/libs/gstreamer-libs.types:
23964 * examples/Makefile.am:
23965 * examples/controller/.cvsignore:
23966 * examples/controller/Makefile.am:
23967 * examples/controller/audio-example.c: (main):
23968 * libs/gst/Makefile.am:
23969 * libs/gst/controller/.cvsignore:
23970 * libs/gst/controller/Makefile.am:
23971 * libs/gst/controller/gst-controller.c:
23972 (on_object_controlled_property_changed), (gst_timed_value_compare),
23973 (gst_timed_value_find),
23974 (gst_controlled_property_set_interpolation_mode),
23975 (gst_controlled_property_new), (gst_controlled_property_free),
23976 (gst_controller_find_controlled_property),
23977 (gst_controller_new_valist), (gst_controller_new),
23978 (gst_controller_remove_properties_valist),
23979 (gst_controller_remove_properties), (gst_controller_set),
23980 (gst_controller_set_from_list), (gst_controller_unset),
23981 (gst_controller_get), (gst_controller_get_all),
23982 (gst_controller_sink_values), (gst_controller_get_value_arrays),
23983 (gst_controller_get_value_array),
23984 (gst_controller_set_interpolation_mode),
23985 (_gst_controller_finalize), (_gst_controller_init),
23986 (_gst_controller_class_init), (gst_controller_get_type):
23987 * libs/gst/controller/gst-controller.h:
23988 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
23989 (g_object_uncontrol_properties), (g_object_get_controller),
23990 (g_object_set_controller), (g_object_sink_values),
23991 (g_object_get_value_arrays), (g_object_get_value_array):
23992 * libs/gst/controller/gst-interpolation.c:
23993 (gst_controlled_property_find_timed_value_node),
23994 (interpolate_none_get), (interpolate_trigger_get),
23995 (interpolate_trigger_get_value_array):
23996 * libs/gst/controller/lib.c: (gst_controller_init):
23997 * pkgconfig/Makefile.am:
23998 * pkgconfig/gstreamer-control-uninstalled.pc.in:
23999 * pkgconfig/gstreamer-control.pc.in:
24000 * testsuite/Makefile.am:
24001 * testsuite/controller/.cvsignore:
24002 * testsuite/controller/Makefile.am:
24003 * testsuite/controller/interpolator.c: (main):
24004 added controller code
24005 removed dparam pc files
24007 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
24008 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
24009 (gst_collectpads_stop):
24010 Broadcast the condition when shutting down, to make sure we wake all
24011 threads up. Shut down pads on finalize, for safety.
24013 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
24014 * gst/base/gstbasetransform.c: (gst_base_transform_init),
24015 (gst_base_transform_handle_buffer),
24016 (gst_base_transform_change_state):
24017 Handle PAUSED->READY->PAUSED transition after negotiation
24019 * gst/gstmessage.c: (gst_message_init):
24020 Extra piece of debug for new messages.
24022 2005-08-01 Stefan Kost <ensonic@users.sf.net>
24025 * docs/gst/tmpl/gstbasesrc.sgml:
24026 * docs/gst/tmpl/gstelement.sgml:
24027 * docs/gst/tmpl/gstevent.sgml:
24028 * docs/gst/tmpl/gstfakesrc.sgml:
24029 * docs/gst/tmpl/gstformat.sgml:
24030 * docs/gst/tmpl/gstghostpad.sgml:
24031 * docs/gst/tmpl/gstpad.sgml:
24032 * docs/gst/tmpl/gstquery.sgml:
24033 * docs/gst/tmpl/gststructure.sgml:
24034 * docs/gst/tmpl/gsttaglist.sgml:
24035 * docs/gst/tmpl/gstvalue.sgml:
24036 * docs/libs/gstreamer-libs-docs.sgml:
24037 * docs/libs/gstreamer-libs-sections.txt:
24038 * docs/libs/gstreamer-libs.types:
24039 * libs/gst/Makefile.am:
24040 * libs/gst/control/.cvsignore:
24041 * libs/gst/control/Makefile.am:
24042 * libs/gst/control/control.c:
24043 * libs/gst/control/control.h:
24044 * libs/gst/control/dparam.c:
24045 * libs/gst/control/dparam.h:
24046 * libs/gst/control/dparam_smooth.c:
24047 * libs/gst/control/dparam_smooth.h:
24048 * libs/gst/control/dparamcommon.h:
24049 * libs/gst/control/dparammanager.c:
24050 * libs/gst/control/dparammanager.h:
24051 * libs/gst/control/dplinearinterp.c:
24052 * libs/gst/control/dplinearinterp.h:
24053 * libs/gst/control/unitconvert.c:
24054 * libs/gst/control/unitconvert.h:
24055 * testsuite/Makefile.am:
24056 * testsuite/dynparams/.cvsignore:
24057 * testsuite/dynparams/Makefile.am:
24058 * testsuite/dynparams/dparamstest.c:
24059 * tools/Makefile.am:
24060 * tools/gst-inspect.c: (print_element_info), (main):
24061 * tools/gst-xmlinspect.c: (print_element_info), (main):
24062 deactivate and remove dparams (libgstcontrol)
24064 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
24066 * gst/elements/gsttypefindelement.c:
24067 (gst_type_find_element_have_type), (gst_type_find_element_init),
24068 (stop_typefinding), (gst_type_find_element_handle_event),
24069 (gst_type_find_element_chain), (gst_type_find_element_getrange):
24070 * gst/elements/gsttypefindelement.h:
24071 Set caps on all outgoing buffers, not just the first one.
24073 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
24075 * gst/elements/gsttypefindelement.c:
24076 (gst_type_find_element_have_type),
24077 (gst_type_find_element_check_set_buffer_caps),
24078 (gst_type_find_element_init), (stop_typefinding),
24079 (gst_type_find_element_handle_event),
24080 (gst_type_find_element_chain), (gst_type_find_element_getrange):
24081 * gst/elements/gsttypefindelement.h:
24082 Set caps on first outgoing buffer when we've found the type.
24084 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
24086 * docs/gst/gstreamer-docs.sgml:
24087 * docs/gst/gstreamer-sections.txt:
24088 * docs/gst/tmpl/gstscheduler.sgml:
24089 * docs/gst/tmpl/gstschedulerfactory.sgml:
24090 Remove some old cruft from docs.
24092 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
24095 Fix inline docs for GstPadLinkReturn.
24097 * gst/gststructure.c: (gst_structure_has_name):
24098 * gst/gststructure.h:
24099 * docs/gst/gstreamer-sections.txt:
24100 New API: gst_structure_has_name().
24102 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
24105 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
24106 and _LARGEFILE_SOURCE in config.h as required. Do not
24107 export those flags in our .pc files any longer (#142209).
24109 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
24111 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
24112 (gst_file_sink_do_seek), (gst_file_sink_event),
24113 (gst_file_sink_get_current_offset), (gst_file_sink_render):
24114 Redo seek/tell calls with large file support in mind; add some
24115 debugging messages; add log message that tells us when large
24116 file support is unavailable or not enabled for some reason.
24118 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
24119 Add log message that tells us when large file support
24120 is unavailable or not enabled for some reason.
24122 2005-07-29 Wim Taymans <wim@fluendo.com>
24124 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
24125 Added test for removing an element with ghostpad from a bin.
24126 Fixed test as current implementation does the right thing.
24128 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
24129 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
24130 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
24131 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
24132 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
24133 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
24134 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
24135 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
24136 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
24137 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
24138 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
24139 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
24140 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
24141 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
24142 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
24143 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
24144 * gst/gstghostpad.h:
24145 Clean up ghostpads, remove properties for internal stuff.
24148 Prepare for switching targets, not all use cases work yet.
24150 2005-07-29 Wim Taymans <wim@fluendo.com>
24152 * docs/design/part-gstghostpad.txt:
24155 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24156 (gst_bin_remove_func):
24157 Unlinking pads while holding the bin LOCK is not a good
24160 * gst/gstpad.c: (gst_pad_class_init),
24161 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
24162 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
24163 No prob setting template after creating the pad.
24165 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
24167 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
24168 (gst_bus_peek), (gst_bus_source_dispatch),
24169 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
24170 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
24171 gst_bus_poll may be called from other threads. Handle
24172 this nicely by not making poll_data disappear off the
24173 stack once gst_bus_poll returns.
24174 gst_bus_peek now increments the refcount on the returned
24177 2005-07-29 Wim Taymans <wim@fluendo.com>
24179 * docs/design/part-gstghostpad.txt:
24180 Overview of current GhostPad datastructures and use
24181 cases for changing the target.
24183 2005-07-28 Wim Taymans <wim@fluendo.com>
24185 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24186 Added checks for hierarchy consistency whan adding linked
24189 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24190 Added check to test element scheduling without bin/pipeline.
24192 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24193 First add elements to bin, then link.
24195 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24196 (gst_bin_remove_func):
24197 Unlink pads from elements added/removed from bin to maintain
24198 hierarchy consistency.
24200 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24202 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24203 (gst_base_transform_handle_buffer):
24204 * gst/base/gstbasetransform.h:
24205 Remove broken delay_configure (fixes renegotiation of software
24206 scaling pipelines); remove some leftover printf()s.
24208 2005-07-28 Wim Taymans <wim@fluendo.com>
24210 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
24211 Added some more tests for wrong hierarchy
24213 * docs/design/part-overview.txt:
24216 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
24219 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
24220 (gst_element_dispose):
24221 Some more cleanups.
24223 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
24224 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
24225 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24226 (gst_pad_set_caps), (gst_pad_send_event):
24227 Check for correct hierarchy when linking pads. Moving to
24228 strict requirement for ghostpads when linking elements in
24232 Clean ups. Added WRONG_HIERARCHY return value.
24234 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24236 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24237 Better debug if no transform is possible.
24239 2005-07-27 Wim Taymans <wim@fluendo.com>
24241 * docs/random/wtay/network-transp:
24242 Some old doc I had.
24244 2005-07-27 Wim Taymans <wim@fluendo.com>
24246 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24247 (gst_dp_event_from_packet):
24248 Fix serialization of seek events.
24250 2005-07-27 Wim Taymans <wim@fluendo.com>
24252 * check/gst-libs/gdp.c: (GST_START_TEST):
24253 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
24254 Fix compilation and fix event serialization.
24256 2005-07-27 Wim Taymans <wim@fluendo.com>
24259 * docs/design/part-TODO.txt:
24260 * docs/design/part-events.txt:
24263 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24264 (gst_base_sink_event), (gst_base_sink_do_sync),
24265 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
24266 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24267 (gst_base_src_do_seek), (gst_base_src_event_handler),
24268 (gst_base_src_loop):
24269 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24270 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24271 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24272 (gst_base_transform_event), (gst_base_transform_handle_buffer),
24273 (gst_base_transform_set_passthrough),
24274 (gst_base_transform_is_passthrough):
24275 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
24276 * gst/elements/gstfilesink.c: (gst_file_sink_event):
24282 * gst/gstelement.c: (gst_element_seek):
24283 * gst/gstelement.h:
24284 Update gst_element_seek.
24286 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
24287 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
24288 (gst_event_new_flush_start), (gst_event_new_flush_stop),
24289 (gst_event_new_eos), (gst_event_new_newsegment),
24290 (gst_event_parse_newsegment), (gst_event_new_tag),
24291 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
24292 (gst_event_parse_qos), (gst_event_new_seek),
24293 (gst_event_parse_seek), (gst_event_new_navigation):
24295 Make GstEvent use GstStructure. Add parsing code, make sure the
24296 API is sufficiently generic.
24297 Mark possible directions of events and serialization.
24299 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
24300 (_gst_message_copy), (gst_message_new_segment_start),
24301 (gst_message_new_segment_done), (gst_message_new_custom),
24302 (gst_message_parse_segment_start),
24303 (gst_message_parse_segment_done):
24306 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24307 (gst_pad_set_caps), (gst_pad_send_event):
24308 Update for new events.
24309 Catch events sent in wrong directions.
24311 * gst/gstqueue.c: (gst_queue_link_src),
24312 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
24313 (gst_queue_handle_src_query):
24318 Remove event code from this file.
24320 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24321 (gst_dp_event_from_packet):
24324 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24326 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
24327 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24328 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
24329 Make debugging actually useful.
24331 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24333 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
24334 (gst_pad_fixate_caps):
24335 Implement default fixation once again, so that gst_pad_fixate()
24336 actually does anything at all. This probably needs to be some
24337 sort of a last resort, and use profile-based fixation first, but
24338 since that doesn't exist yet, this is the best we have. Fixes
24339 visualization in Totem.
24341 2005-07-22 Wim Taymans <wim@fluendo.com>
24343 * docs/design/part-events.txt:
24346 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24347 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
24348 (gst_base_sink_activate_pull):
24349 Some more comments.
24351 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
24352 (gst_fake_src_create):
24353 Fix handoff marshall.
24355 * gst/elements/gstidentity.c: (gst_identity_class_init),
24356 (gst_identity_transform_ip):
24357 We're a real inplace element.
24359 * gst/gstbus.c: (gst_bus_post):
24360 Added some comments.
24362 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
24363 * tests/muxing/case1.c: (main):
24364 * tests/sched/dynamic-pipeline.c: (main):
24365 * tests/sched/interrupt1.c: (main):
24366 * tests/sched/interrupt2.c: (main):
24367 * tests/sched/interrupt3.c: (main):
24368 * tests/sched/runxml.c: (main):
24369 * tests/sched/sched-stress.c: (main):
24370 * tests/seeking/seeking1.c: (event_received), (main):
24371 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24373 * tests/threadstate/threadstate3.c: (main):
24374 * tests/threadstate/threadstate4.c: (main):
24375 * tests/threadstate/threadstate5.c: (main):
24378 2005-07-21 Wim Taymans <wim@fluendo.com>
24380 * docs/design/part-seeking.txt:
24381 Some small additions.
24383 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24384 (gst_base_sink_get_times), (gst_base_sink_do_sync),
24385 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
24386 * gst/base/gstbasesink.h:
24387 discont values are gint64, handle the math correctly.
24389 * gst/base/gstbasesrc.c: (gst_base_src_loop):
24390 Make the basesrc report error if the source pad is not linked.
24392 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
24393 (gst_queue_loop), (gst_queue_handle_src_query),
24394 (gst_queue_src_activate_push):
24395 Make queue collect data even if the srcpad is not linked.
24396 Start pushing out data as soon as it is linked.
24398 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
24400 Added gst_flow_get_name() to ease error reporting.
24402 2005-07-20 Wim Taymans <wim@fluendo.com>
24404 * gst/gstmessage.c: (gst_message_new_segment_start),
24405 (gst_message_new_segment_done), (gst_message_parse_segment_start),
24406 (gst_message_parse_segment_done):
24407 * gst/gstmessage.h:
24408 Added a bunch of messages for advanced seeking.
24410 * gst/parse/grammar.y:
24411 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
24412 (gst_dpman_state_changed):
24413 Fix some new-pad -> pad-added signals
24415 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24417 * docs/manual/appendix-porting.xml:
24418 * docs/pwg/appendix-porting.xml:
24419 Document new-pad/state-change signal renames and the FixedList
24422 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24424 * docs/manual/advanced-autoplugging.xml:
24425 * docs/manual/basics-helloworld.xml:
24426 * docs/manual/basics-pads.xml:
24427 * docs/random/ds/0.9-suggested-changes:
24428 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
24429 * gst/gstelement.h:
24433 * gst/gststructure.c: (gst_structure_value_get_generic_type),
24434 (gst_structure_parse_array), (gst_structure_parse_value):
24435 * gst/gstvalue.c: (gst_type_is_fixed),
24436 (gst_value_list_prepend_value), (gst_value_list_append_value),
24437 (gst_value_list_get_size), (gst_value_list_get_value),
24438 (gst_value_transform_array_string), (gst_value_serialize_array),
24439 (gst_value_deserialize_array), (gst_value_intersect_array),
24440 (gst_value_is_fixed), (_gst_value_initialize):
24442 GstElement::new-pad -> pad-added, GstElement::state-change ->
24443 state-changed, GstValueFixedList -> GstValueArray, add format and
24444 flags as their own arguments in gst_element_seek() (should improve
24445 "bindeability"), remove function generators since they don't work
24446 under a whole bunch of compilers (they were deprecated already
24449 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24451 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24452 (_gst_debug_register_funcptr):
24454 Fix illegal cast on some platforms (#309253).
24456 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24458 * gst/gstmessage.c: (gst_message_new_custom):
24459 * gst/gstmessage.h:
24460 Add _new_custom, make _new_application a macro to _new_custom.
24462 2005-07-20 Wim Taymans <wim@fluendo.com>
24464 * gst/base/gstbasesrc.c: (gst_base_src_init),
24465 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
24466 * gst/base/gstbasesrc.h:
24467 Add a gboolean to decide when to push out a discont.
24469 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24470 (gst_queue_loop), (gst_queue_handle_src_query),
24471 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
24472 (gst_queue_set_property), (gst_queue_get_property):
24475 * tests/threadstate/threadstate1.c: (main):
24476 Make a thread test compile and run... very silly..
24479 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24481 * docs/manual/appendix-porting.xml:
24482 Mention removal of libgstgconf-0.9.la and existence of gconf
24485 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24487 * docs/pwg/advanced-clock.xml:
24488 * docs/pwg/appendix-porting.xml:
24489 * docs/pwg/intro-preface.xml:
24490 * docs/pwg/other-base.xml:
24491 * docs/pwg/other-manager.xml:
24492 * docs/pwg/other-nton.xml:
24493 * docs/pwg/other-ntoone.xml:
24494 * docs/pwg/other-oneton.xml:
24495 * docs/pwg/pwg.xml:
24496 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
24497 demuxer), remove n-to-n (was never written), fix some code examples
24498 and links and update the porting section to include all this.
24500 2005-07-19 Wim Taymans <wim@fluendo.com>
24502 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
24503 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
24504 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
24505 (gst_queue_src_activate_push), (gst_queue_change_state),
24506 (gst_queue_get_property):
24508 Propagate GstFlowReturn more intelligently upstream and output
24509 an ERROR/EOS when streaming stopped due to fatal error.
24511 2005-07-19 Wim Taymans <wim@fluendo.com>
24513 * tools/gst-launch.c: (check_intr), (event_loop), (main):
24514 Don't block forever for the state change to complete, the
24515 pipeline already did with a sensible timeout.
24517 2005-07-19 Wim Taymans <wim@fluendo.com>
24519 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
24520 Make sure we never call the create function is we
24523 2005-07-19 Andy Wingo <wingo@pobox.com>
24525 * gst/parse/parse.l: Attempt to solve bug #172815.
24527 2005-07-19 Wim Taymans <wim@fluendo.com>
24529 * docs/design/part-clocks.txt:
24530 * docs/design/part-events.txt:
24531 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
24532 Small docs updates.
24533 Only update the seeking values when we are not
24536 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
24538 * gst/base/gstbasesrc.c: (gst_base_src_loop):
24539 Oops, ignore the result of gst_pad_push_event here.
24541 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
24543 * gst/base/gstbasesrc.c: (gst_base_src_loop),
24544 (gst_base_src_activate_push):
24545 Send discont event from the loop function, as pads
24546 aren't activated yet in the activate_push handler.
24548 * gst/gstbin.c: (bin_bus_handler):
24549 Don't leak element name.
24551 2005-07-18 Andy Wingo <wingo@pobox.com>
24553 * configure.ac: Use AS_LIBTOOL_TAGS.
24555 2005-07-18 Wim Taymans <wim@fluendo.com>
24557 * docs/gst/gstreamer.types:
24558 Remove deleted types.
24560 2005-07-18 Wim Taymans <wim@fluendo.com>
24562 * check/elements/gstfakesrc.c: (GST_START_TEST):
24565 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
24566 (init_popt_callback):
24568 * gst/gst_private.h:
24569 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
24570 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
24573 * gst/gstconfig.h.in:
24574 * gst/gstelement.c: (gst_element_class_init),
24575 (gst_element_set_base_time), (gst_element_get_base_time),
24576 (iterator_fold_with_resync), (gst_element_change_state),
24577 (gst_element_dispose), (gst_element_get_bus):
24578 * gst/gstelement.h:
24579 * gst/gstelementfactory.h:
24580 * gst/gsterror.c: (_gst_core_errors_init):
24583 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24585 * gst/gstinfo.c: (_gst_debug_init):
24586 * gst/gstmessage.c: (_gst_message_copy):
24587 * gst/gstmessage.h:
24588 * gst/gstminiobject.h:
24591 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24592 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
24595 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24596 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24597 (gst_pipeline_get_last_stream_time):
24598 * gst/gstpipeline.h:
24599 * gst/gstpluginfeature.h:
24601 * gst/gstscheduler.c:
24602 * gst/gstscheduler.h:
24603 * gst/gststructure.h:
24604 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
24605 (gst_task_finalize), (gst_task_func), (gst_task_create),
24606 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
24607 (gst_task_stop), (gst_task_pause):
24609 * gst/gsttypefind.h:
24611 * gst/registries/gstlibxmlregistry.c: (load_feature),
24612 (gst_xml_registry_load), (gst_xml_registry_save_feature):
24613 * gst/registries/gstxmlregistry.c:
24614 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
24615 * gst/schedulers/threadscheduler.c:
24616 * libs/gst/control/dparammanager.h:
24617 * tools/gst-inspect.c: (print_element_list),
24618 (print_plugin_features), (print_element_features):
24619 * tools/gst-xmlinspect.c: (print_element_list),
24620 (print_plugin_info), (main):
24621 Removed plugable schedulers.
24622 Removed Scheduler/Manager from elements.
24623 Removed gsttypes.h, rearranged includes.
24624 Removed dependency pad<->element, element<>pipeline, and
24625 various others, fix includes.
24626 implement gst_pad_get_parent() with gst_object_get_parent()
24627 Make GstTask sefcontained.
24628 Fix _get_state() on GstBin, it did not return ASYNC with a 0
24630 Fix endless loop in iterator_fold_with_resync.
24633 2005-07-18 Wim Taymans <wim@fluendo.com>
24639 2005-07-18 Wim Taymans <wim@fluendo.com>
24642 No more cothreads.h
24644 2005-07-18 Wim Taymans <wim@fluendo.com>
24648 Let's remove these.
24650 2005-07-18 Wim Taymans <wim@fluendo.com>
24652 * docs/design/part-dynamic.txt:
24653 * docs/design/part-events.txt:
24654 * docs/design/part-seeking.txt:
24655 Some more docs in the works.
24657 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24658 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
24659 (gst_base_transform_setcaps), (gst_base_transform_get_size),
24660 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24661 (gst_base_transform_handle_buffer),
24662 (gst_base_transform_sink_activate_push),
24663 (gst_base_transform_src_activate_pull),
24664 (gst_base_transform_set_passthrough),
24665 (gst_base_transform_is_passthrough):
24668 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
24671 * gst/gstevent.c: (gst_event_finalize):
24674 * gst/gstutils.c: (gst_element_unlink),
24675 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
24676 (gst_pad_proxy_setcaps):
24678 Add _get_parent_element() to get a pads parent as an element.
24680 2005-07-18 Wim Taymans <wim@fluendo.com>
24682 * check/gst/gstbin.c: (GST_START_TEST):
24685 2005-07-18 Wim Taymans <wim@fluendo.com>
24687 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24688 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24689 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24690 (gst_base_sink_event), (gst_base_sink_do_sync),
24691 (gst_base_sink_chain), (gst_base_sink_loop),
24692 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
24693 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
24695 Fix logic for returning ASYNC when not prerolled.
24697 2005-07-18 Wim Taymans <wim@fluendo.com>
24699 * gst/gstqueue.c: (gst_queue_handle_sink_event):
24700 Fix nasty refcount bug.
24702 2005-07-16 Philippe Khalaf <burger@speedy.org>
24704 * gst/elements/gstfdsrc.c:
24705 * gst/elements/gstfdsrc.h:
24706 * gst/elements/gstelements.c:
24707 * gst/elements/Makefile.am:
24708 Ported fdsrc to 0.9.
24710 2005-07-16 Wim Taymans <wim@fluendo.com>
24712 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24713 (gst_base_sink_do_sync):
24716 2005-07-16 Wim Taymans <wim@fluendo.com>
24718 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24719 (gst_base_sink_event), (gst_base_sink_get_times),
24720 (gst_base_sink_do_sync), (gst_base_sink_change_state):
24721 * gst/base/gstbasesink.h:
24722 Store and use discont values when syncing buffers as described
24725 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24726 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
24727 (gst_base_src_activate_push):
24728 Push discont event when starting.
24730 * gst/elements/gstidentity.c: (gst_identity_transform):
24733 * gst/gstbin.c: (gst_bin_change_state):
24734 Small cleanups in base_time distribution.
24736 * gst/gstelement.c: (gst_element_set_base_time),
24737 (gst_element_get_base_time), (gst_element_change_state):
24738 * gst/gstelement.h:
24739 Added methods for the base_time of the element.
24742 * gst/gstpipeline.c: (gst_pipeline_send_event),
24743 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24744 (gst_pipeline_get_last_stream_time):
24745 * gst/gstpipeline.h:
24747 Handle seeking as described in design doc, remove stream_time
24749 Cleanups clock and stream_time selection code. Added accessors
24750 for the stream_time.
24753 2005-07-16 Andy Wingo <wingo@pobox.com>
24755 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
24758 2005-07-16 Wim Taymans <wim@fluendo.com>
24760 * check/gst/gstbin.c: (GST_START_TEST):
24761 Make elements silent as the deep_notify refs the
24762 parent, which might make the test fail.
24764 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24765 Don't hold the lock for too long.
24767 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
24769 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
24770 Don't unref the caps we passed to gst_caps_make_writable() after
24771 passing them. gst_caps_make_writable() will do that for us.
24773 2005-07-15 Andy Wingo <wingo@pobox.com>
24775 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
24778 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
24779 own marshalling function for the handoff signal. Properly type the
24780 buffer as a buffer. Fixes some warnings. Should do a more general
24782 (gst_identity_class_init): Plug into the right marshaller.
24784 2005-07-15 Wim Taymans <wim@fluendo.com>
24786 * docs/design/part-TODO.txt:
24787 * docs/design/part-clocks.txt:
24788 * docs/design/part-element-sink.txt:
24789 * docs/design/part-events.txt:
24790 * docs/design/part-gstpipeline.txt:
24791 Updated docs, mostly DISCONT related.
24793 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
24795 * docs/pwg/building-pads.xml:
24796 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
24798 2005-07-15 Andy Wingo <wingo@pobox.com>
24800 * tools/gst-typefind.c: Update, add copyright block.
24802 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
24803 Normalize and truncate caps before fixation.
24806 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
24807 discards all but the first structure from its argument.
24809 2005-07-15 Wim Taymans <wim@fluendo.com>
24811 * gst/base/gstbasetransform.c: (gst_base_transform_init),
24812 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
24813 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24814 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24815 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
24816 (gst_base_transform_chain), (gst_base_transform_change_state),
24817 (gst_base_transform_set_passthrough),
24818 (gst_base_transform_is_passthrough):
24819 * gst/base/gstbasetransform.h:
24820 Make passthrough work using the bufferpools.
24821 Changed API a bit, subclasses have to write into a buffer
24822 provided by the base class.
24823 More debug info in nego functions.
24825 * gst/elements/gstidentity.c: (gst_identity_init),
24826 (gst_identity_transform):
24827 Port to new base class.
24829 2005-07-15 Wim Taymans <wim@fluendo.com>
24831 * gst/gstmessage.c: (gst_message_new_state_changed):
24832 * tools/gst-launch.c: (event_loop), (main):
24833 Totally dump messages in -launch with the -m option.
24834 Fix message name for State messages,
24836 2005-07-14 Wim Taymans <wim@fluendo.com>
24838 * gst/base/gstbasesrc.c: (gst_base_src_loop):
24839 Post error messages on errors.
24841 2005-07-14 Wim Taymans <wim@fluendo.com>
24843 * gst/gstcaps.c: (gst_caps_do_simplify):
24847 Define error for stream stopped.
24849 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24850 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
24851 Do proper return values.
24853 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24854 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
24855 (gst_pad_get_range):
24856 Better return values.
24859 Reorganise return values, add macro to check for fatal errors.
24861 * gst/gstqueue.c: (gst_queue_chain):
24862 Return proper GstFlowReturn values,
24864 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
24866 * docs/gst/gstreamer-sections.txt:
24867 * docs/gst/gstreamer.types:
24868 * docs/gst/tmpl/gst.sgml:
24869 * docs/gst/tmpl/gstbasesink.sgml:
24870 * docs/gst/tmpl/gstbasesrc.sgml:
24871 * docs/gst/tmpl/gstbasetransform.sgml:
24872 * docs/gst/tmpl/gstbin.sgml:
24873 * docs/gst/tmpl/gstbuffer.sgml:
24874 * docs/gst/tmpl/gstcaps.sgml:
24875 * docs/gst/tmpl/gstclock.sgml:
24876 * docs/gst/tmpl/gstcompat.sgml:
24877 * docs/gst/tmpl/gstconfig.sgml:
24878 * docs/gst/tmpl/gstelement.sgml:
24879 * docs/gst/tmpl/gstelementdetails.sgml:
24880 * docs/gst/tmpl/gstelementfactory.sgml:
24881 * docs/gst/tmpl/gstenumtypes.sgml:
24882 * docs/gst/tmpl/gsterror.sgml:
24883 * docs/gst/tmpl/gstevent.sgml:
24884 * docs/gst/tmpl/gstfakesink.sgml:
24885 * docs/gst/tmpl/gstfakesrc.sgml:
24886 * docs/gst/tmpl/gstfilesink.sgml:
24887 * docs/gst/tmpl/gstfilesrc.sgml:
24888 * docs/gst/tmpl/gstfilter.sgml:
24889 * docs/gst/tmpl/gstformat.sgml:
24890 * docs/gst/tmpl/gstghostpad.sgml:
24891 * docs/gst/tmpl/gstimplementsinterface.sgml:
24892 * docs/gst/tmpl/gstindex.sgml:
24893 * docs/gst/tmpl/gstindexfactory.sgml:
24894 * docs/gst/tmpl/gstinfo.sgml:
24895 * docs/gst/tmpl/gstiterator.sgml:
24896 * docs/gst/tmpl/gstmacros.sgml:
24897 * docs/gst/tmpl/gstmemchunk.sgml:
24898 * docs/gst/tmpl/gstminiobject.sgml:
24899 * docs/gst/tmpl/gstobject.sgml:
24900 * docs/gst/tmpl/gstpad.sgml:
24901 * docs/gst/tmpl/gstpadtemplate.sgml:
24902 * docs/gst/tmpl/gstparse.sgml:
24903 * docs/gst/tmpl/gstpipeline.sgml:
24904 * docs/gst/tmpl/gstplugin.sgml:
24905 * docs/gst/tmpl/gstpluginfeature.sgml:
24906 * docs/gst/tmpl/gstquery.sgml:
24907 * docs/gst/tmpl/gstqueue.sgml:
24908 * docs/gst/tmpl/gstregistry.sgml:
24909 * docs/gst/tmpl/gstregistrypool.sgml:
24910 * docs/gst/tmpl/gstscheduler.sgml:
24911 * docs/gst/tmpl/gstschedulerfactory.sgml:
24912 * docs/gst/tmpl/gststructure.sgml:
24913 * docs/gst/tmpl/gstsystemclock.sgml:
24914 * docs/gst/tmpl/gsttaglist.sgml:
24915 * docs/gst/tmpl/gsttagsetter.sgml:
24916 * docs/gst/tmpl/gsttrace.sgml:
24917 * docs/gst/tmpl/gsttrashstack.sgml:
24918 * docs/gst/tmpl/gsttypefind.sgml:
24919 * docs/gst/tmpl/gsttypefindfactory.sgml:
24920 * docs/gst/tmpl/gsttypes.sgml:
24921 * docs/gst/tmpl/gsturihandler.sgml:
24922 * docs/gst/tmpl/gsturitype.sgml:
24923 * docs/gst/tmpl/gstutils.sgml:
24924 * docs/gst/tmpl/gstvalue.sgml:
24925 * docs/gst/tmpl/gstversion.sgml:
24926 * docs/gst/tmpl/gstxml.sgml:
24927 * docs/libs/tmpl/gstcontrol.sgml:
24928 * docs/libs/tmpl/gstdataprotocol.sgml:
24929 * docs/libs/tmpl/gstdparam.sgml:
24930 * docs/libs/tmpl/gstdplinint.sgml:
24931 * docs/libs/tmpl/gstdpman.sgml:
24932 * docs/libs/tmpl/gstdpsmooth.sgml:
24933 * docs/libs/tmpl/gstgetbits.sgml:
24934 * docs/libs/tmpl/gstunitconvert.sgml:
24935 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
24936 (gst_push_src_base_init), (gst_push_src_class_init),
24937 (gst_push_src_init), (gst_push_src_create):
24938 * gst/base/gstpushsrc.h:
24939 * gst/elements/gstelements.c:
24940 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
24941 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
24942 (gst_fake_sink_init), (gst_fake_sink_set_property),
24943 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
24944 (gst_fake_sink_event), (gst_fake_sink_preroll),
24945 (gst_fake_sink_render), (gst_fake_sink_change_state):
24946 * gst/elements/gstfakesink.h:
24947 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
24948 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
24949 (gst_fake_src_base_init), (gst_fake_src_class_init),
24950 (gst_fake_src_init), (gst_fake_src_event_handler),
24951 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
24952 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
24953 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
24954 (gst_fake_src_create_buffer), (gst_fake_src_create),
24955 (gst_fake_src_start), (gst_fake_src_stop):
24956 * gst/elements/gstfakesrc.h:
24957 * gst/elements/gstfilesink.c: (_do_init),
24958 (gst_file_sink_base_init), (gst_file_sink_class_init),
24959 (gst_file_sink_init), (gst_file_sink_dispose),
24960 (gst_file_sink_set_location), (gst_file_sink_set_property),
24961 (gst_file_sink_get_property), (gst_file_sink_open_file),
24962 (gst_file_sink_close_file), (gst_file_sink_query),
24963 (gst_file_sink_event), (gst_file_sink_render),
24964 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
24965 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
24966 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
24967 * gst/elements/gstfilesink.h:
24968 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
24969 (gst_file_src_class_init), (gst_file_src_init),
24970 (gst_file_src_finalize), (gst_file_src_set_location),
24971 (gst_file_src_set_property), (gst_file_src_get_property),
24972 (gst_file_src_map_region), (gst_file_src_map_small_region),
24973 (gst_file_src_create_mmap), (gst_file_src_create_read),
24974 (gst_file_src_create), (gst_file_src_is_seekable),
24975 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
24976 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
24977 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
24978 (gst_file_src_uri_handler_init):
24979 * gst/elements/gstfilesrc.h:
24980 more autistic cleanliness in functions/names/defines
24982 2005-07-13 Andy Wingo <wingo@pobox.com>
24984 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
24985 source couldn't negotiate.
24987 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
24991 * gst/gstutils.c (gst_element_link_pads_filtered): New old
24992 function. I am channeling Hades. Put your boots on suckers!!!
24994 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
24996 * testsuite/caps/Makefile.am:
24997 * testsuite/caps/value_compare.c:
24998 * testsuite/caps/value_intersect.c:
24999 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25000 move two testsuite apps over to the check dir
25002 2005-07-12 Wim Taymans <wim@fluendo.com>
25004 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25005 Added more debug info in the negotiate process.
25007 * gst/gstmessage.h:
25008 Prepare for segment playback.
25010 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
25016 * tools/gst-launch.c: (main):
25017 NULL pipeline on errors.
25019 2005-07-12 Andy Wingo <wingo@pobox.com>
25021 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
25022 not it comes from a malloc region. Make sure our copy gets freed.
25024 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
25026 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25027 * check/gst/gstmessage.c: (GST_START_TEST):
25028 * check/gst/gststructure.c: (GST_START_TEST),
25029 (gst_structure_suite), (main):
25031 * gst/gstelement.c: (gst_element_message_full):
25032 clean up GError and debug string now that they get copied
25033 * gst/gstmessage.c: (gst_message_new_error),
25034 (gst_message_new_warning), (gst_message_parse_error),
25035 (gst_message_parse_warning):
25036 use GST_TYPE_G_ERROR for structure_new, and take copies of
25037 arguments, so that we don't mess up refcounting
25039 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
25041 * check/Makefile.am:
25042 add per-test valgrind targets
25043 * check/gst-libs/gdp.c: (GST_START_TEST),
25044 (gst_data_protocol_suite), (main):
25047 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
25049 * check/Makefile.am:
25050 instate more valgrindable tests
25051 * check/elements/gstfakesrc.c: (chain_func), (event_func),
25052 (GST_START_TEST), (fakesrc_suite):
25053 * check/gst/gstpad.c: (GST_START_TEST):
25054 * check/gst/gststructure.c: (GST_START_TEST):
25056 * docs/gst/tmpl/gstminiobject.sgml:
25057 * gst/gstpad.c: (gst_pad_finalize):
25058 fix the static mutex leak
25060 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
25062 * check/Makefile.am:
25063 add two more tests for valgrinding
25064 * check/gst/gstvalue.c: (GST_START_TEST):
25065 test refcount of deserialized buffer, found a leak
25066 * docs/gst/gstreamer-docs.sgml:
25067 * docs/gst/gstreamer-sections.txt:
25068 * docs/gst/gstreamer.types:
25069 * docs/gst/tmpl/gstminiobject.sgml:
25070 add miniobject to docs
25071 * gst/gstminiobject.c:
25073 * gst/gstvalue.c: (gst_value_deserialize_buffer),
25074 (gst_string_unwrap):
25075 fix a hard-to-find invalid write for one of the tests
25076 fix a leak for deserialized buffers
25078 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25080 * docs/pwg/advanced-events.xml:
25081 * docs/pwg/advanced-request.xml:
25082 * docs/pwg/advanced-scheduling.xml:
25083 * docs/pwg/appendix-porting.xml:
25084 * docs/pwg/building-boiler.xml:
25085 * docs/pwg/intro-preface.xml:
25086 * docs/pwg/other-ntoone.xml:
25087 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
25088 of example code and explanation for pad activation, loop() and
25089 getrange() functions and a bit more. Remove old comments pointing
25091 * examples/pwg/Makefile.am:
25092 Add loop/getrange examples.
25094 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
25097 check for valgrind binary + some fixes
25099 valgrind suppressions for the tests
25100 * check/Makefile.am:
25101 add a valgrind: target that valgrinds the unit tests
25102 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
25103 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25104 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25105 * check/gst/gstghostpad.c:
25107 * check/gst/gstdata.c:
25109 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
25110 (thread_unref), (gst_mini_object_suite), (main):
25112 * gst/gst.c: (gst_deinit):
25114 add a method to clean up.
25115 * gst/gstsystemclock.c: (gst_system_clock_dispose),
25116 (gst_system_clock_obtain):
25117 allow for disposing the system clock.
25118 * tools/gst-launch.c: (main):
25121 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
25123 * docs/gst/tmpl/gstbasesrc.sgml:
25124 * docs/gst/tmpl/gstfakesrc.sgml:
25125 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25126 (gst_base_src_init), (gst_base_src_set_property),
25127 (gst_base_src_get_property), (gst_base_src_get_range),
25128 (gst_base_src_start):
25129 * gst/base/gstbasesrc.h:
25130 add num-buffers property
25131 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25132 (gst_fakesrc_init), (gst_fakesrc_set_property),
25133 (gst_fakesrc_get_property), (gst_fakesrc_create),
25134 (gst_fakesrc_start):
25135 remove num-buffers property
25137 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25139 * docs/gst/gstreamer-sections.txt:
25140 * docs/gst/tmpl/gstbasesink.sgml:
25141 * docs/gst/tmpl/gstbasesrc.sgml:
25142 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25143 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25144 (gst_base_sink_finalize), (gst_base_sink_set_clock),
25145 (gst_base_sink_set_property), (gst_base_sink_get_property),
25146 (gst_base_sink_handle_object), (gst_base_sink_event),
25147 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
25148 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
25149 (gst_base_sink_loop), (gst_base_sink_deactivate),
25150 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
25151 (gst_base_sink_change_state):
25152 * gst/base/gstbasesink.h:
25153 * gst/base/gstbasesrc.h:
25154 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
25155 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
25156 (gst_filesink_init):
25157 more macro splitting
25159 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25161 * gst/gstelement.c: (gst_element_get_bus):
25163 * tools/gst-launch.c: (check_intr), (event_loop):
25166 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25168 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
25171 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25173 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25174 (gst_base_src_finalize):
25175 add finalize method and clean up properly
25176 * gst/gstpipeline.c: (gst_pipeline_dispose):
25179 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
25181 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
25183 add more things to check
25184 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25185 * gst/gstelement.c:
25188 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
25190 * check/elements/gstfakesrc.c: (chain_func), (event_func),
25191 (GST_START_TEST), (fakesrc_suite):
25192 * check/gst-libs/gdp.c: (GST_START_TEST):
25193 * check/gst/gst.c: (GST_START_TEST):
25194 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25195 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25196 * check/gst/gstbus.c: (GST_START_TEST):
25197 * check/gst/gstcaps.c: (GST_START_TEST):
25198 * check/gst/gstdata.c: (GST_START_TEST):
25199 * check/gst/gstelement.c: (GST_START_TEST):
25200 * check/gst/gstghostpad.c: (GST_START_TEST):
25201 * check/gst/gstiterator.c: (GST_START_TEST):
25202 * check/gst/gstmessage.c: (GST_START_TEST):
25203 * check/gst/gstobject.c: (GST_START_TEST):
25204 * check/gst/gstpad.c: (GST_START_TEST):
25205 * check/gst/gststructure.c: (GST_START_TEST):
25206 * check/gst/gstsystemclock.c: (GST_START_TEST),
25207 (gst_systemclock_suite):
25208 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
25209 * check/gst/gstvalue.c: (GST_START_TEST):
25210 * check/pipelines/cleanup.c: (GST_START_TEST):
25211 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25212 * check/states/sinks.c: (GST_START_TEST):
25213 * check/gstcheck.c: (gst_check_init):
25214 * check/gstcheck.h:
25215 add debugging category
25216 use GST_START_TEST now, so we add a debug line
25218 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
25220 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
25221 add test for state change message on a bin
25222 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
25224 * gst/gstbin.c: (gst_bin_init):
25225 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
25226 * gst/gstelement.c: (gst_element_post_message),
25227 (gst_element_set_state):
25228 * gst/gstelementfactory.c: (gst_element_factory_create):
25229 * gst/gstmessage.c: (gst_message_new):
25230 * gst/gstscheduler.c:
25231 various debugging additions and cleanups
25233 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25235 * check/Makefile.am:
25236 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
25238 adding tests for elements
25239 * gst/gstelement.c: (gst_element_dispose):
25241 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25243 * gst/registries/gstlibxmlregistry.c: (load_feature):
25244 plug more leaks. A simple gst_init() now is leakfree, yay.
25246 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25248 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
25249 (gst_xml_registry_load):
25250 plug another memleak
25252 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25255 use GST_SET_ERROR_CFLAGS
25256 * docs/faq/cvs.xml:
25257 change to ERROR_CFLAGS
25259 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25262 make GST_ERROR_CFLAGS overridable and re-enable Werror
25263 * docs/faq/cvs.xml:
25264 add a note about error CFLAGS
25265 * docs/gst/tmpl/gstfakesrc.sgml:
25266 * gst/elements/gstfakesrc.c:
25267 comment out some unused code
25268 * gst/gst.c: (split_and_iterate):
25269 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
25273 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
25275 * common/Makefile.am:
25276 * common/gtk-doc.mak:
25277 * docs/gst/Makefile.am:
25278 factor out gtk-doc.mak
25280 2005-07-07 Wim Taymans <wim@fluendo.com>
25282 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
25283 (gst_thread_scheduler_dispose):
25284 Unlock the STREAM_LOCK completely.
25286 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
25288 * check/Makefile.am:
25289 * check/elements/.cvsignore:
25290 * check/elements/gstfakesrc.c: (chain_func), (event_func),
25291 (START_TEST), (fakesrc_suite), (main):
25292 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25293 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25294 (gst_fakesrc_create), (gst_fakesrc_start):
25295 * gst/elements/gstfakesrc.h:
25296 adding a first element test
25298 2005-07-07 Andy Wingo <wingo@pobox.com>
25300 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
25303 2005-07-07 Wim Taymans <wim@fluendo.com>
25309 2005-07-07 Wim Taymans <wim@fluendo.com>
25311 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
25312 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
25313 Allow subclasses to implement their own negotiation.
25315 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
25317 * docs/design/part-gstbin.txt:
25318 * docs/design/part-gstpipeline.txt:
25319 Update design notes to reflect the movement of
25320 responsibility for bus handling from GstPipeline to
25323 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
25326 Remove unnecessary queue2/3/4 examples.
25328 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
25330 * examples/Makefile.am:
25331 * examples/helloworld/helloworld.c: (event_loop), (main):
25332 * examples/queue/queue.c: (event_loop), (main):
25333 * examples/queue2/queue2.c: (main):
25334 Update a couple of the examples to work again.
25336 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25337 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
25338 Spelling corrections and extra debug.
25340 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
25341 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
25342 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
25344 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25345 (gst_pipeline_change_state):
25346 * gst/gstpipeline.h:
25347 Move the bus handler for children to the GstBin, and create a
25348 separate bus for receiving messages from children to the one the
25349 bus sends 'upwards' on.
25351 2005-07-06 Wim Taymans <wim@fluendo.com>
25354 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25355 (gst_base_sink_handle_object), (gst_base_sink_loop),
25356 (gst_base_sink_change_state):
25357 * gst/base/gstbasesink.h:
25358 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25359 (gst_base_src_init), (gst_base_src_setcaps),
25360 (gst_base_src_getcaps), (gst_base_src_loop),
25361 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
25362 (gst_base_src_start), (gst_base_src_change_state):
25363 * gst/base/gstbasesrc.h:
25364 Make basesrc negotiate.
25365 Handle the case where preroll fails in basesink.
25368 2005-07-06 Wim Taymans <wim@fluendo.com>
25370 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
25371 Implement the fixate function.
25372 Clean up acceptcaps.
25374 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25376 * docs/pwg/building-filterfactory.xml:
25377 * docs/pwg/pwg.xml:
25378 Remove never-written filter-factory chapter; I'll add the various
25379 base classes to part 4 ("other element types") later on.
25381 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25383 * docs/pwg/advanced-negotiation.xml:
25384 * docs/pwg/building-boiler.xml:
25385 * docs/pwg/building-pads.xml:
25386 * docs/pwg/pwg.xml:
25387 * examples/pwg/Makefile.am:
25388 Add a chapter on caps negotiation, simplify the original code
25389 samples a bit w.r.t. caps negotiation, add link to the advanced
25390 section. Add a bunch of examples showing different use cases of
25391 different types of caps negotiation. Upstream renegotiation isn't
25392 fully documented yet since nobody knows how that works.
25394 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
25396 * check/gst/gstpad.c:
25397 * check/gstcheck.c:
25398 * gst/gstpad.c: (gst_pad_get_internal_links_default):
25399 if pad has no parent, return NULL as list of internal links
25401 2005-07-05 Andy Wingo <wingo@pobox.com>
25403 * gst/elements/gstfilesrc.c:
25404 * gst/elements/gstfakesrc.c:
25405 * gst/base/gstpushsrc.c:
25406 * gst/base/gstbasesrc.h:
25407 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
25409 2005-07-05 Stefan Kost <ensonic@users.sf.net>
25412 better report generation target (lcov needs a patch)
25414 2005-07-05 Andy Wingo <wingo@pobox.com>
25416 * gst/elements, testsuite: Null if we got it...
25418 2005-07-05 Wim Taymans <wim@fluendo.com>
25421 * libs/gst/dataprotocol/Makefile.am:
25422 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
25423 * libs/gst/dataprotocol/dataprotocol.h:
25424 * pkgconfig/Makefile.am:
25425 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
25426 * pkgconfig/gstreamer-dataprotocol.pc.in:
25427 Ported dataprotol to 0.9.
25428 Added pkgconfig files.
25430 2005-07-05 Andy Wingo <wingo@pobox.com>
25432 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
25433 Default to returning TRUE for the case when tranform_caps returns
25434 a fixed caps, like for identity or volume.
25436 * check/gst/gstbus.c (pound_bus_with_messages):
25437 * check/gst/gstmessage.c (START_TEST):
25438 * check/pipelines/simple_launch_lines.c (got_handoff): Application
25439 message API change.
25441 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
25442 logic weaks here: always run transform_caps, trying passthrough
25443 operation only if the original caps intersects with the transform.
25445 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
25446 source and sink caps.
25448 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
25449 Intersect the peer caps with the pad template before going into
25451 (gst_base_transform_transform_caps): More debugging.
25453 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
25456 2005-07-04 Edward Hervey <edward@fluendo.com>
25460 (gst_pad_add_*_probe): now returns the signal id for better wrapping
25463 2005-07-04 Andy Wingo <wingo@pobox.com>
25465 * check/gst/gstpad.c: Only set explicit caps on pads.
25467 2005-07-01 Andy Wingo <wingo@pobox.com>
25469 * tests/network-clock.scm: Commentary update.
25471 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
25472 Didn't really make sense, not implementable with basetransform,
25474 (gst_identity_transform): Unref inbuf via make_writable. Feeble
25475 attempt at implementing the sync property, needs an unlock method.
25477 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
25478 New func, by default returns the same caps (the identity
25480 (gst_base_transform_getcaps): Uses transform_caps to return
25481 something sensible.
25482 (gst_base_transform_setcaps): Complicated logic to get caps on
25483 both pads, even if they are different, and to call set_caps once
25484 for every time both pads get their caps set.
25485 (gst_base_transform_handle_buffer): Give the ref to the transform
25486 function. Allows in-place modification of the buffer.
25488 * gst/base/gstbasetransform.h (transform_caps): New class method.
25489 Given caps on one side, what can I do on the other.
25490 (set_caps): Take two caps, one for each side of the element.
25493 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
25494 caps in place. This is safe because we can check the mutability of
25495 the caps, and a good idea because fixate functions are just called
25496 as a matter of last resort. (Not actually implemented.)
25497 (gst_pad_set_caps): If the caps we're setting is actually the same
25498 as the existing pad caps, just update the pointer without calling
25499 setcaps. Assert that caps is either NULL or fixed, as per the
25502 * gst/gstghostpad.c: Update for fixate changes.
25504 2005-07-02 Andy Wingo <wingo@pobox.com>
25507 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
25508 two refcounts makes it immutable, which is enough. Doc more.
25510 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
25512 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
25513 Put the mini_object into GValue as a mini_object,
25514 not a gpointer, since that's how we declared
25517 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25519 * examples/pwg/Makefile.am:
25520 Fix buildbot again.
25522 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25524 * docs/pwg/building-testapp.xml:
25526 * examples/pwg/Makefile.am:
25529 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25532 * examples/Makefile.am:
25533 * examples/pwg/Makefile.am:
25534 * examples/pwg/extract.pl:
25535 Enable building the PWG examples.
25536 * docs/pwg/advanced-interfaces.xml:
25537 Add URI interface stub.
25538 * docs/pwg/advanced-types.xml:
25539 * docs/pwg/other-autoplugger.xml:
25540 * docs/pwg/appendix-porting.xml:
25541 * docs/pwg/pwg.xml:
25542 Add porting guide (mostly stubs), remove autoplugging (see ADM).
25543 * docs/pwg/building-boiler.xml:
25544 * docs/pwg/building-chainfn.xml:
25545 * docs/pwg/building-pads.xml:
25546 * docs/pwg/building-props.xml:
25547 * docs/pwg/building-state.xml:
25548 * docs/pwg/building-testapp.xml:
25549 Update the building-*.xml parts for 0.9 changes. All examples
25550 code blocks compile in examples/pwg/*.
25552 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25554 * docs/manual/advanced-autoplugging.xml:
25555 * docs/manual/appendix-checklist.xml:
25556 * docs/manual/appendix-integration.xml:
25557 * docs/manual/highlevel-components.xml:
25558 Fix playbin/decodebin examples, update docs a bit, mention bus
25559 instead of signals in various places, mention kmplayer and
25560 kaffeine since they have a working GStreamer backend in the KDE
25563 2005-06-30 Wim Taymans <wim@fluendo.com>
25566 * docs/design/draft-ghostpads.txt:
25567 * docs/design/draft-push-pull.txt:
25568 * docs/design/draft-query.txt:
25569 * docs/design/part-TODO.txt:
25570 * docs/design/part-query.txt:
25571 Added CHANGES-0.9 doc, updated status of other docs.
25576 2005-06-30 Wim Taymans <wim@fluendo.com>
25578 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25579 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25580 (gst_base_sink_change_state):
25581 * gst/base/gstbasesink.h:
25582 Some tweaks, only EOS and a buffer complete a preroll.
25584 2005-06-30 Andy Wingo <wingo@pobox.com>
25586 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
25587 activate_push down to the internal pad as well.
25589 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
25591 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25593 * gst/gsttaginterface.c:
25594 Some documentation fixes (#307394 and #307397).
25596 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
25598 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25600 * gst/gstvalue.c: (gst_value_intersect_list):
25601 Fix memleak (#309125).
25603 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25605 * docs/manual/advanced-dataaccess.xml:
25606 Fix fakesrc example to compile; doesn't work, bug somewhere...?
25607 * docs/manual/basics-pads.xml:
25608 Add reference for filtered caps to above chapter.
25610 2005-06-30 Wim Taymans <wim@fluendo.com>
25612 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
25613 (gst_bin_change_state):
25615 Lame attempt at making the state change function a bit
25618 2005-06-30 Wim Taymans <wim@fluendo.com>
25620 * docs/design/part-clocks.txt:
25621 * docs/design/part-element-sink.txt:
25622 * docs/design/part-events.txt:
25623 * docs/design/part-preroll.txt:
25624 * docs/design/part-states.txt:
25625 Some more tweeks and additions to the docs.
25627 2005-06-30 Wim Taymans <wim@fluendo.com>
25629 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25630 (default_have_data), (gst_pad_class_init), (gst_pad_init),
25631 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25632 (gst_pad_check_pull_range), (gst_pad_get_range),
25633 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
25635 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
25636 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25637 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25638 (gst_pad_remove_buffer_probe):
25639 Removed atomic operations, use existing LOCK.
25640 Move exception handling out of main code path.
25642 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25644 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25645 (silly_return_true_function), (gst_pad_class_init),
25646 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25647 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
25648 (gst_pad_send_event):
25649 Fix accumulator, add default value by using _emitv() instead
25650 of _emit() for signal emission.
25652 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25654 * docs/manual/advanced-dataaccess.xml:
25655 * examples/manual/Makefile.am:
25657 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
25660 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
25662 * gst/elements/gstfilesink.c: (gst_filesink_render):
25663 Simplify code so that we don't have to handle short
25664 writes and return GST_FLOW_ERROR if an error occured.
25666 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25668 * docs/gst/gstreamer-docs.sgml:
25669 Remove probes more.
25671 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25673 * docs/gst/gstreamer-sections.txt:
25674 * docs/gst/tmpl/gstpad.sgml:
25675 * docs/gst/tmpl/gstprobe.sgml:
25677 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25678 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
25679 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25680 (gst_pad_push_event), (gst_pad_send_event):
25682 * gst/gstutils.c: (gst_pad_add_data_probe),
25683 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25684 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25685 (gst_pad_remove_buffer_probe):
25687 Remove old probes, add new g-signal-based probes and some utility
25690 2005-06-29 Edward Hervey <edward@fluendo.com>
25692 * gst/gstelementfactory.c:
25695 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
25696 the definition to the header file.
25698 2005-06-29 Andy Wingo <wingo@pobox.com>
25700 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
25701 plugins from the source directory.
25703 2005-06-29 Wim Taymans <wim@fluendo.com>
25705 * docs/gst/tmpl/gstbuffer.sgml:
25706 * docs/gst/tmpl/gstclock.sgml:
25707 Some fixings for blantently wrong text.
25709 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
25711 * check/Makefile.am:
25712 * gst/gst.c: (add_path_func), (init_pre):
25713 * gst/gstregistry.c: (gst_registry_add_path):
25714 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
25715 only scan the GST_PLUGIN_PATH locations, and not add
25718 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
25720 * docs/gst/gstreamer-sections.txt:
25721 * docs/gst/tmpl/gstbasesrc.sgml:
25722 * gst/gstelement.c:
25723 * gst/gstelement.h:
25728 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25730 * docs/manual/advanced-autoplugging.xml:
25731 Fix autoplugging example.
25733 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25735 * docs/manual/advanced-autoplugging.xml:
25736 * docs/manual/mime-world.fig:
25737 Try to get autoplugging working, fix type detection. Fix text
25738 in hello-world image.
25740 2005-06-29 Wim Taymans <wim@fluendo.com>
25742 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25743 (gst_base_sink_change_state):
25747 map SIGNAL and BROADCAST to the right function.
25750 Remove redundant braces.
25752 * gst/gstpad.c: (gst_pad_set_caps):
25753 Don't call setcaps function when reseting caps to NULL.
25755 * gst/gstsystemclock.c: (gst_system_clock_dispose),
25756 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
25757 (gst_system_clock_id_unschedule):
25758 Use BROADCAST as this is what we do.
25760 2005-06-29 Wim Taymans <wim@fluendo.com>
25762 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25763 We are actually prerolling before commiting the state
25766 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25768 * docs/manual/advanced-clocks.xml:
25769 * docs/manual/advanced-interfaces.xml:
25770 * docs/manual/advanced-metadata.xml:
25771 * docs/manual/advanced-position.xml:
25772 * docs/manual/advanced-schedulers.xml:
25773 * docs/manual/advanced-threads.xml:
25774 * docs/manual/appendix-porting.xml:
25775 * docs/manual/basics-bins.xml:
25776 * docs/manual/basics-bus.xml:
25777 * docs/manual/basics-elements.xml:
25778 * docs/manual/basics-helloworld.xml:
25779 * docs/manual/basics-pads.xml:
25780 * docs/manual/highlevel-components.xml:
25781 * docs/manual/manual.xml:
25782 * docs/manual/thread.fig:
25783 Update (until threads/scheduling) Application Development Manual;
25784 remove GstThread, add GstBus, add simple porting checklist, add
25785 documentation for tag writing, clocks, make all examples until this
25786 part compile and run.
25787 * examples/manual/Makefile.am:
25788 Update from changes to Application Development Manual; add bus
25789 example, remove thread example.
25791 2005-06-28 Wim Taymans <wim@fluendo.com>
25793 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
25794 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
25795 (gst_bus_source_dispatch):
25796 Add debugging messages.
25797 Make internal methods static.
25798 Handle the case where the bus is flushed in the handler.
25800 * gst/gstelement.c: (gst_element_get_bus):
25801 Fix refcount in _get_bus();
25803 * gst/gstpipeline.c: (gst_pipeline_change_state),
25804 (gst_pipeline_get_clock_func):
25805 Clock refcounting fixes.
25806 Handle the case where preroll timed out more gracefully.
25808 * gst/gstsystemclock.c: (gst_system_clock_dispose):
25809 Clean up the internal thread in dispose. This is needed
25810 for subclasses that actually get disposed.
25812 * gst/schedulers/threadscheduler.c:
25813 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25814 (gst_thread_scheduler_dispose):
25815 Free thread pool in dispose.
25817 2005-06-28 Andy Wingo <wingo@pobox.com>
25819 * tests/network-clock-utils.scm (debug, print-event): New utils.
25821 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
25822 (*packet-loss*): Unified loss probability.
25823 (network-time): Report out-of-band events.
25825 * tests/plot-data: Add support for out-of-band events. Hack it
25826 into this script instead of passing it down the pipe; should fix
25829 2005-06-28 Wim Taymans <wim@fluendo.com>
25831 * docs/gst/gstreamer.types:
25832 * docs/gst/tmpl/gstbasesrc.sgml:
25833 * docs/gst/tmpl/gstpad.sgml:
25836 2005-06-28 Wim Taymans <wim@fluendo.com>
25838 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25839 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
25840 (gst_proxy_pad_do_fixatecaps):
25841 Correctly proxy the check_pull_range function.
25843 2005-06-28 Andy Wingo <wingo@pobox.com>
25845 * tests/network-clock.scm: Removed need for slib.
25847 2005-06-28 Wim Taymans <wim@fluendo.com>
25849 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
25850 (gst_basesink_preroll_queue_flush):
25851 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
25852 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
25853 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25854 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25855 (gst_proxy_pad_set_property):
25858 * gst/gstqueue.c: (gst_queue_init):
25859 The deprecated pad loop function is removed now.
25861 2005-06-28 Andy Wingo <wingo@pobox.com>
25863 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
25864 New parameters, simulate network packet loss.
25866 * tests/network-clock-utils.scm: Initialize the RNG.
25868 2005-06-28 Wim Taymans <wim@fluendo.com>
25870 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
25871 (gst_basesink_event), (gst_basesink_deactivate):
25872 Flushing the preroll queue always needs to unlock the waiters.
25874 2005-06-28 Edward Hervey <edward@fluendo.com>
25876 * gst/gstpipeline.c: (gst_pipeline_send_event):
25877 Wheen a seek was successful on a pipeline, set the stream_time to the
25878 seek offset in order to have a synchronized stream_time.
25880 2005-06-28 Wim Taymans <wim@fluendo.com>
25882 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25883 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
25884 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25885 (gst_proxy_pad_do_fixatecaps):
25886 Call wrapper function instead of just calling the function
25887 pointers. This takes care of any locking and whatmore.
25889 2005-06-28 Wim Taymans <wim@fluendo.com>
25891 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
25892 (gst_pad_pull_range):
25894 CONNECTED -> LINKED.
25896 2005-06-28 Andy Wingo <wingo@pobox.com>
25898 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
25899 source-munging commit!!!
25901 * gst/gstobject.c (gst_object_unref, gst_object_ref)
25902 (gst_object_sink): Take gpointer arguments, not GstObject --
25903 avoids casts. Like GLib.
25905 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
25908 2005-06-27 Andy Wingo <wingo@pobox.com>
25910 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
25913 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
25914 returns a sorted copy of the trace list.
25915 (gst_alloc_trace_print_live): New API, only prints traces with
25916 live objects. Sort the list.
25917 (gst_alloc_trace_print_all): Sort the list.
25918 (gst_alloc_trace_print): Align columns.
25920 * gst/elements/gstttypefindelement.c:
25921 * gst/elements/gsttee.c:
25922 * gst/base/gstbasesrc.c:
25923 * gst/base/gstbasesink.c:
25924 * gst/base/gstbasetransform.c:
25925 * gst/gstqueue.c: Adapt for pad activation changes.
25927 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
25929 (gst_pipeline_dispose): Drop ref on sched.
25931 * gst/gstpad.c (gst_pad_init): Set the default activate func.
25932 (gst_pad_activate_default): Push mode by default.
25933 (pre_activate_switch, post_activate_switch): New stubs, things to
25934 do before and after switching activation modes on pads.
25935 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
25936 the pad's activate function to choose which mode to activate.
25937 Shortcut on deactivation and call the right function directly.
25938 (gst_pad_activate_pull): New API, (de)activates a pad in pull
25940 (gst_pad_activate_push): New API, same for push mode.
25941 (gst_pad_set_activate_function)
25942 (gst_pad_set_activatepull_function)
25943 (gst_pad_set_activatepush_function): Setters for new API.
25945 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
25946 Trace all miniobjects.
25947 (gst_mini_object_make_writable): Unref the arg if we copy, like
25948 gst_caps_make_writable.
25950 * gst/gstmessage.c (_gst_message_initialize): No trace init.
25952 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
25953 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
25954 Adapt for new pad API.
25956 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
25958 * gst/gstelement.h:
25959 * gst/gstelement.c (gst_element_iterate_src_pads)
25960 (gst_element_iterate_sink_pads): New API functions.
25962 * gst/gstelement.c (iterator_fold_with_resync): New utility,
25963 should fold into gstiterator.c in some form.
25964 (gst_element_pads_activate): Simplified via use of fold and
25965 delegation of decisions to gstpad->activate.
25967 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
25970 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
25971 class once in init, like gstmessage. Didn't run into this issue
25972 but it seems correct. Don't initialize a trace, gstminiobject does
25975 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
25976 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
25978 (assert_live_count): New util function, uses alloc traces to check
25981 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
25982 To be modified when unlink drops the internal pad.
25984 2005-06-27 Wim Taymans <wim@fluendo.com>
25986 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
25987 (gst_bin_change_state):
25988 Cleanup the get_state() function a little, make sure it
25989 iterates the same set of elements.
25990 Added stub iterate_state_order().
25992 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
25994 * docs/gst/gstreamer-docs.sgml:
25995 * docs/gst/gstreamer-sections.txt:
25996 * docs/gst/gstreamer.types:
25997 * docs/gst/tmpl/gstbasesink.sgml:
25998 * docs/gst/tmpl/gstbasesrc.sgml:
25999 * docs/gst/tmpl/gstbasetransform.sgml:
26000 * docs/gst/tmpl/gstelement.sgml:
26001 * docs/gst/tmpl/gstiterator.sgml:
26002 * gst/base/gstbasesrc.c:
26003 * gst/base/gstbasesrc.h:
26004 * gst/base/gstbasetransform.h:
26005 * gst/gstelement.c:
26006 * gst/gstiterator.h:
26007 adding basetransform and iterator docs
26009 2005-06-27 Andy Wingo <wingo@pobox.com>
26011 * docs/design/part-activation.txt: Notes on how activation should
26012 work -- not quite implemented yet.
26014 2005-06-25 Wim Taymans <wim@fluendo.com>
26016 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
26017 At least get the chain function correct, needs more
26020 2005-06-25 Wim Taymans <wim@fluendo.com>
26022 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26023 (gst_basesink_handle_object), (gst_basesink_event),
26024 (gst_basesink_do_sync), (gst_basesink_handle_event),
26025 (gst_basesink_change_state):
26027 Right, two problems here: ghostpads don't take locks and
26028 glib _rec_mutex_lock_full() with depth==0 still locks.
26029 Catch illegal locking and g_warn them.
26031 2005-06-25 Wim Taymans <wim@fluendo.com>
26033 * check/states/sinks.c: (START_TEST), (gst_object_suite):
26034 Have to check for completion now...
26036 2005-06-25 Wim Taymans <wim@fluendo.com>
26038 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26039 (gst_basesink_handle_object), (gst_basesink_event),
26040 (gst_basesink_do_sync), (gst_basesink_handle_event),
26041 (gst_basesink_change_state):
26043 Unlock STREAM_LOCK whatever the recursion was.
26045 2005-06-25 Wim Taymans <wim@fluendo.com>
26047 * gst/base/gstbasesink.c: (gst_basesink_set_property),
26048 (gst_basesink_preroll_queue_empty),
26049 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
26050 (gst_basesink_event), (gst_basesink_do_sync),
26051 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
26052 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
26053 (gst_basesink_change_state):
26054 Reworked the base sink, handle event and buffer serialisation
26055 correctly and removed possible deadlock.
26056 Handle EOS correctly.
26058 2005-06-25 Wim Taymans <wim@fluendo.com>
26060 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
26061 (gst_pipeline_change_state):
26062 * tools/gst-launch.c: (check_intr), (event_loop), (main):
26063 Allow elements to post EOS in the state change function.
26064 Fix up -launch, make it exit the poll loop when the
26065 pipeline actually changed state.
26066 Fix up warning parsing in -launch.
26068 2005-06-25 Wim Taymans <wim@fluendo.com>
26070 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
26071 (gst_tee_sink_activate):
26072 Core takes STREAM_LOCK for us now.
26074 2005-06-25 Wim Taymans <wim@fluendo.com>
26076 * gst/gstelement.c: (gst_element_get_state_func),
26077 (gst_element_set_state):
26078 * gst/gstelement.h:
26079 * gst/gstmessage.c: (gst_message_parse_error),
26080 (gst_message_parse_warning):
26081 Keep track of current target state while performing a state
26082 change so that subclasses can do something interesting.
26083 Fix parsing of warning/error messages when GError is NULL.
26085 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
26087 * docs/gst/Makefile.am:
26088 * docs/gst/gstreamer-docs.sgml:
26089 * docs/gst/gstreamer-sections.txt:
26090 * docs/gst/gstreamer.types:
26091 * docs/gst/tmpl/gstbasesink.sgml:
26092 * docs/gst/tmpl/gstbasesrc.sgml:
26093 * docs/gst/tmpl/gstbin.sgml:
26094 * docs/gst/tmpl/gstcompat.sgml:
26095 * docs/gst/tmpl/gstfakesink.sgml:
26096 * docs/gst/tmpl/gstfakesrc.sgml:
26097 * docs/gst/tmpl/gstfilesink.sgml:
26098 * docs/gst/tmpl/gstfilesrc.sgml:
26099 * docs/gst/tmpl/gstindex.sgml:
26100 * docs/manual/appendix-quotes.xml:
26101 * gst/base/gstbasesrc.h:
26102 * gst/elements/gstfakesrc.h:
26103 * gst/gstmessage.h:
26104 start pulling in base classes and elements in our docs
26106 2005-06-24 Stefan Kost <ensonic@users.sf.net>
26108 * docs/gst/Makefile.am:
26109 * docs/libs/Makefile.am:
26110 fixed make distcheck with gtk-doc 1.3
26112 2005-06-23 Wim Taymans <wim@fluendo.com>
26114 * gst/gstelement.c: (gst_element_get_state_func),
26115 (gst_element_set_state), (gst_element_change_state):
26116 When the state did not change, also report NO_PREROLL
26119 2005-06-23 Wim Taymans <wim@fluendo.com>
26121 * gst/gstpad.c: (gst_pad_event_default):
26122 * gst/gstqueue.c: (gst_queue_loop):
26123 No unsafe task pausing please.
26125 2005-06-23 Wim Taymans <wim@fluendo.com>
26127 * gst/schedulers/threadscheduler.c:
26128 (gst_thread_scheduler_task_start),
26129 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
26130 Ref the task before pushing it on the threadpool. This
26131 makes sure that we have a ref when the threadfunction is
26134 2005-06-23 Andy Wingo <wingo@pobox.com>
26136 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
26137 offset is greater than the file's size.
26139 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
26140 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
26141 * gst/gstobject.c (gst_object_class_init): Make the class lock
26142 recursive. Wim won't let me drop deep_notify. Decodebin works
26143 again, whoopdy doo.
26145 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
26146 internal pad, and hacks accordingly. Doesn't do it on the target
26147 pad because we change its caps. Probably catches all cases of
26149 (gst_ghost_pad_set_property): Connect to notify::caps as
26152 * tests/network-clock.scm (plot-simulation): Pipe data to the
26153 elite python skript.
26155 * tests/network-clock-utils.scm (define-parameter): New macro,
26156 defines a parameter that can be set via the command line.
26157 (set-parameter!, parse-parameter-arguments): Command line args
26160 * tests/plot-data: Simple matplotlib-based plotter, takes input on
26163 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
26165 * gst/elements/gsttypefindelement.c:
26166 (gst_type_find_element_handle_event):
26167 Don't restart typefinding on a discont.
26168 * gst/gstelement.c: (gst_element_set_state):
26169 Debug spelling fix.
26170 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
26171 Allow changing mode of an active pad.
26172 Debug output fixes.
26173 * gst/registries/gstlibxmlregistry.c: (load_feature):
26174 Don't cast a static pad template to a normal pad template.
26176 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
26178 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26179 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
26180 remove gst_strtoll completely, since it didn't actually do
26181 anything more than what g_ascii_strtoull already does.
26182 check for range errors when deserializing
26183 do a cast for the unsigned cases; but further fixing needs
26184 a decision on what the interpretation of "(int)" and
26185 deserialization should be for values that fall outside the
26186 type's boundaries (ie, refuse, or interpret as casting)
26188 2005-06-23 Wim Taymans <wim@fluendo.com>
26190 * check/Makefile.am:
26191 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
26192 * docs/design/part-live-source.txt:
26193 * docs/design/part-states.txt:
26194 * gst/base/gstbasesrc.c: (gst_basesrc_init),
26195 (gst_basesrc_set_live), (gst_basesrc_is_live),
26196 (gst_basesrc_get_range), (gst_basesrc_activate),
26197 (gst_basesrc_change_state):
26198 * gst/base/gstbasesrc.h:
26199 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26200 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26201 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
26202 * gst/gstelement.c: (gst_element_get_state_func),
26203 (gst_element_set_state):
26204 * gst/gstelement.h:
26206 * tools/gst-launch.c: (event_loop), (main):
26207 Added support for live sources and other elements that
26209 Updated design docs, added live-source design doc.
26210 Implemented live source functionality in basesrc
26211 Fix error condition in _bin_get_state()
26212 Implement live source handling in -launch.
26213 Added check for live sources.
26214 Fixed case in GstBin where elements were changed state
26218 2005-06-23 Andy Wingo <wingo@pobox.com>
26220 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
26221 borken refcounting.
26223 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
26224 gst_caps_replace takes care of this for us.
26226 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
26227 gst_pad_set_caps on the target, not just its setcaps() function.
26229 * tests/network-clock.scm:
26230 * tests/network-clock-utils.scm: A network clock simulator.
26231 Something of an algorithmic testbed before doing something in C.
26233 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
26235 * check/Makefile.am:
26236 * check/gst/capslist.h:
26237 copy over from 0.8, and add two with bitmasks specified with
26239 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
26240 add test to parse everything from capslist.h
26241 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
26243 add test for structure deserialization
26244 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26245 add tests for deserialization of strings to int types
26246 * gst/gststructure.c: (gst_structure_nth_field_name):
26247 * gst/gststructure.h:
26248 add a way to get the name of a field referenced by index
26249 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
26250 instead of checking if the resulting long long lies between
26251 min and max, we check if the long long would fit into
26252 a number of bytes for the final type.
26253 This fixes cases where a string represents 2^32 - 1, which
26254 when cast to int would be the (valid) -1, but is bigger than
26257 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
26259 * gst/parse/grammar.y:
26260 add a log line for type deserialization
26262 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
26264 * check/gst/gstvalue.c: (START_TEST):
26265 * gst/gstvalue.c: (gst_value_deserialize):
26266 return long long, not int, so gint64 deserialization actually
26267 works. Is there any flag that makes the compiler check this ?
26270 2005-06-22 Wim Taymans <wim@fluendo.com>
26273 Added convenience macros for setting buffers in GValue.
26275 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
26277 * check/gst/.cvsignore:
26278 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26279 add a test deserializing int64, and comment part out because
26282 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
26284 * check/Makefile.am:
26285 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
26286 * testsuite/Makefile.am:
26287 * testsuite/caps/Makefile.am:
26288 * testsuite/caps/value_serialize.c:
26289 * testsuite/test_gst_init.c:
26290 move a value_serialize test over
26292 2005-06-20 Wim Taymans <wim@fluendo.com>
26297 * gst/gstvalue.c: (gst_value_compare_buffer),
26298 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
26299 (gst_value_compare_flags), (gst_value_serialize_flags),
26300 (gst_value_deserialize_flags), (_gst_value_initialize):
26301 Fix serialisation of buffers, they are not boxed types anymore
26303 2005-06-20 Wim Taymans <wim@fluendo.com>
26305 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
26306 Testcase to show error in buffer-on-caps serialisation.
26308 2005-06-20 Andy Wingo <wingo@pobox.com>
26310 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
26311 will be adding to later.
26313 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
26314 if its socks fill with rocks.
26315 (gst_system_clock_obtain): Set the name on object construction.
26316 Avoid double-checked locking.
26318 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
26320 * gst/gsturi.c: (gst_element_make_from_uri):
26321 Fix potential endless loop.
26323 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26325 * check/Makefile.am:
26327 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
26329 move over from testsuite dir and clean up
26332 * testsuite/Makefile.am:
26333 * testsuite/tags/.cvsignore:
26334 * testsuite/tags/Makefile.am:
26335 * testsuite/tags/merge.c:
26336 remove testsuite/tags
26338 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26340 * docs/gst/gstreamer-sections.txt:
26341 * docs/gst/tmpl/gstenumtypes.sgml:
26342 * win32/gstenumtypes.c:
26343 clean up documentation build a little
26345 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26347 * check/gstcheck.h:
26348 add macros for checking refcounts on objects and caps
26349 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
26350 add some more unit tests
26351 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26352 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
26353 fix leaked refcounts (I hope :)) so unittest works
26357 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26359 * configure.ac: back to HEAD
26361 === release 0.9.1 ===
26363 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
26369 2005-06-17 Andy Wingo <wingo@pobox.com>
26371 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
26372 assert; it's always possible that the pad gets deactivated in
26373 between the checks in gstpad.c and the implementation. Rely on
26374 finish_preroll() to return a FLUSHING or similar instead of on the
26377 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
26378 clock and post an EOS message if we come out of finish_preroll in
26381 2005-06-16 David Schleef <ds@schleef.org>
26383 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
26384 (gst_capsfilter_set_property): Allow NULL as possible value
26385 for filter_caps property, indicating GST_CAPS_ANY.
26387 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
26389 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
26391 * gst/schedulers/Makefile.am:
26393 * gstreamer.spec.in:
26396 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
26398 * gstreamer.spec.in:
26401 2005-06-08 Andy Wingo <wingo@pobox.com>
26403 * gst/gstutils.c: RPAD fixes all around.
26404 (gst_element_link_pads): Refcounting fixes.
26406 * tools/gst-inspect.c:
26407 * tools/gst-xmlinspect.c:
26409 * gst/base/gsttypefindhelper.c:
26410 * gst/base/gstbasesink.c:
26411 * gst/gstqueue.c: RPAD fixes.
26413 * gst/gstghostpad.h:
26414 * gst/gstghostpad.c: New ghost pad implementation as full proxy
26415 pads. The tricky thing is they provide both source and sink
26416 interfaces, since they proxy the internal pad for the external
26417 pad, and vice versa. Implement with lower-level ProxyPad objects,
26418 with the interior proxy pad as a child of the exterior ghost pad.
26419 Should write a doc on this.
26421 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
26422 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
26425 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
26426 pads are real pads. No ghost pads in this file. Not documenting
26427 the myriad s/RPAD/PAD/ and REALIZE fixes.
26428 (gst_pad_class_init): Add properties for "direction" and
26429 "template". Both are construct-only, so they can't change during
26430 the life of the pad. Fixes properly deriving from GstPad.
26431 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
26432 derived objects, just set properties when creating the objects via
26434 (gst_pad_get_parent): Implement as a function, return NULL if the
26435 parent is not an element.
26436 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
26437 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
26439 * gst/gstobject.c (gst_object_class_init): Make name a construct
26440 property. Don't set it in the object init.
26442 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
26443 with UNKNOWN direction.
26444 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
26445 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
26446 (gst_element_remove_pad): Remove ghost-pad special cases.
26447 (gst_element_pads_activate): Remove rpad cruft.
26449 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
26450 catch the pad's-parent-not-an-element case.
26452 * gst/gst.h: Include gstghostpad.h.
26454 * gst/gst.c (init_post): No more real, ghost pads.
26456 * gst/Makefile.am: Add gstghostpad.[ch].
26458 * check/Makefile.am:
26459 * check/gst/gstbin.c:
26460 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
26461 into a bin creates ghost pads, and that the refcounts are right.
26462 Partly moved from gstbin.c.
26464 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
26466 * check/gst-libs/.cvsignore:
26467 * check/gst/.cvsignore:
26468 * check/pipelines/.cvsignore:
26470 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
26471 (START_TEST), (cleanup_suite), (main):
26472 add some tests related to cleanup after running pipelines
26474 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
26476 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
26477 add a testsuite for GstBuffer
26479 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
26481 * gst/gstminiobject.h:
26482 add defines for accessing the refcount
26484 2005-06-03 Stefan Kost <ensonic@users.sf.net>
26486 * Makefile.am: added support for html unit test coverage reports
26488 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
26490 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26491 Free existing caps if the capsfilter changes. Add a FIXME about
26492 setting those caps on the pads.
26494 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
26495 Before adding a ghost pad to a parent bin, check that there isn't
26496 already one for the element on the bin. Prevents infinite recursion
26497 when using decodebin in parse pipelines. Andy says he'll rewrite the
26498 way this works anyway, so ignore the hack.
26500 2005-06-02 Andy Wingo <wingo@pobox.com>
26502 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
26503 file size, pass it on to the type find helper.
26505 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
26506 segment_start and segment_end properly according to the seek
26507 method. Segment_end is still a bit flaky because offset can be
26508 negative for CUR and END cases, but it takes -1 as an "unset"
26511 2005-06-02 Wim Taymans <wim@fluendo.com>
26513 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
26514 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
26515 (gst_basesink_activate):
26516 * gst/base/gstbasesink.h:
26517 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26518 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26519 (gst_pad_query), (gst_pad_start_task):
26521 * gst/gstqueue.c: (gst_queue_bufferalloc),
26522 (gst_queue_handle_sink_event), (gst_queue_chain):
26523 Bufferalloc: return GstFlowReturn to more accuratly report
26524 why allocation failed.
26526 2005-06-02 Wim Taymans <wim@fluendo.com>
26528 * gst/gstpipeline.c: (gst_pipeline_send_event):
26529 Take snapshot of state without blocking.
26531 2005-06-02 Wim Taymans <wim@fluendo.com>
26533 * docs/design/part-TODO.txt:
26534 * docs/design/part-caps.txt:
26535 * docs/design/part-clocks.txt:
26536 * docs/design/part-negotiation.txt:
26537 * docs/design/part-preroll.txt:
26540 2005-05-30 Wim Taymans <wim@fluendo.com>
26542 * gst/elements/gstidentity.c: (gst_identity_event),
26543 (gst_identity_transform), (gst_identity_get_property):
26544 Protect last_message property as it is accessed from
26547 2005-05-30 Wim Taymans <wim@fluendo.com>
26549 * gst/gstelement.c: (gst_element_init),
26550 (gst_element_pads_activate), (gst_element_change_state):
26551 Slicker pad activation code.
26553 2005-05-30 Wim Taymans <wim@fluendo.com>
26556 * gst/gstelement.h:
26557 * gst/gstelementfactory.h:
26559 Move elementfactory methods to separate .h file.
26561 2005-05-30 Wim Taymans <wim@fluendo.com>
26563 * docs/design/part-overview.txt:
26564 * gst/gstsystemclock.h:
26565 Small typo fixes, doc updates.
26567 2005-05-30 Wim Taymans <wim@fluendo.com>
26569 * gst/gst.c: (gst_init_get_popt_table), (init_post),
26570 (init_popt_callback):
26571 Remove cpu-opt flag.
26573 2005-05-30 Wim Taymans <wim@fluendo.com>
26575 * gst/gstbuffer.c: (gst_subbuffer_finalize),
26576 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
26578 Avoid typechecking in places where not needed.
26579 Added accessor for malloc_data.
26581 2005-05-30 Wim Taymans <wim@fluendo.com>
26583 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
26584 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
26585 (gst_pad_configure_sink), (gst_pad_configure_src),
26586 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
26587 (gst_pad_start_task):
26588 Propagate errors from _set_caps() in configure_src/sink
26589 functions instead of returning TRUE.
26590 FLUSH events can travel up and downstream
26593 2005-05-30 Wim Taymans <wim@fluendo.com>
26595 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26596 (gst_basesink_activate):
26597 Handle EOS in preroll.
26599 2005-05-30 Wim Taymans <wim@fluendo.com>
26601 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26602 (gst_queue_loop), (gst_queue_handle_src_event):
26603 Remove old pieces of code
26604 Flushing the queue in an upstream event is a very bad idea.
26606 2005-05-26 Andy Wingo <wingo@pobox.com>
26608 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
26609 gst_value_set_mini_object so as to add a ref on the object (which
26610 will be removed when the value is unset).
26612 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
26613 arg type in ::handoff.
26615 * gst/gstelement.c (gst_element_change_state): Also deactivate
26616 pads in READY->NULL, just in case the element didn't make it to
26617 PAUSED. Wingo tested, Wim approved.
26619 2005-05-26 Wim Taymans <wim@fluendo.com>
26621 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26622 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26623 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
26624 A flushing pad cannot be used to alloc_buffer from.
26626 2005-05-26 Wim Taymans <wim@fluendo.com>
26628 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
26629 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
26630 (gst_bus_source_dispatch), (gst_bus_source_finalize),
26631 (gst_bus_create_watch), (gst_bus_add_watch_full):
26633 Implement a real GSource and use g_main_context_wakeup() to
26634 signal new messages instead of the socketpair.
26636 2005-05-25 Wim Taymans <wim@fluendo.com>
26638 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
26639 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
26640 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26641 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26642 (gst_pad_send_event), (gst_pad_start_task):
26643 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
26644 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26645 (gst_queue_sink_activate), (gst_queue_src_activate),
26646 (gst_queue_change_state):
26648 Fix state changes for non sinks. We now change sinks, then elements
26649 with unconnected srcpads, then the rest.
26650 More efficient queue unlocking in flush and state changes.
26651 Set the pad activate mode even if it does not have an activate
26654 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26656 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
26657 Don't go in pull mode for non-seekable sources.
26658 * gst/elements/gsttypefindelement.h:
26659 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26660 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
26661 (free_entry), (stop_typefinding),
26662 (gst_type_find_element_handle_event), (find_peek),
26663 (gst_type_find_element_chain), (do_pull_typefind),
26664 (gst_type_find_element_change_state):
26665 Allow typefinding (w/o seeking) in push-mode, simplified version
26666 of what was in 0.8.
26667 * gst/gstutils.c: (gst_buffer_join):
26669 gst_buffer_join() from 0.8.
26671 2005-05-25 Wim Taymans <wim@fluendo.com>
26673 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26674 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26675 (gst_pad_send_event), (gst_pad_start_task):
26676 Disable attempt at mode switching until it is figured out.
26678 2005-05-25 Wim Taymans <wim@fluendo.com>
26680 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
26681 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26682 (gst_basesink_finish_preroll), (gst_basesink_chain),
26683 (gst_basesink_loop), (gst_basesink_activate),
26684 (gst_basesink_change_state):
26685 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
26686 (gst_basesrc_get_range), (gst_basesrc_loop),
26687 (gst_basesrc_activate):
26688 * gst/elements/gsttee.c: (gst_tee_sink_activate):
26689 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26690 (gst_real_pad_init), (gst_real_pad_set_property),
26691 (gst_real_pad_get_property), (gst_pad_set_active),
26692 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
26693 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
26694 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
26695 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
26696 (gst_pad_event_default_dispatch), (gst_pad_event_default),
26697 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
26698 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
26699 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26700 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
26701 (gst_pad_stop_task):
26703 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26704 (gst_queue_loop), (gst_queue_src_activate):
26705 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
26706 (gst_task_get_state):
26708 * gst/schedulers/threadscheduler.c:
26709 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
26710 Implement gst_pad_pause/start/stop_task(), take STREAM lock
26712 Remove ACTIVE pad flag, use FLUSHING everywhere
26713 Added _pad_chain(), _pad_get_range() to call chain/getrange
26715 Add locks around IS_FLUSHING when reading.
26716 Take STREAM lock in chain(), get_range() functions so plugins
26717 don't need to take it anymore.
26721 2005-05-25 Wim Taymans <wim@fluendo.com>
26723 * tools/gst-launch.c: (event_loop):
26724 Unref message after using its contents instead of
26727 2005-05-24 Wim Taymans <wim@fluendo.com>
26729 * docs/design/draft-ghostpads.txt:
26730 * docs/design/draft-push-pull.txt:
26731 * docs/design/draft-query.txt:
26732 * docs/design/part-overview.txt:
26733 Docs updates, added general overview doc.
26735 2005-05-21 David Schleef <ds@schleef.org>
26737 * docs/gst/tmpl/old/GstBin.sgml:
26738 * docs/gst/tmpl/old/GstBuffer.sgml:
26739 * docs/gst/tmpl/old/GstCaps.sgml:
26740 * docs/gst/tmpl/old/GstClock.sgml:
26741 * docs/gst/tmpl/old/GstCompat.sgml:
26742 * docs/gst/tmpl/old/GstData.sgml:
26743 * docs/gst/tmpl/old/GstElement.sgml:
26744 * docs/gst/tmpl/old/GstEvent.sgml:
26745 * docs/gst/tmpl/old/GstIndex.sgml:
26746 * docs/gst/tmpl/old/GstStructure.sgml:
26747 * docs/gst/tmpl/old/GstTag.sgml:
26748 * docs/gst/tmpl/old/cothreads.sgml:
26749 * docs/gst/tmpl/old/cothreads_compat.sgml:
26750 * docs/gst/tmpl/old/gettext.sgml:
26751 * docs/gst/tmpl/old/gobject2gtk.sgml:
26752 * docs/gst/tmpl/old/grammar.tab.sgml:
26753 * docs/gst/tmpl/old/gst-i18n-app.sgml:
26754 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
26755 * docs/gst/tmpl/old/gst_private.sgml:
26756 * docs/gst/tmpl/old/gstaggregator.sgml:
26757 * docs/gst/tmpl/old/gstarch.sgml:
26758 * docs/gst/tmpl/old/gstatomic_impl.sgml:
26759 * docs/gst/tmpl/old/gstbufferstore.sgml:
26760 * docs/gst/tmpl/old/gstdata_private.sgml:
26761 * docs/gst/tmpl/old/gstdisksink.sgml:
26762 * docs/gst/tmpl/old/gstdisksrc.sgml:
26763 * docs/gst/tmpl/old/gstelementfactory.sgml:
26764 * docs/gst/tmpl/old/gstextratypes.sgml:
26765 * docs/gst/tmpl/old/gstfakesink.sgml:
26766 * docs/gst/tmpl/old/gstfakesrc.sgml:
26767 * docs/gst/tmpl/old/gstfdsink.sgml:
26768 * docs/gst/tmpl/old/gstfdsrc.sgml:
26769 * docs/gst/tmpl/old/gstfilesink.sgml:
26770 * docs/gst/tmpl/old/gstfilesrc.sgml:
26771 * docs/gst/tmpl/old/gsthttpsrc.sgml:
26772 * docs/gst/tmpl/old/gstidentity.sgml:
26773 * docs/gst/tmpl/old/gstindexfactory.sgml:
26774 * docs/gst/tmpl/old/gstmarshal.sgml:
26775 * docs/gst/tmpl/old/gstmd5sink.sgml:
26776 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
26777 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
26778 * docs/gst/tmpl/old/gstpadtemplate.sgml:
26779 * docs/gst/tmpl/old/gstpipefilter.sgml:
26780 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
26781 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
26782 * docs/gst/tmpl/old/gstshaper.sgml:
26783 * docs/gst/tmpl/old/gstspider.sgml:
26784 * docs/gst/tmpl/old/gstspideridentity.sgml:
26785 * docs/gst/tmpl/old/gststatistics.sgml:
26786 * docs/gst/tmpl/old/gsttee.sgml:
26787 * docs/gst/tmpl/old/gsttimecache.sgml:
26788 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
26789 * docs/gst/tmpl/old/gstxmlregistry.sgml:
26790 * docs/gst/tmpl/old/gthread-cothreads.sgml:
26791 * docs/gst/tmpl/old/types.sgml:
26792 I didn't intend to add these or check them in.
26794 2005-05-19 David Schleef <ds@schleef.org>
26796 * configure.ac: Use -no-common everywhere. In a sane world, it
26797 would be the default in libtool, because without it, you can't
26798 build DLLs on Windows.
26799 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
26800 * docs/gst/gstreamer-sections.txt:
26801 * docs/gst/tmpl/gstcpu.sgml:
26802 * docs/gst/tmpl/gstdata.sgml:
26803 * docs/gst/tmpl/gstthread.sgml:
26805 2005-05-19 David Schleef <ds@schleef.org>
26807 * gst/gstminiobject.c: (gst_value_set_mini_object),
26808 (gst_value_take_mini_object), (gst_value_get_mini_object):
26809 * gst/gstminiobject.h: Add GValue set/get functions.
26811 2005-05-19 Wim Taymans <wim@fluendo.com>
26813 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
26814 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
26815 (gst_subbuffer_init), (gst_buffer_is_span_fast):
26817 * gst/gstbus.c: (gst_bus_post):
26818 * gst/gstelement.c: (gst_element_get_random_pad):
26819 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
26820 Make subbufer unref the parent in finalize.
26821 some more debugging info.
26824 2005-05-19 Wim Taymans <wim@fluendo.com>
26826 * gst/base/gstbasesink.c: (gst_basesink_class_init),
26827 (gst_basesink_init), (gst_basesink_finalize),
26828 (gst_basesink_activate), (gst_basesink_change_state):
26829 Don't free preroll queue too early.
26831 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26835 Hi, I'm outdated. Please shoot me.
26837 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26839 * gst/gstpipeline.c: (gst_pipeline_send_event):
26840 Do not access variables after they have been deleted.
26842 2005-05-19 Wim Taymans <wim@fluendo.com>
26844 * tools/gst-inspect.c: (print_plugin_features):
26845 A plugin feature does unfortunatly not use the
26848 2005-05-18 Wim Taymans <wim@fluendo.com>
26850 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
26851 Port _span() functions to new subbuffers.
26853 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26855 * gst/gstbin.c: (gst_bin_add_func):
26856 Fix clock settery in bins when adding kids after the clock has
26859 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26861 * gst/elements/gstidentity.c: (gst_identity_class_init):
26862 Workaround until signals support GstMiniObject.
26864 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
26867 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
26869 2005-05-18 Wim Taymans <wim@fluendo.com>
26871 * gst/base/Makefile.am:
26872 * gst/base/gstadapter.c: (gst_adapter_base_init),
26873 (gst_adapter_class_init), (gst_adapter_init),
26874 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
26875 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
26876 (gst_adapter_flush), (gst_adapter_available),
26877 (gst_adapter_available_fast):
26878 * gst/base/gstadapter.h:
26879 Ported and added adapter to the base classes.
26881 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
26884 * gst/gstmessage.c:
26885 Make sure the class is reffed/unreffed once before threads can be
26886 used. Fixes #304551.
26888 2005-05-17 Wim Taymans <wim@fluendo.com>
26890 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
26891 (gst_basesink_chain_unlocked), (gst_basesink_activate):
26892 * gst/gstminiobject.c: (gst_mini_object_get_type),
26893 (gst_mini_object_free):
26894 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
26895 (gst_pad_push), (gst_pad_push_event):
26896 * gst/gstqueue.c: (gst_queue_change_state):
26897 Don't queue buffers in basesink when we are flushing.
26898 Unref buffer when flushing in basesink.
26899 Flush queue when going to READY
26900 Unref buffer when _push() returns an error.
26901 Don't free MiniObject instance when refcount is incremented
26902 in _finalize() so that we can recover objects.
26904 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
26906 * docs/manual/advanced-schedulers.xml:
26907 * docs/manual/appendix-checklist.xml:
26908 * docs/pwg/advanced-clock.xml:
26909 * docs/pwg/advanced-interfaces.xml:
26910 * docs/pwg/advanced-request.xml:
26911 * docs/pwg/advanced-types.xml:
26912 * docs/pwg/intro-preface.xml:
26913 * examples/plugins/example.c: (gst_example_get_type),
26914 (gst_example_class_init), (gst_example_chain),
26915 (gst_example_set_property), (gst_example_get_property),
26916 (gst_example_change_state), (plugin_init):
26917 * examples/plugins/example.h:
26920 2005-05-17 Wim Taymans <wim@fluendo.com>
26922 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
26923 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
26924 * gst/gstqueue.c: (gst_queue_change_state):
26925 Clear queue when going to READY.
26926 Remove IN_SETCAPS flag too.
26928 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
26930 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
26931 Remove implicit cast from gboolean to GstElementStateReturn;
26932 make sure we still return failure in paused => ready case if
26933 the parent class fails to change state and our own stop
26936 2005-05-17 Wim Taymans <wim@fluendo.com>
26938 * tools/gst-launch.c: (event_loop):
26939 Message was unreffed too soon.
26941 2005-05-16 Andy Wingo <wingo@pobox.com>
26943 * gst/gstbin.c (sink_iterator_filter): Err... um...
26945 * check/gst/gstbin.c (test_ghost_pads): New test for the
26946 ghosting-if-elements-not-in-same-bin behavior.
26948 2005-05-16 David Schleef <ds@schleef.org>
26950 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
26951 accessing refcount directly.
26953 2005-05-15 David Schleef <ds@schleef.org>
26955 * check/Makefile.am: remove GstData checks
26956 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
26957 * gst/Makefile.am: add miniobject, remove data
26958 * gst/gst.h: add miniobject, remove data
26959 * gst/gstdata.c: remove
26960 * gst/gstdata.h: remove
26961 * gst/gstdata_private.h: remove
26962 * gst/gsttypes.h: remove GstEvent and GstMessage
26963 * gst/gstelement.c: (gst_element_post_message): fix for API changes
26964 * gst/gstmarshal.list: change BOXED -> OBJECT
26966 Implement GstMiniObject.
26967 * gst/gstminiobject.c:
26968 * gst/gstminiobject.h:
26970 Modify to be subclasses of GstMiniObject.
26971 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
26972 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
26973 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
26974 (gst_subbuffer_get_type), (gst_subbuffer_init),
26975 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
26978 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
26979 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
26980 (_gst_event_copy), (gst_event_new):
26982 * gst/gstmessage.c: (_gst_message_initialize),
26983 (gst_message_get_type), (gst_message_class_init),
26984 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
26985 (gst_message_new), (gst_message_new_error),
26986 (gst_message_new_warning), (gst_message_new_tag),
26987 (gst_message_new_state_changed), (gst_message_new_application):
26988 * gst/gstmessage.h:
26989 * gst/gstprobe.c: (gst_probe_perform),
26990 (gst_probe_dispatcher_dispatch):
26992 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
26993 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
26994 (_gst_query_copy), (gst_query_new):
26996 Update elements for GstData -> GstMiniObject changes
26998 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
26999 (gst_queue_chain), (gst_queue_loop):
27000 * gst/elements/gstbufferstore.c:
27001 (gst_buffer_store_add_buffer_func),
27002 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
27003 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27004 (gst_fakesink_render):
27005 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27006 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
27007 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
27008 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
27009 (gst_filesrc_create_read):
27010 * gst/elements/gstidentity.c: (gst_identity_class_init):
27011 * gst/elements/gsttypefindelement.c:
27012 (gst_type_find_element_src_event), (free_entry_buffers),
27013 (gst_type_find_element_handle_event):
27014 * libs/gst/dataprotocol/dataprotocol.c:
27015 (gst_dp_header_from_buffer):
27016 * libs/gst/dataprotocol/dataprotocol.h:
27017 * libs/gst/dataprotocol/dp-private.h:
27019 2005-05-15 David Schleef <ds@schleef.org>
27021 * gst/elements/gstelements.c: Don't include headers that were
27024 2005-05-15 David Schleef <ds@schleef.org>
27026 * gst/elements/Makefile.am: Remove some elements that don't
27027 need to be in the core (or even exist at all).
27028 * gst/elements/gstaggregator.c:
27029 * gst/elements/gstaggregator.h:
27030 * gst/elements/gstmd5sink.c:
27031 * gst/elements/gstmd5sink.h:
27032 * gst/elements/gstmultifilesrc.c:
27033 * gst/elements/gstmultifilesrc.h:
27034 * gst/elements/gstpipefilter.c:
27035 * gst/elements/gstpipefilter.h:
27036 * gst/elements/gstshaper.c:
27037 * gst/elements/gstshaper.h:
27038 * gst/elements/gststatistics.c:
27039 * gst/elements/gststatistics.h:
27040 * po/POTFILES.in: Remove above files.
27042 2005-05-14 Andy Wingo <wingo@pobox.com>
27044 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
27045 so as to get the refs right.
27046 (sink_iterator_filter): New function, wraps bin_element_is_sink,
27047 unreffing objects that don't pass the filter.
27049 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
27050 gst_element_set_bus.
27051 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
27052 normal cases, this will destroy the bus.
27054 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
27057 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
27060 2005-05-13 Andy Wingo <wingo@pobox.com>
27062 * gst/gstutils.c (gst_element_link_pads): Instead of calling
27063 gst_pad_link, call pad_link_maybe_ghosting,
27064 (pad_link_maybe_ghosting): Links pads, making sure that the
27065 elements being linked are in the same bin.
27066 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
27067 Helpers for pad_link_maybe_ghosting.
27069 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
27072 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
27074 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
27076 * docs/design/part-element-source.txt:
27079 2005-05-12 Wim Taymans <wim@fluendo.com>
27081 * gst/base/gstbasesink.c: (gst_basesink_init),
27082 (gst_basesink_activate):
27083 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
27084 (gst_basesrc_is_seekable):
27085 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
27086 (bin_element_is_sink), (gst_bin_change_state):
27087 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27088 * gst/gstelement.h:
27089 Identify sinks by their flag to avoid overly complicated
27091 Do state changes even for elements not reachable from the
27093 BaseSink is a sink now :)
27094 Some more debugging info in the basesrc.
27097 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27099 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
27100 Implement _query on a bin, similar to _send_event.
27102 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
27104 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
27105 Discont event offset format should be GST_FORMAT_BYTES,
27106 not GST_FORMAT_TIME.
27108 2005-05-12 Wim Taymans <wim@fluendo.com>
27110 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
27111 Same fix as Ronald's but without the signal.
27113 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27115 * gst/gstutils.c: (gst_element_query_position):
27116 No, an element is not a pad.
27118 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27120 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
27121 (gst_bin_get_state):
27122 If a child is removed from a bin while we remove the child from
27123 the bin and while we're retrieving its state, signal this to the
27124 get_state function so we abort the wait (instead of waiting for
27125 a timeout) and can immediately re-iterate over all other elements.
27127 2005-05-12 Wim Taymans <wim@fluendo.com>
27129 * gst/base/Makefile.am:
27130 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
27131 (gst_basesrc_start):
27132 * gst/base/gstbasesrc.h:
27133 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
27134 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
27135 (gst_pushsrc_init), (gst_pushsrc_create):
27136 * gst/base/gstpushsrc.h:
27137 Added is_seekable to BaseSrc
27138 Added simple PushSrc.
27140 2005-05-11 Wim Taymans <wim@fluendo.com>
27142 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27143 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27144 (gst_element_link_pads), (gst_element_query_position),
27145 (gst_element_query_convert), (intersect_caps_func),
27146 (gst_pad_query_position), (gst_pad_query_convert):
27147 Fix refcounting in utils function.
27148 No point in trying to activate a pad when it's added, it could
27149 be added from the state change function and then we deadlock, the
27150 element has to decide what to do.
27152 2005-05-10 Andy Wingo <wingo@pobox.com>
27154 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
27155 *all* the arguments.
27157 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
27158 stream lock if it's a FLUSH_DONE; normal flushes don't get the
27159 lock (according to the docs -- if this is wrong change the docs).
27161 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
27162 flush messages in the NULL state.
27164 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
27165 message immediately and return.
27166 (gst_bus_set_flushing): New function. If a bus is flushing, it
27167 flushes out any queued messages and immediately unrefs new
27168 messages. This is so when an element goes to NULL, all of the
27169 unhandled messages coming from it can be freed, and their
27170 references to the element dropped. In other words: message source
27171 ref considered harmful :P
27173 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
27174 we're finished with it.
27176 * gst/gstmessage.c (gst_message_new_state_changed):
27178 2005-05-10 Wim Taymans <wim@fluendo.com>
27180 * gst/gstvalue.c: (gst_value_compare_flags),
27181 (gst_value_serialize_flags), (gst_value_deserialize_flags),
27182 (_gst_value_initialize):
27183 Added flags serialize/deserialize/compare code.
27185 2005-05-09 Andy Wingo <wingo@pobox.com>
27187 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
27188 Intersect the peer's caps with our caps.
27190 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27192 * gst/base/gsttypefindhelper.c: (helper_find_peek):
27193 * gst/elements/gsttypefindelement.c: (find_peek):
27194 Handle negative offsets better. Fixes decodebin.
27196 2005-05-09 Wim Taymans <wim@fluendo.com>
27198 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
27199 (gst_base_transform_event):
27200 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
27201 Implement accept_caps.
27202 Fix silly lock/unlock mismatch in base class.
27204 2005-05-09 Wim Taymans <wim@fluendo.com>
27206 * docs/design/draft-push-pull.txt:
27207 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
27208 * gst/elements/gstfilesink.c: (gst_filesink_init),
27209 (gst_filesink_query):
27210 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27211 (gst_type_find_handle_src_query), (find_element_get_length):
27212 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
27213 * gst/gstelement.h:
27214 * gst/gstmessage.c:
27215 * gst/gstmessage.h:
27216 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
27217 (gst_real_pad_get_caps_unlocked),
27218 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
27219 (gst_pad_event_default_dispatch), (gst_pad_event_default),
27220 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
27221 (gst_real_pad_dispose), (gst_real_pad_finalize),
27222 (gst_pad_load_and_link), (gst_pad_save_thyself),
27223 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
27224 (gst_pad_check_pull_range), (gst_pad_pull_range),
27225 (gst_pad_template_get_type), (gst_pad_template_class_init),
27226 (gst_pad_template_init), (gst_pad_template_dispose),
27227 (name_is_valid), (gst_static_pad_template_get),
27228 (gst_pad_template_new), (gst_static_pad_template_get_caps),
27229 (gst_pad_template_get_caps), (gst_pad_set_element_private),
27230 (gst_pad_get_element_private), (gst_pad_start_task),
27231 (gst_pad_pause_task), (gst_pad_stop_task),
27232 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
27233 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
27234 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
27235 (gst_ghost_pad_new):
27237 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
27238 (gst_query_new_position), (gst_query_set_position),
27239 (gst_query_parse_position), (gst_query_new_convert),
27240 (gst_query_set_convert), (gst_query_parse_convert):
27242 * gst/gstqueryutils.c:
27243 * gst/gstqueryutils.h:
27244 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
27245 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
27246 (gst_queue_handle_src_query):
27247 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27248 (gst_element_query_position), (gst_element_query_convert),
27249 (intersect_caps_func), (gst_pad_query_position),
27250 (gst_pad_query_convert):
27252 * tools/gst-inspect.c: (print_pad_info):
27253 * tools/gst-xmlinspect.c: (print_element_info):
27254 Remove old query functions. Ported old code.
27255 Added position/convert helper functions to gstutils.
27256 Reordered gstpad.c code, grouping relevant things.
27257 Remove gst_message_new(), always need to speficy a specific
27261 2005-05-09 Andy Wingo <wingo@pobox.com>
27263 * gst/gstiterator.h: Add some includes.
27265 * gst/gstqueryutils.h: Include more headers.
27268 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
27269 some uses of gst_pad_query.
27271 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
27272 NULL out parameters.
27273 (gst_query_new_position): New proc, allocates a new position
27276 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
27277 gstqueryutils.c to the build.
27279 * gst/gststructure.c (gst_structure_set_valist): Implement with
27280 the generic G_VALUE_COLLECT.
27282 2005-05-08 Edward Hervey <bilboed@bilboed.com>
27284 * gst/Makefile.am: (gst_headers):
27285 Added gstqueryutils.h to the list of headers to install, that was
27286 a 'nachty' move wingo :)
27288 2005-05-06 Andy Wingo <wingo@pobox.com>
27291 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
27292 GstData, init a memchunk.
27293 (standard_definitions): Add a few query types, deprecate a few.
27294 (gst_query_get_type): New proc.
27295 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
27297 (gst_query_new_application, gst_query_get_structure): New public
27300 * docs/design/draft-query.txt: Removed LINKS from the query types,
27301 because all the rest can be dispatched to other pads -- seemed
27302 ugly to have a query that couldn't be dispatched. internal_links
27303 is fine as a pad method.
27305 * gst/gstpad.h: Add query2 as a pad method, add the new functions
27306 in gstpad.c, but maintain binary compatibility for the moment.
27307 Will fix before 0.9 is out.
27309 * gst/gstqueryutils.c:
27310 * gst/gstqueryutils.h: New files, implement 3 methods for each
27311 query type: parse_query, parse_response, and set. Probably need an
27314 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
27316 * gst/elements/gstfilesink.c (gst_filesink_query2):
27317 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
27318 query_types, and formats methods.
27320 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
27321 (gst_pad_set_query2_function): New functions.
27322 (gst_real_pad_init): Set query2_default as the default query2
27323 function. Basically just dispatches to internally linked pads.
27327 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
27328 without using the atomic operations. Only one thread can possibly
27329 be accessing the data at this point. Changed so as to avoid
27330 gst_atomic operations.
27332 2005-05-06 Wim Taymans <wim@fluendo.com>
27334 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
27335 Also set caps if we use the fallback buffer alloc.
27337 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
27339 * docs/gst/Makefile.am:
27340 * docs/gst/gstreamer-docs.sgml:
27341 * docs/gst/gstreamer-sections.txt:
27342 * docs/gst/tmpl/gstatomic.sgml:
27343 * docs/gst/tmpl/gstmemchunk.sgml:
27344 * testsuite/elements/struct_i386.h:
27345 * win32/GStreamer.vcproj:
27347 Purge GstAtomic stuff from docs and win32 makefiles as well
27349 2005-05-06 Wim Taymans <wim@fluendo.com>
27351 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
27352 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
27353 * gst/gstpad.c: (gst_pad_peer_get_caps):
27354 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
27355 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
27356 (gst_queue_src_activate), (gst_queue_change_state):
27358 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27359 (intersect_caps_func):
27360 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
27361 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
27362 Some fixes for the peer_get_caps() change.
27364 2005-05-06 Wim Taymans <wim@fluendo.com>
27366 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27367 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
27368 (gst_basesink_activate):
27369 Actually do something with error codes returned from the push
27372 2005-05-06 Wim Taymans <wim@fluendo.com>
27374 * docs/design/part-element-sink.txt:
27375 * docs/design/part-element-source.txt:
27376 * gst/base/gstbasesink.c: (gst_basesink_class_init),
27377 (gst_basesink_event), (gst_basesink_activate):
27378 * gst/base/gstbasesink.h:
27379 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
27380 (gst_basesrc_activate):
27381 * gst/base/gstbasesrc.h:
27382 * gst/gstelement.c: (gst_element_pads_activate):
27383 Some more documentation.
27384 Fixed scheduling decision in _pads_activate().
27386 2005-05-05 Andy Wingo <wingo@pobox.com>
27388 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
27391 2005-05-05 Wim Taymans <wim@fluendo.com>
27393 * gst/base/Makefile.am:
27394 * gst/base/gstbasesink.h:
27395 * gst/base/gstbasesrc.c: (gst_basesrc_init),
27396 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
27397 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
27398 (gst_collectpads_class_init), (gst_collectpads_init),
27399 (gst_collectpads_finalize), (gst_collectpads_new),
27400 (gst_collectpads_set_function), (gst_collectpads_add_pad),
27401 (find_pad), (gst_collectpads_remove_pad),
27402 (gst_collectpads_is_active), (gst_collectpads_collect),
27403 (gst_collectpads_collect_range), (gst_collectpads_start),
27404 (gst_collectpads_stop), (gst_collectpads_peek),
27405 (gst_collectpads_pop), (gst_collectpads_available),
27406 (gst_collectpads_read), (gst_collectpads_flush),
27407 (gst_collectpads_chain):
27408 * gst/base/gstcollectpads.h:
27409 * gst/elements/Makefile.am:
27410 * gst/elements/gstelements.c:
27411 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27412 (gst_fakesink_get_times), (gst_fakesink_event),
27413 (gst_fakesink_preroll), (gst_fakesink_render):
27414 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27415 (gst_filesink_init), (gst_filesink_set_location),
27416 (gst_filesink_open_file), (gst_filesink_close_file),
27417 (gst_filesink_pad_query), (gst_filesink_event),
27418 (gst_filesink_render), (gst_filesink_change_state):
27419 * gst/elements/gstfilesink.h:
27420 Added object to help in making collect pad based elements.
27422 Make event function in sink baseclass return gboolean.
27424 2005-05-05 Wim Taymans <wim@fluendo.com>
27426 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
27427 (gst_bin_get_by_name):
27429 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
27430 (gst_clock_finalize):
27431 * gst/gstdata.c: (gst_data_replace):
27433 * gst/gstelement.c: (gst_element_request_pad),
27434 (gst_element_pads_activate):
27435 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
27436 (gst_object_unref):
27437 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27438 (gst_pad_set_checkgetrange_function),
27439 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
27440 (gst_pad_check_pull_range), (gst_pad_pull_range),
27441 (gst_static_pad_template_get_caps), (gst_pad_start_task),
27442 (gst_pad_pause_task), (gst_pad_stop_task):
27443 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27444 (gst_element_request_pad), (gst_pad_proxy_getcaps):
27445 Fix name lookup in GstBin.
27446 Added _data_replace() function and _buffer_replace()
27447 Use finalize method to clean up clock.
27448 Fix refcounting on request pads.
27449 Fix pad schedule mode error.
27450 Some more object refcounting debug info,
27453 2005-05-04 Andy Wingo <wingo@pobox.com>
27455 * check/Makefile.am:
27456 * docs/gst/tmpl/gstatomic.sgml:
27457 * docs/gst/tmpl/gstplugin.sgml:
27458 * gst/base/gstbasesink.c: (gst_basesink_activate):
27459 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
27460 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
27461 (gst_basesrc_query), (gst_basesrc_set_property),
27462 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
27463 (gst_basesrc_activate):
27464 * gst/base/gstbasesrc.h:
27465 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
27466 (gst_base_transform_src_activate):
27467 * gst/elements/gstelements.c:
27468 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27469 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27470 * gst/elements/gsttee.c: (gst_tee_sink_activate):
27471 * gst/elements/gsttypefindelement.c: (find_element_get_length),
27472 (gst_type_find_element_checkgetrange),
27473 (gst_type_find_element_activate):
27474 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
27475 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
27476 (gst_caps_load_thyself):
27477 * gst/gstelement.c: (gst_element_pads_activate),
27478 (gst_element_save_thyself), (gst_element_restore_thyself):
27479 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
27480 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
27482 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
27483 (gst_xml_parse_file), (gst_xml_parse_memory),
27484 (gst_xml_get_element), (gst_xml_make_element):
27485 * gst/indexers/gstfileindex.c: (gst_file_index_load),
27486 (_file_index_id_save_xml), (gst_file_index_commit):
27487 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
27488 (read_enum), (load_pad_template), (load_feature), (load_plugin),
27490 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
27491 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
27492 * tools/gst-complete.c: (main):
27493 * tools/gst-compprep.c: (main):
27494 * tools/gst-inspect.c: (print_element_properties_info):
27495 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
27496 * tools/gst-xmlinspect.c: (print_element_properties):
27499 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
27501 * gst/gstplugin.c: (gst_plugin_check_module),
27502 (gst_plugin_check_file), (gst_plugin_load_file):
27503 apply patch from #172526 to make register work on MacOSX
27505 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
27507 * docs/gst/tmpl/gstconfig.sgml:
27508 * gst/gstconfig.h.in:
27509 move documentation for some symbols. Add doc for GST_PTR_FORMAT
27510 * testsuite/debug/printf_extension.c: (main):
27511 Do not use GST_PTR_FORMAT on pointers to types with
27512 sizeof < sizeof(gpointer). Fixes test on 64-bit
27513 * testsuite/elements/property.h:
27514 use correct printf format
27516 2005-05-02 Wim Taymans <wim@fluendo.com>
27518 * docs/design/draft-push-pull.txt:
27519 * docs/design/draft-query.txt:
27520 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
27521 (gst_basesrc_start):
27522 Added draft for new query API.
27523 Added draft for better selecting scheduling methods.
27524 Make basesrc ignore length if the subclass does not support
27527 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
27530 possible fixes for automake-1.5 - _LIBADD is reserved
27532 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
27534 * docs/faq/Makefile.am:
27535 * docs/manual/Makefile.am:
27536 * docs/manuals.mak:
27537 * docs/pwg/Makefile.am:
27539 possible fixes for automake-1.5
27541 2005-04-28 Wim Taymans <wim@fluendo.com>
27543 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27544 (gst_basesink_pad_getcaps), (gst_basesink_init),
27545 (gst_basesink_do_sync):
27546 * gst/gstclock.c: (gst_clock_entry_new):
27547 * gst/gstevent.c: (gst_event_discont_get_value):
27548 * gst/gstpipeline.c: (pipeline_bus_handler),
27549 (gst_pipeline_change_state):
27550 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
27551 Better debugging of clocking info.
27552 Allow NULL values when getting discont values.
27554 2005-04-27 Wim Taymans <wim@fluendo.com>
27556 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27557 * check/gst/gstpad.c: (gst_pad_suite):
27558 Increase timeout for checks.
27560 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
27562 * check/Makefile.am:
27563 fix the broken rule for cleanup. Apparently this rule is
27564 only needed on FC2, so maybe this warrants further autotool
27567 2005-04-26 Wim Taymans <wim@fluendo.com>
27569 * gst/gsttrashstack.h:
27570 Ooohh. a nasty one! After having a failed pop() from the stack,
27571 it's possible that the stack is empty. In that case, don't
27572 follow the NULL pointer.
27574 2005-04-25 Wim Taymans <wim@fluendo.com>
27576 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27577 (gst_pad_set_checkgetrange_function),
27578 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
27579 (gst_pad_check_pull_range), (gst_pad_pull_range),
27580 (gst_static_pad_template_get_caps), (gst_pad_start_task),
27581 (gst_pad_pause_task), (gst_pad_stop_task):
27582 * gst/gstplugin.c: (gst_plugin_load):
27584 Remove gst_library_load as it does more harm than good with
27585 the new g_module flags.
27586 Revert bogus caps template check in pad linking, pad caps
27587 are important when linking not the template, which is more
27588 general than the current caps.
27590 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27592 * gst/autoplug/.cvsignore:
27593 * gst/autoplug/Makefile.am:
27594 * gst/autoplug/gstsearchfuncs.c:
27595 * gst/autoplug/gstsearchfuncs.h:
27596 * gst/autoplug/gstspider.c:
27597 * gst/autoplug/gstspider.h:
27598 * gst/autoplug/gstspideridentity.c:
27599 * gst/autoplug/gstspideridentity.h:
27600 * gst/autoplug/spidertest.c:
27603 2005-04-25 Wim Taymans <wim@fluendo.com>
27605 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27606 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27607 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
27608 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
27610 Added stubs for unimplemented functions.
27612 2005-04-24 David Schleef <ds@schleef.org>
27614 * gst/gstpad.h: Disable some unimplemented functions. Wim,
27617 2005-04-24 David Schleef <ds@schleef.org>
27619 Convert everything from GstAtomicInt to g_atomic_int_*, and
27624 * gst/gstatomic_impl.h:
27632 * gst/gstdata_private.h:
27636 * gst/gstmessage.c:
27639 * gst/gststructure.c:
27640 * gst/gststructure.h:
27641 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
27644 2005-04-24 David Schleef <ds@schleef.org>
27646 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
27647 make the regressions tests work. Remove some code that is no
27649 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
27650 Disable warning for pads without templates.
27652 2005-04-24 David Schleef <ds@schleef.org>
27654 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
27655 functions that handle filtered links.
27656 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
27658 * gst/gstutils.c: Fix/remove utility functions that handle
27661 * gst/gstvalue.c: Add serialization/deserialization of caps
27662 * gst/parse/grammar.y: Ignore filtered caps when linking. This
27663 requires fixing so that the filter caps notation creates
27664 a capsfilter element and sets the filter_caps property. I
27665 think everyone probably wants to keep the shorthand notation.
27666 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
27667 * docs/gst/tmpl/gstpad.sgml:
27669 * gst/elements/gstelements.c: Register capsfilter element.
27670 * gst/Makefile.am: fix spacing
27671 * docs/random/ds/0.9-suggested-changes: random
27673 2005-04-23 David Schleef <ds@schleef.org>
27675 * gst/elements/Makefile.am:
27676 * gst/elements/gstcapsfilter.c: New element that acts like an
27677 identity, but filters caps. Will eventually replace filtered
27678 caps in pad linking.
27679 * gst/gstutils.c: (gst_element_create_all_pads): New function
27680 to create all the ALWAYS pads that are registered with an
27681 element class. This functionality should eventually be
27682 merged in with GstElement initialization.
27684 * testsuite/trigger/README: part of trigger test code that should
27685 have been checked in a long time ago.
27687 2005-04-23 David Schleef <ds@schleef.org>
27689 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
27690 needed with new versions of libtool (nobody will confirm this),
27691 and hard to carry around.
27692 * gst/autoplug/Makefile.am:
27693 * gst/base/Makefile.am:
27694 * gst/elements/Makefile.am:
27695 * gst/indexers/Makefile.am:
27696 * gst/schedulers/Makefile.am:
27697 * libs/gst/bytestream/Makefile.am:
27698 * libs/gst/control/Makefile.am:
27699 * libs/gst/dataprotocol/Makefile.am:
27700 * libs/gst/getbits/Makefile.am:
27702 2005-04-21 Wim Taymans <wim@fluendo.com>
27704 * docs/design/draft-push-pull.txt:
27705 * docs/design/part-MT-refcounting.txt:
27706 * docs/design/part-TODO.txt:
27707 * docs/design/part-caps.txt:
27708 * docs/design/part-events.txt:
27709 * docs/design/part-gstbus.txt:
27710 * docs/design/part-gstpipeline.txt:
27711 * docs/design/part-messages.txt:
27712 * docs/design/part-push-pull.txt:
27713 * docs/design/part-query.txt:
27716 2005-04-21 Wim Taymans <wim@fluendo.com>
27718 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
27719 (gst_message_new), (gst_message_new_error),
27720 (gst_message_new_warning), (gst_message_new_tag),
27721 (gst_message_new_state_changed), (gst_message_new_application),
27722 (gst_message_get_structure):
27723 * gst/gstmessage.h:
27724 * gst/gststructure.c: (gst_structure_set_parent_refcount),
27725 (gst_structure_copy_conditional):
27726 Use parent refcount in GstMessage to ensure GstStructure
27728 Cleaned up headers a bit.
27731 2005-04-20 Wim Taymans <wim@fluendo.com>
27733 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27734 (gst_basesink_pad_getcaps), (gst_basesink_init),
27735 (gst_basesink_chain_unlocked):
27736 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
27737 (gst_type_find_helper):
27738 * gst/elements/gsttypefindelement.c:
27739 (gst_type_find_element_have_type), (gst_type_find_element_init),
27740 (stop_typefinding), (gst_type_find_element_handle_event),
27741 (find_suggest), (gst_type_find_element_chain),
27742 (gst_type_find_element_checkgetrange),
27743 (gst_type_find_element_getrange), (do_typefind),
27744 (gst_type_find_element_activate):
27745 * gst/gstbuffer.c: (_gst_buffer_sub_free),
27746 (gst_buffer_default_free), (gst_buffer_default_copy),
27747 (gst_buffer_set_caps):
27748 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
27749 (gst_caps_replace):
27750 * gst/gstmessage.c: (gst_message_new),
27751 (gst_message_new_state_changed):
27752 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27753 (gst_pad_set_checkgetrange_function),
27754 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
27755 (gst_pad_set_caps), (gst_pad_check_pull_range),
27756 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
27758 * gst/gsttypefind.c: (gst_type_find_register):
27759 Make gst_caps_replace() work like other _replace() functions.
27760 Use _caps_replace() where possible.
27761 Make sure _message_new() initialises its field.
27762 Add gst_static_pad_template_get_caps()
27765 2005-04-18 Andy Wingo <wingo@pobox.com>
27767 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
27768 on the peer, not the pad. I think that was a typo. Pass an extra
27769 arg to see if random access is possible. Activate the pads as
27770 PULL_RANGE if possible.
27772 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
27774 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
27775 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
27778 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27780 * docs/faq/using.xml:
27781 Add note on gstreamer-properties (#154996).
27783 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27785 * docs/random/bbb/optional-properties:
27786 Some analysis on optional properties.
27788 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27790 * docs/gst/tmpl/gstelementfactory.sgml:
27791 * gst/gstelement.h:
27792 * gst/gstelementfactory.c: (gst_element_factory_init),
27793 (gst_element_factory_cleanup), (gst_element_register),
27794 (__gst_element_factory_add_static_pad_template),
27795 (gst_element_factory_get_static_pad_templates),
27796 (gst_element_factory_can_src_caps),
27797 (gst_element_factory_can_sink_caps):
27798 * gst/registries/Makefile.am:
27799 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
27800 (gst_xml_registry_class_init), (gst_xml_registry_init),
27801 (gst_xml_registry_new), (gst_xml_registry_set_property),
27802 (gst_xml_registry_get_property), (get_time), (make_dir),
27803 (gst_xml_registry_get_perms_func),
27804 (plugin_times_older_than_recurse), (plugin_times_older_than),
27805 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
27806 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
27807 (add_to_char_array), (read_string), (read_uint), (read_enum),
27808 (load_pad_template), (load_feature), (load_plugin), (load_paths),
27809 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
27810 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
27811 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
27812 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
27813 (gst_xml_registry_rebuild):
27814 * gst/registries/gstlibxmlregistry.h:
27815 * tools/gst-compprep.c: (main):
27816 * tools/gst-inspect.c: (print_pad_templates_info):
27817 * tools/gst-xmlinspect.c: (print_element_info):
27818 Use libxml2 for registry parsing, use staticpadtemplates in
27819 elementfactories. Makes gst_init() +/- 10x faster.
27821 2005-04-12 Wim Taymans <wim@fluendo.com>
27823 * gst/base/Makefile.am:
27824 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27825 (gst_basesink_pad_getcaps), (gst_basesink_init),
27826 (gst_basesink_event), (gst_basesink_change_state):
27827 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27828 (gst_basesrc_init), (gst_basesrc_query),
27829 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27830 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27831 (gst_basesrc_check_get_range), (gst_basesrc_loop),
27832 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27833 (gst_basesrc_stop), (gst_basesrc_activate),
27834 (gst_basesrc_change_state):
27835 * gst/base/gsttypefindhelper.c: (helper_find_peek),
27836 (helper_find_suggest), (gst_type_find_helper):
27837 * gst/base/gsttypefindhelper.h:
27838 * gst/elements/Makefile.am:
27839 * gst/elements/gstelements.c:
27840 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27841 (gst_fakesink_get_times), (gst_fakesink_event),
27842 (gst_fakesink_preroll), (gst_fakesink_render):
27843 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27844 (gst_fakesrc_init), (gst_fakesrc_event_handler),
27845 (gst_fakesrc_get_property), (gst_fakesrc_create),
27846 (gst_fakesrc_start), (gst_fakesrc_stop):
27847 * gst/elements/gstfakesrc.h:
27848 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
27849 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27850 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27851 (gst_filesrc_create_read), (gst_filesrc_create),
27852 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
27853 (gst_filesrc_start):
27854 * gst/elements/gsttypefindelement.c:
27855 (gst_type_find_element_have_type), (gst_type_find_element_init),
27856 (start_typefinding), (stop_typefinding), (push_buffer_store),
27857 (gst_type_find_element_handle_event),
27858 (gst_type_find_element_chain),
27859 (gst_type_find_element_checkgetrange),
27860 (gst_type_find_element_getrange), (do_typefind),
27861 (gst_type_find_element_activate),
27862 (gst_type_find_element_change_state):
27863 * gst/elements/gsttypefindelement.h:
27864 * gst/gstpipeline.c: (pipeline_bus_handler):
27865 Added typefind helper.
27866 Small preroll fix in the base sink.
27867 Disable typefind code in basesrc.
27868 Crude port of typefindelement.
27872 2005-04-11 Wim Taymans <wim@fluendo.com>
27874 * check/gst/gstbus.c: (gstbus_suite):
27875 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
27876 * check/gstcheck.h:
27877 Fix up the timeout so that the test does not fail.
27879 2005-04-06 Wim Taymans <wim@fluendo.com>
27882 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27883 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
27884 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27885 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27886 (gst_basesrc_check_get_range), (gst_basesrc_loop),
27887 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27888 (gst_basesrc_stop), (gst_basesrc_activate),
27889 (gst_basesrc_change_state), (basesrc_find_peek),
27890 (basesrc_find_suggest), (gst_basesrc_type_find):
27891 * gst/base/gstbasesrc.h:
27892 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
27893 (gst_filesrc_class_init), (gst_filesrc_init),
27894 (gst_filesrc_finalize), (gst_filesrc_set_location),
27895 (gst_filesrc_set_property), (gst_filesrc_get_property),
27896 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27897 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27898 (gst_filesrc_create_read), (gst_filesrc_create),
27899 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
27900 * gst/elements/gstfilesrc.h:
27901 * gst/gstelement.c: (gst_element_get_state_func),
27902 (gst_element_lost_state), (gst_element_pads_activate):
27903 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27904 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27905 (gst_pad_pull_range):
27907 More work on the generic source base class, implement seeking,
27909 Make filesrc extend the base source class.
27910 Added gst_pad_set_checkgetrange_function to GstPad.
27912 2005-04-06 Andy Wingo <wingo@pobox.com>
27914 * pkgconfig/gstreamer-base.pc.in:
27915 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
27917 * pkgconfig/Makefile.am:
27918 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
27920 2005-04-04 Wim Taymans <wim@fluendo.com>
27922 * gst/base/Makefile.am:
27924 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27925 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27926 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27927 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
27928 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27929 (gst_basesrc_base_init), (gst_basesrc_class_init),
27930 (gst_basesrc_init), (gst_basesrc_get_formats),
27931 (gst_basesrc_get_query_types), (gst_basesrc_query),
27932 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
27933 (gst_basesrc_set_property), (gst_basesrc_get_property),
27934 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
27935 (gst_basesrc_loop), (gst_basesrc_activate),
27936 (gst_basesrc_change_state):
27937 * gst/base/gstbasesrc.h:
27938 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
27939 (gst_fakesrc_class_init), (gst_fakesrc_init),
27940 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
27941 (gst_fakesrc_get_property), (gst_fakesrc_create):
27942 * gst/elements/gstfakesrc.h:
27943 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
27944 (gst_filesrc_open_file), (gst_filesrc_loop),
27945 (gst_filesrc_activate), (filesrc_find_peek),
27946 (gst_filesrc_type_find):
27947 Made base source class, make fakesrc extend it.
27948 Add comments to basesink class.
27949 Some filesrc cleanup.
27951 2005-03-31 David Schleef <ds@schleef.org>
27953 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
27954 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
27955 expected to link against libgstreamer.
27956 * gst/base/Makefile.am: link against libgstreamer
27957 * gst/elements/Makefile.am: same
27959 2005-03-31 Andy Wingo <wingo@pobox.com>
27961 * tests/instantiate/Makefile.am:
27962 * tests/instantiate/caps.c: Add test to test speed of caps copy
27965 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
27966 GMemChunk to be fair.
27968 * gst/gsttrashstack.h: Remove warning about using the fallback
27969 trash stack implementation, it's still faster than malloc.
27971 2005-03-30 Andy Wingo <wingo@pobox.com>
27973 * tests/complexity.c: Add a copyright.
27975 2005-03-31 Wim Taymans <wim@fluendo.com>
27977 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
27978 (gst_base_transform_class_init), (gst_base_transform_init),
27979 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
27980 (gst_base_transform_get_property),
27981 (gst_base_transform_sink_activate),
27982 (gst_base_transform_src_activate),
27983 (gst_base_transform_change_state):
27984 * gst/base/gstbasetransform.h:
27985 * gst/elements/gstidentity.c: (gst_identity_class_init),
27986 (gst_identity_event), (gst_identity_check_perfect),
27987 (gst_identity_transform), (gst_identity_start),
27988 (gst_identity_stop):
27989 Added start/stop methods to transform base class so subclasses
27990 don't need to deal with state changes even.
27992 2005-03-31 Wim Taymans <wim@fluendo.com>
27994 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
27995 (gst_event_new_discontinuous), (gst_event_discont_get_value):
27997 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27998 (gst_pad_pull_range):
27999 Added rate to the discont event to prepare for variable speed
28000 and reverse playback.
28002 2005-03-29 David Schleef <ds@schleef.org>
28005 * testsuite/trigger/Makefile.am:
28006 * testsuite/trigger/trigger.c: A little example program to show
28007 how trigger-based elements can work.
28009 2005-03-29 Wim Taymans <wim@fluendo.com>
28011 * gst/base/Makefile.am:
28013 * gst/base/gstbasesink.c: (gst_basesink_get_type),
28014 (gst_basesink_base_init), (gst_basesink_class_init),
28015 (gst_basesink_pad_getcaps), (gst_basesink_init),
28016 (gst_basesink_activate), (gst_basesink_change_state):
28017 * gst/base/gstbasesink.h:
28018 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
28019 (gst_base_transform_base_init), (gst_base_transform_finalize),
28020 (gst_base_transform_class_init), (gst_base_transform_init),
28021 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
28022 (gst_base_transform_event), (gst_base_transform_getrange),
28023 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
28024 (gst_base_transform_set_property),
28025 (gst_base_transform_get_property),
28026 (gst_base_transform_sink_activate),
28027 (gst_base_transform_src_activate),
28028 (gst_base_transform_change_state):
28029 * gst/base/gstbasetransform.h:
28030 * gst/elements/gstidentity.c: (gst_identity_finalize),
28031 (gst_identity_class_init), (gst_identity_init),
28032 (gst_identity_event), (gst_identity_check_perfect),
28033 (gst_identity_transform), (gst_identity_set_property),
28034 (gst_identity_get_property), (gst_identity_change_state):
28035 * gst/elements/gstidentity.h:
28036 * gst/gstelement.c: (gst_element_get_state_func),
28037 (gst_element_lost_state), (gst_element_pads_activate):
28038 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28039 (gst_pad_check_pull_range), (gst_pad_pull_range):
28041 Simplify pad activation.
28042 Added function to check if pull_range can be performed.
28043 Error out when pulling inactive or flushing pads.
28044 Removed const from refcounted types as it does not make sense.
28045 Simplify pad templates in basesink
28046 Added base class for simple 1-to-1 transforms.
28047 Make identity subclass the base transform.
28049 2005-03-29 Andy Wingo <wingo@pobox.com>
28051 * docs/libs/gstreamer-libs-overrides.txt:
28052 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
28053 really don't understand what's going on, but like whatever. I want
28056 * docs/gst/Makefile.am:
28057 * docs/libs/Makefile.am: Dist the overrides files.
28059 * check/Makefile.am (clean-local): Remove .libs directories.
28061 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
28062 elements to EXTRA_DIST, so po/ files are happy.
28064 * po/POTFILES.in: Er, remove it here.
28066 * po/POTFILES: Remove gstspider.c.
28068 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
28070 * docs/libs/gstreamer-libs-docs.sgml:
28071 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
28074 * tests/complexity.c (main): Set the length of the preroll queue
28075 on the sinks to prevent a lockup.
28077 * libs/gst/dataprotocol/Makefile.am:
28078 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
28079 the same as the one in check/gst-libs/gdp.c.
28081 * po/, docs/gst/: Commit automatic changes to docs and po files.
28083 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
28084 the versioned libgstbase.
28086 * check/Makefile.am: Depend on an unversioned gst-register, seems
28087 to make autoconf happier.
28089 * gst/base/Makefile.am: Make libgstbase a versioned lib.
28091 2005-03-28 Wim Taymans <wim@fluendo.com>
28094 * docs/design/part-gstelement.txt:
28095 * docs/design/part-negotiation.txt:
28096 * docs/design/part-preroll.txt:
28097 * docs/design/part-scheduling.txt:
28098 * docs/design/part-states.txt:
28100 * gst/base/Makefile.am:
28102 * gst/base/gstbasesink.c: (gst_basesink_get_template),
28103 (gst_basesink_base_init), (gst_basesink_class_init),
28104 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28105 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28106 (gst_basesink_set_pad_functions),
28107 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
28108 (gst_basesink_set_property), (gst_basesink_get_property),
28109 (gst_base_sink_get_template), (gst_base_sink_get_caps),
28110 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
28111 (gst_basesink_preroll_queue_push),
28112 (gst_basesink_preroll_queue_empty),
28113 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
28114 (gst_basesink_event), (gst_basesink_get_times),
28115 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
28116 (gst_basesink_chain_unlocked), (gst_basesink_chain),
28117 (gst_basesink_loop), (gst_basesink_activate),
28118 (gst_basesink_change_state):
28119 * gst/base/gstbasesink.h:
28120 * gst/elements/Makefile.am:
28121 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
28122 (gst_fakesink_class_init), (gst_fakesink_init),
28123 (gst_fakesink_set_property), (gst_fakesink_get_property),
28124 (gst_fakesink_get_times), (gst_fakesink_event),
28125 (gst_fakesink_preroll), (gst_fakesink_render),
28126 (gst_fakesink_change_state):
28127 * gst/elements/gstfakesink.h:
28128 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28129 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
28130 * gst/gstelement.c: (gst_element_add_pad),
28131 (gst_element_get_state_func), (gst_element_abort_state),
28132 (gst_element_commit_state), (gst_element_lost_state),
28133 (gst_element_set_state), (gst_element_pads_activate):
28134 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
28135 * gst/gstpipeline.c: (gst_pipeline_send_event),
28136 (gst_pipeline_change_state):
28137 Added state change code.
28138 Added/updated docs.
28139 Added sink base class, make fakesink extend the base class.
28140 Small cleanups in GstPipeline.
28142 2005-03-26 David Schleef <ds@schleef.org>
28144 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
28145 is broken and should be implemented in a different library.
28146 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
28147 * gst/gst.h: remove gstcpu.h
28148 * gst/gstcpu.c: remove
28149 * gst/gstcpu.h: remove
28150 * gst/Makefile.am.future: Remove this file. It's ancient.
28152 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28154 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28155 (gst_bin_send_event):
28156 Add default event/set_manager handlers. The set_manager handler
28157 takes care that the manager is distributed over kids that were
28158 already in the bin before the manager was set. The event handler
28159 is a utility virtual function that sends the event over all sinks,
28160 so that gst_element_send_event (bin, event); has the expected
28162 * gst/gstpad.c: (gst_pad_event_default):
28163 Re-install default event handling for discontinuities, so that
28164 seeking works without requiring hacks in applications or extra
28166 * gst/gstpipeline.c: (gst_pipeline_class_init),
28167 (gst_pipeline_send_event):
28168 Half hack, half utility: set a pipeline to PAUSED for seek events,
28169 since that is the only way we can guarantee a/v sync. Means that
28170 you can do gst_element_seek (pipeline, method, pos); on a pipeline
28171 and it "just works".
28173 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28175 * gst/gstpipeline.c: (gst_pipeline_use_clock):
28176 Lock/unlock mismatch.
28178 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
28180 * docs/faq/gst-uninstalled:
28181 add gst-plugins-base
28182 * docs/gst/Makefile.am:
28183 don't error out until docs are fixed
28184 * docs/gst/gstreamer.types:
28187 2005-03-22 Wim Taymans <wim@fluendo.com>
28189 * check/Makefile.am:
28190 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
28191 * gst/gststructure.c: (gst_structure_set_valist),
28192 (gst_structure_copy_conditional):
28193 Activated more tests.
28194 Added message test.
28195 Added G_TYPE_POINTER to GstStructure.
28198 2005-03-22 Wim Taymans <wim@fluendo.com>
28200 * docs/design/part-TODO.txt:
28201 * docs/design/part-events.txt:
28202 * docs/design/part-gstbin.txt:
28203 * docs/design/part-gstbus.txt:
28204 * docs/design/part-gstpipeline.txt:
28205 * docs/design/part-messages.txt:
28207 * gst/gstmessage.c:
28210 2005-03-21 Wim Taymans <wim@fluendo.com>
28212 * gst/gstbus.c: (gst_bus_post):
28213 Fix copy-and-paste error.
28215 2005-03-21 Wim Taymans <wim@fluendo.com>
28217 * check/Makefile.am:
28219 * gst/elements/Makefile.am:
28220 * gst/elements/gstelements.c:
28221 * gst/elements/gstfakesink.c: (gst_fakesink_init),
28222 (gst_fakesink_event), (gst_fakesink_chain):
28223 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28224 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
28225 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
28226 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
28227 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28228 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
28229 (gst_fakesrc_loop), (gst_fakesrc_activate),
28230 (gst_fakesrc_change_state):
28231 * gst/elements/gstfakesrc.h:
28232 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
28233 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
28234 (gst_filesrc_open_file), (gst_filesrc_loop),
28235 (gst_filesrc_activate), (gst_filesrc_change_state),
28236 (filesrc_find_peek), (filesrc_find_suggest),
28237 (gst_filesrc_type_find):
28238 * gst/elements/gstidentity.c: (gst_identity_finalize),
28239 (gst_identity_class_init), (gst_identity_init),
28240 (gst_identity_proxy_getcaps), (identity_queue_push),
28241 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
28242 (gst_identity_getrange), (gst_identity_chain),
28243 (gst_identity_sink_loop), (gst_identity_src_loop),
28244 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
28245 (gst_identity_set_property), (gst_identity_get_property),
28246 (gst_identity_change_state):
28247 * gst/elements/gstidentity.h:
28248 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
28249 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
28250 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
28251 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
28252 (gst_tee_sink_activate):
28253 * gst/elements/gsttee.h:
28254 * gst/gst.c: (gst_register_core_elements), (init_post):
28256 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
28257 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
28258 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
28259 (gst_bin_change_state):
28261 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
28262 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
28263 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
28264 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
28265 (gst_bus_set_sync_handler), (gst_bus_create_watch),
28266 (bus_watch_callback), (bus_watch_destroy),
28267 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
28268 (poll_timeout), (gst_bus_poll):
28272 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28273 (gst_element_post_message), (gst_element_message_full),
28274 (gst_element_get_state_func), (gst_element_get_state),
28275 (gst_element_abort_state), (gst_element_commit_state),
28276 (gst_element_lost_state), (gst_element_set_state),
28277 (gst_element_pads_activate), (gst_element_change_state),
28278 (gst_element_dispose), (gst_element_set_manager_func),
28279 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
28280 (gst_element_set_manager), (gst_element_get_manager),
28281 (gst_element_set_bus), (gst_element_get_bus),
28282 (gst_element_set_scheduler), (gst_element_get_scheduler):
28283 * gst/gstelement.h:
28284 * gst/gstevent.c: (gst_event_new_segment_seek),
28285 (gst_event_new_flush):
28287 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
28288 (_gst_message_free), (gst_message_get_type), (gst_message_new),
28289 (gst_message_new_eos), (gst_message_new_error),
28290 (gst_message_new_warning), (gst_message_new_tag),
28291 (gst_message_new_state_changed), (gst_message_new_application),
28292 (gst_message_get_structure), (gst_message_parse_tag),
28293 (gst_message_parse_state_changed), (gst_message_parse_error),
28294 (gst_message_parse_warning):
28295 * gst/gstmessage.h:
28296 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
28297 (gst_real_pad_set_property), (gst_pad_set_active),
28298 (gst_pad_is_active), (gst_pad_set_blocked_async),
28299 (gst_pad_set_blocked), (gst_pad_is_blocked),
28300 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
28301 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
28302 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
28303 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
28304 (gst_pad_link_filtered), (gst_pad_relink_filtered),
28305 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
28306 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
28307 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
28308 (gst_pad_set_caps), (gst_pad_configure_sink),
28309 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
28310 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
28311 (gst_real_pad_dispose), (gst_real_pad_finalize),
28312 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
28313 (gst_pad_event_default_dispatch), (gst_pad_event_default),
28314 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
28316 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
28317 (pipeline_bus_handler), (gst_pipeline_change_state),
28318 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
28319 * gst/gstpipeline.h:
28321 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
28322 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
28323 (gst_queue_link_src), (gst_queue_bufferalloc),
28324 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
28325 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
28326 (gst_queue_loop), (gst_queue_handle_src_event),
28327 (gst_queue_handle_src_query), (gst_queue_src_activate),
28328 (gst_queue_change_state):
28330 * gst/gstscheduler.c: (gst_scheduler_init),
28331 (gst_scheduler_dispose), (gst_scheduler_create_task),
28332 (gst_scheduler_factory_create):
28333 * gst/gstscheduler.h:
28334 * gst/gststructure.c: (gst_structure_get_type),
28335 (gst_structure_copy_conditional):
28336 * gst/gststructure.h:
28337 * gst/gsttaginterface.h:
28338 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28339 (gst_task_init), (gst_task_dispose), (gst_task_create),
28340 (gst_task_get_state), (gst_task_start), (gst_task_stop),
28346 * gst/schedulers/Makefile.am:
28347 * gst/schedulers/cothreads_compat.h:
28348 * gst/schedulers/entryscheduler.c:
28349 * gst/schedulers/faircothreads.c:
28350 * gst/schedulers/faircothreads.h:
28351 * gst/schedulers/fairscheduler.c:
28352 * gst/schedulers/gstbasicscheduler.c:
28353 * gst/schedulers/gstoptimalscheduler.c:
28354 * gst/schedulers/gthread-cothreads.h:
28355 * gst/schedulers/threadscheduler.c:
28356 (gst_thread_scheduler_task_get_type),
28357 (gst_thread_scheduler_task_class_init),
28358 (gst_thread_scheduler_task_init),
28359 (gst_thread_scheduler_task_start),
28360 (gst_thread_scheduler_task_stop),
28361 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
28362 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28363 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
28364 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
28366 * libs/gst/Makefile.am:
28367 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
28368 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
28369 (gst_file_pad_parent_set):
28370 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
28371 (gst_dp_event_from_packet):
28372 * tests/complexity.c: (main):
28373 * tests/mass_elements.c: (main):
28374 * testsuite/states/locked.c: (message_received), (main):
28375 * testsuite/states/parent.c: (main):
28376 * tools/gst-inspect.c: (print_element_flag_info),
28377 (print_implementation_info), (print_pad_info):
28378 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
28380 * tools/gst-md5sum.c: (event_loop), (main):
28381 * tools/gst-typefind.c: (main):
28382 * tools/gst-xmlinspect.c: (print_element_info):
28384 Added GstBus for mainloop integration.
28385 Added GstMessage for sending notifications on the bus.
28386 Added GstTask as an abstraction for pipeline entry points.
28388 Removed Schedulers.
28389 Simplified GstQueue for multithreaded core.
28390 Made _link threadsafe, removed old capsnego.
28391 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
28392 Added pad blocking functions.
28393 Reworked scheduling functions in GstPad to prepare for
28394 scheduling updates soon.
28395 Moved events out of data stream.
28396 Simplified GstEvent types.
28397 Added return values to push/pull.
28398 Removed clocking from GstElement.
28399 Added prototypes for state change function for next merge.
28400 Removed iterate from bins and state change management.
28401 Fixed some elements, disabled others for now.
28402 Fixed -inspect and -launch.
28403 Added check for GstBus.
28405 2005-03-10 Wim Taymans <wim@fluendo.com>
28407 * docs/design/part-MT-refcounting.txt:
28408 * docs/design/part-clocks.txt:
28409 * docs/design/part-gstelement.txt:
28410 * docs/design/part-gstobject.txt:
28411 * docs/design/part-standards.txt:
28412 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28413 (gst_bin_remove_func), (gst_bin_remove):
28417 * testsuite/clock/clock1.c: (main):
28418 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
28420 * testsuite/dlopen/loadgst.c: (do_test):
28421 * testsuite/refcounting/bin.c: (add_remove_test1),
28422 (add_remove_test2), (main):
28423 * testsuite/refcounting/element.c: (main):
28424 * testsuite/refcounting/element_pad.c: (main):
28425 * testsuite/refcounting/pad.c: (main):
28426 * tools/gst-launch.c: (sigint_handler_sighandler):
28427 * tools/gst-typefind.c: (main):
28429 Added doc about clock.
28430 removed gst_bin_iterate_recurse_up(), marked methods
28432 Fix more testsuites.
28434 2005-03-09 Wim Taymans <wim@fluendo.com>
28436 * gst/gstpad.c: (gst_pad_get_direction),
28437 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
28438 (gst_pad_collect_valist):
28439 * testsuite/bins/interface.c: (main):
28440 * testsuite/caps/audioscale.c: (test_caps):
28441 * testsuite/caps/caps.c: (test1), (test2), (test3):
28442 * testsuite/caps/deserialize.c: (main):
28443 * testsuite/caps/enumcaps.c: (main):
28444 * testsuite/caps/filtercaps.c: (main):
28445 * testsuite/caps/intersect2.c: (main):
28446 * testsuite/caps/random.c: (main):
28447 * testsuite/caps/renegotiate.c: (my_fixate), (main):
28448 * testsuite/caps/sets.c: (check_caps):
28449 * testsuite/caps/simplify.c: (check_caps), (main):
28450 * testsuite/caps/subtract.c: (check_caps):
28451 Fix _pad_get_direction wrt ghostpads.
28452 Fix caps testsuite.
28454 2005-03-09 Wim Taymans <wim@fluendo.com>
28456 * check/Makefile.am:
28457 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
28458 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
28459 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
28460 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
28461 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
28462 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
28463 (gst_bin_remove), (gst_bin_iterate_recurse_up),
28464 (bin_element_is_sink), (gst_bin_iterate_sinks),
28465 (gst_bin_iterate_all_by_interface):
28467 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
28468 (gst_element_change_state), (gst_element_dispose),
28469 (gst_element_finalize), (gst_element_set_loop_function):
28470 * gst/gstelement.h:
28471 * gst/gstiterator.c: (find_custom_fold_func):
28472 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28473 (gst_pad_collectv), (gst_pad_collect_valist),
28474 (gst_pad_template_new):
28475 * gst/gstpipeline.c: (gst_pipeline_class_init),
28476 (gst_pipeline_dispose), (gst_pipeline_set_property),
28477 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
28478 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
28479 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
28481 * gst/schedulers/entryscheduler.c:
28482 * gst/schedulers/gstbasicscheduler.c:
28483 (gst_basic_scheduler_cothreaded_chain),
28484 (gst_basic_scheduler_chain_add_element):
28485 * testsuite/bins/interface.c: (main):
28487 Added GstSystemClock test.
28488 Implemented clock distribution code in GstBin.
28489 Implemented iterate sinks method for future use.
28490 Rearranged gstelement.h
28491 Fix GstIterator comparison bug.
28492 Moved some code to GstPipeline, mostly clocking related.
28494 2005-03-09 Wim Taymans <wim@fluendo.com>
28497 * gst/gst_private.h:
28498 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28499 (gst_bin_remove_func), (gst_bin_remove),
28500 (gst_bin_get_by_name_recurse_up):
28501 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
28502 (gst_clock_id_compare_func), (gst_clock_id_wait),
28503 (gst_clock_id_wait_async), (gst_clock_init),
28504 (gst_clock_adjust_unlocked), (gst_clock_get_time):
28505 * gst/gstelement.h:
28506 * gst/gstinfo.c: (_gst_debug_init):
28508 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28509 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
28511 Bump version number, we're now 0.9.0
28512 Add future debugging category.
28513 Fix NULL _unref() in _get_by_name_recurse_up
28514 Rearrange gstpad.h.
28517 2005-03-08 Wim Taymans <wim@fluendo.com>
28519 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
28520 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
28521 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28522 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
28523 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
28524 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
28525 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
28526 * gst/elements/gstidentity.c: (gst_identity_class_init):
28527 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
28528 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
28529 * gst/elements/gstshaper.c: (gst_shaper_class_init):
28530 * gst/elements/gststatistics.c: (gst_statistics_class_init):
28531 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
28533 * gst/gstelement.c: (gst_element_class_init),
28534 (gst_element_base_class_init), (gst_element_init),
28535 (gst_element_get_random_pad), (gst_element_wait_state_change),
28536 (gst_element_change_state), (gst_element_dispose),
28537 (gst_element_finalize), (gst_element_set_loop_function):
28538 * gst/gstelement.h:
28539 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
28540 * gst/gstthread.c: (gst_thread_class_init),
28541 (gst_thread_release_children_locks), (gst_thread_change_state):
28542 * gst/schedulers/gstbasicscheduler.c:
28543 (gst_basic_scheduler_loopfunc_wrapper),
28544 (gst_basic_scheduler_chain_wrapper),
28545 (gst_basic_scheduler_src_wrapper),
28546 (gst_basic_scheduler_remove_element):
28547 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
28548 Remove threadsafe properties. Fix elements because GObject
28549 complains when installing a property before declaring a
28550 set/get_property handler.
28551 Rearrange gstelement.h file, use STATE macros for state locks.
28552 Free mutexes in the finalize method instead of dispose.
28554 2005-03-08 Wim Taymans <wim@fluendo.com>
28556 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28557 * gst/gstthread.c: (gst_thread_release_children_locks):
28558 Added parentage check.
28559 Fix build og GstThread again.
28561 2005-03-08 Wim Taymans <wim@fluendo.com>
28563 * docs/design/part-MT-refcounting.txt:
28564 * docs/design/part-conventions.txt:
28565 * docs/design/part-gstobject.txt:
28566 * docs/design/part-relations.txt:
28567 * docs/design/part-standards.txt:
28568 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28569 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
28570 (gst_bin_get_by_name), (gst_bin_get_by_interface),
28571 (gst_bin_iterate_all_by_interface):
28574 * gst/gstelement.c: (gst_element_class_init),
28575 (gst_element_change_state), (gst_element_set_loop_function):
28576 * gst/gstelement.h:
28577 * gst/gstiterator.c:
28578 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
28579 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
28580 (gst_object_dispatch_properties_changed), (gst_object_set_name),
28581 (gst_object_set_parent), (gst_object_unparent),
28582 (gst_object_check_uniqueness):
28584 Docs updates, clean up some headers.
28586 2005-03-07 Wim Taymans <wim@fluendo.com>
28588 * check/.cvsignore:
28589 * check/Makefile.am:
28590 * check/gst-libs/.cvsignore:
28591 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
28592 * check/gst/.cvsignore:
28593 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
28594 (START_TEST), (gstbus_suite), (main):
28595 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
28596 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
28597 (gst_data_suite), (main):
28598 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
28599 (add_fold_func), (gstiterator_suite), (main):
28600 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
28601 (thread_name_object), (thread_name_object_default),
28602 (gst_object_name_compare), (gst_object_suite), (main):
28603 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
28604 (gst_pad_suite), (main):
28605 * check/gstcheck.c: (gst_check_log_message_func),
28606 (gst_check_log_critical_func), (gst_check_init):
28607 * check/gstcheck.h:
28608 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
28609 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
28612 2005-03-07 Wim Taymans <wim@fluendo.com>
28614 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
28615 (gst_list_iterator_next), (gst_list_iterator_resync),
28616 (gst_list_iterator_free), (gst_iterator_new_list),
28617 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
28618 (gst_iterator_free), (gst_iterator_push), (filter_next),
28619 (filter_resync), (filter_uninit), (filter_free),
28620 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
28621 (gst_iterator_foreach), (find_custom_fold_func),
28622 (gst_iterator_find_custom):
28623 * gst/gstiterator.h:
28624 Added missing files.
28626 2005-03-07 Wim Taymans <wim@fluendo.com>
28630 * docs/design/part-MT-refcounting.txt:
28631 * docs/design/part-conventions.txt:
28632 * docs/design/part-gstobject.txt:
28633 * docs/design/part-relations.txt:
28634 * examples/mixer/mixer.c: (main):
28635 * examples/thread/thread.c: (eos), (main):
28637 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
28638 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
28639 (gst_spider_plug_from_srcpad):
28640 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
28641 (gst_spider_identity_change_state),
28642 (gst_spider_identity_sink_loop_type_finding):
28643 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
28644 * gst/elements/gstidentity.c: (gst_identity_init):
28645 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
28646 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
28647 * gst/elements/gsttypefindelement.c: (free_entry):
28650 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
28651 (gst_bin_set_clock_func), (gst_bin_auto_clock),
28652 (gst_bin_set_index), (gst_bin_set_element_sched),
28653 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
28654 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
28655 (gst_bin_iterate_elements), (iterate_child_recurse),
28656 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
28657 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
28658 (compare_interface), (gst_bin_get_by_interface),
28659 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
28661 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
28662 (gst_buffer_default_free), (gst_buffer_default_copy),
28663 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
28664 (gst_buffer_create_sub):
28666 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
28667 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
28668 (gst_caps_unref), (gst_static_caps_get),
28669 (gst_caps_remove_and_get_structure), (gst_caps_append),
28670 (gst_caps_append_structure), (gst_caps_remove_structure),
28671 (gst_caps_copy_nth), (gst_caps_set_simple),
28672 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
28673 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
28674 (gst_caps_structure_intersect_field), (gst_caps_intersect),
28675 (gst_caps_structure_subtract_field), (gst_caps_subtract),
28676 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
28677 (gst_caps_structure_figure_out_union),
28678 (gst_caps_switch_structures), (gst_caps_do_simplify),
28679 (gst_caps_replace), (gst_caps_from_string),
28680 (gst_caps_copy_conditional):
28682 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
28683 (_gst_clock_id_free), (gst_clock_id_unref),
28684 (gst_clock_id_compare_func), (gst_clock_id_wait),
28685 (gst_clock_id_wait_async), (gst_clock_class_init),
28686 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
28687 (gst_clock_get_time), (gst_clock_set_time_adjust),
28688 (gst_clock_set_property), (gst_clock_get_property):
28691 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
28692 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
28694 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28695 (gst_element_requires_clock), (gst_element_provides_clock),
28696 (gst_element_set_clock), (gst_element_clock_wait),
28697 (gst_element_wait), (gst_element_set_time_delay),
28698 (gst_element_is_indexable), (gst_element_add_pad),
28699 (gst_element_add_ghost_pad), (gst_element_remove_pad),
28700 (pad_compare_name), (gst_element_get_static_pad),
28701 (gst_element_request_pad), (gst_element_get_request_pad),
28702 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
28703 (gst_element_class_get_pad_template_list),
28704 (gst_element_class_get_pad_template), (gst_element_error_func),
28705 (gst_element_get_random_pad), (gst_element_get_event_masks),
28706 (gst_element_send_event), (gst_element_seek),
28707 (gst_element_get_query_types), (gst_element_query),
28708 (gst_element_get_formats), (gst_element_convert),
28709 (gst_element_is_locked_state), (gst_element_set_locked_state),
28710 (gst_element_sync_state_with_parent), (gst_element_change_state),
28711 (gst_element_finalize), (gst_element_yield),
28712 (gst_element_interrupt), (gst_element_set_scheduler),
28713 (gst_element_get_scheduler), (gst_element_set_loop_function):
28714 * gst/gstelement.h:
28716 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
28717 (gst_format_get_by_nick), (gst_format_get_details),
28718 (gst_format_iterate_definitions):
28720 * gst/gstindex.c: (gst_index_gtype_resolver):
28723 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
28724 (gst_mem_chunk_free):
28725 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
28726 (gst_object_ref), (gst_object_unref), (gst_object_sink),
28727 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
28728 (gst_object_dispatch_properties_changed),
28729 (gst_object_set_name_default), (gst_object_set_name),
28730 (gst_object_get_name), (gst_object_set_name_prefix),
28731 (gst_object_get_name_prefix), (gst_object_set_parent),
28732 (gst_object_get_parent), (gst_object_unparent),
28733 (gst_object_check_uniqueness), (gst_object_save_thyself),
28734 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
28735 (gst_object_set_property), (gst_object_get_property),
28736 (gst_object_get_path_string):
28738 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28739 (gst_real_pad_init), (gst_real_pad_get_property),
28740 (gst_pad_custom_new), (gst_pad_get_direction),
28741 (gst_pad_set_active), (gst_pad_is_active),
28742 (gst_pad_set_event_function), (gst_pad_is_linked),
28743 (gst_pad_link_free), (gst_pad_link_intersect),
28744 (gst_pad_link_fixate), (gst_pad_set_caps),
28745 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
28746 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
28747 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
28748 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
28749 (gst_pad_get_caps), (gst_pad_peer_get_caps),
28750 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
28751 (gst_pad_realize), (gst_pad_get_allowed_caps),
28752 (gst_real_pad_dispose), (gst_real_pad_finalize),
28753 (gst_pad_collectv), (gst_pad_collect_valist),
28754 (gst_pad_template_dispose), (gst_pad_template_new),
28755 (gst_pad_get_internal_links):
28757 * gst/gstpipeline.c: (gst_pipeline_dispose),
28758 (gst_pipeline_change_state):
28759 * gst/gstpipeline.h:
28761 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
28762 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
28763 * gst/gstpluginfeature.h:
28764 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
28765 * gst/gstquery.c: (_gst_query_type_initialize),
28766 (gst_query_type_register), (gst_query_type_get_by_nick),
28767 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
28769 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
28770 * gst/gstscheduler.c: (gst_scheduler_add_element),
28771 (gst_scheduler_factory_create):
28772 * gst/gststructure.c: (gst_structure_set_parent_refcount),
28773 (gst_structure_free), (gst_structure_set_name),
28774 (gst_structure_id_set_value), (gst_structure_set_value),
28775 (gst_structure_set_valist), (gst_structure_remove_field),
28776 (gst_structure_remove_fields),
28777 (gst_structure_remove_fields_valist),
28778 (gst_structure_remove_all_fields), (gst_structure_foreach),
28779 (gst_structure_map_in_place),
28780 (gst_caps_structure_fixate_field_nearest_int),
28781 (gst_caps_structure_fixate_field_nearest_double):
28782 * gst/gststructure.h:
28783 * gst/gstsystemclock.c: (gst_system_clock_class_init),
28784 (gst_system_clock_init), (gst_system_clock_dispose),
28785 (gst_system_clock_async_thread),
28786 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
28787 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
28788 * gst/gstsystemclock.h:
28789 * gst/gsttag.c: (gst_tag_list_add_value_internal),
28790 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
28791 * gst/gsttaginterface.c:
28792 * gst/gstthread.c: (gst_thread_dispose),
28793 (gst_thread_release_children_locks), (gst_thread_change_state),
28794 (gst_thread_main_loop):
28795 * gst/gsttrashstack.h:
28796 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
28798 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28799 (gst_element_request_pad), (gst_element_get_pad_from_template),
28800 (gst_element_request_compatible_pad),
28801 (gst_element_get_compatible_pad_filtered),
28802 (gst_element_get_compatible_pad), (gst_element_state_get_name),
28803 (gst_element_link_pads_filtered), (gst_element_link_filtered),
28804 (gst_element_link_many), (gst_element_link),
28805 (gst_element_link_pads), (gst_element_unlink_pads),
28806 (gst_element_unlink_many), (gst_element_unlink),
28807 (gst_pad_can_link_filtered), (gst_pad_can_link),
28808 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
28809 (gst_object_default_error), (gst_bin_add_many),
28810 (gst_bin_remove_many), (gst_element_populate_std_props),
28811 (gst_element_class_install_std_props), (gst_buffer_merge),
28812 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
28813 (link_fold_func), (gst_pad_proxy_setcaps):
28815 * gst/gstvalue.c: (gst_value_deserialize_string):
28816 * gst/parse/grammar.y:
28817 * gst/schedulers/gstbasicscheduler.c:
28818 (gst_basic_scheduler_cothreaded_chain),
28819 (gst_basic_scheduler_chain_recursive_add),
28820 (gst_basic_scheduler_pad_link):
28821 * gst/schedulers/gstoptimalscheduler.c:
28822 (get_group_schedule_function),
28823 (gst_opt_scheduler_state_transition),
28824 (gst_opt_scheduler_add_element), (element_get_reachables_func):
28825 * libs/gst/bytestream/bytestream.c:
28826 * libs/gst/dataprotocol/dataprotocol.c:
28827 (gst_dp_header_from_buffer):
28830 * tests/threadstate/threadstate2.c: (eos):
28831 * tools/gst-compprep.c: (main):
28832 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
28833 (print_pad_info), (print_children_info):
28834 * tools/gst-launch.c: (idle_func), (main):
28835 * tools/gst-md5sum.c: (idle_func), (main):
28836 * tools/gst-xmlinspect.c: (print_element_info):
28837 First THREADED backport attempt, focusing on adding locks and
28838 making sure the API is threadsafe. Needs more work. More docs
28841 2005-02-24 Andy Wingo <wingo@pobox.com>
28843 * tests/bench-complexity.scm:
28844 * tests/complexity.gnuplot: New files, good for running complexity
28847 * tests/Makefile.am:
28848 * tests/complexity.c: New test, sets up N elements, at each level
28849 teeing into M streams per element. Eeeenteresting.
28851 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
28852 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
28853 running bench-mass_elements.scm.
28855 * tests/bench-mass_elements.scm: New script, runs mass_elements
28856 for various numbers of identities, outputting the results to a
28857 file. Requires guile 1.6. Just for testing.
28859 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
28861 * gst/schedulers/fairscheduler.c:
28862 compile with debug disabled
28864 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
28867 hunting season on 0.9 is now OPEN