1 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
3 * tools/gst-launch.1.in:
4 Un-garble (fourcc) bit in filtered caps section.
6 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
8 * docs/manual/advanced-autoplugging.xml:
9 * docs/manual/basics-helloworld.xml:
10 * docs/manual/highlevel-components.xml:
11 Don't leak bus reference in sample code.
13 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
16 Add default for new --enable-plugin-docs switch.
19 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
23 Use new ENABLE_PLUGIN_DOCS conditional.
25 2006-06-14 Wim Taymans <wim@fluendo.com>
27 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
28 Make it clear with a FIXME and a real define what the #if 0
31 2006-06-14 Wim Taymans <wim@fluendo.com>
33 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
34 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
35 * libs/gst/base/gstbasetransform.c:
36 (gst_base_transform_sink_eventfunc):
37 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
38 Don't randomly and silently reset a segment when the format
39 changes as this is a bug somewhere upstream. Fixes #330379.
41 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
43 Patch by: Wouter Paesen <wouter at kangaroot net>
45 * libs/gst/controller/gstcontroller.c:
46 (gst_controlled_property_new):
47 Fix controlling of float properties (#344849).
49 * tests/check/libs/controller.c:
50 (gst_test_mono_source_get_property),
51 (gst_test_mono_source_set_property),
52 (gst_test_mono_source_class_init), (GST_START_TEST):
53 While we're at it, add some float stuff to unit test.
55 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
58 * docs/images/gdp-header.svg:
60 * docs/libs/Makefile.am:
61 * docs/libs/gdp-header.png:
62 * libs/gst/dataprotocol/dataprotocol.c:
63 add it to the API docs
64 * docs/manual/intro-motivation.xml:
67 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
69 * gst/gst.c: (scan_and_update_registry), (init_post):
70 If the fork()'ed child process can't write the updated registry cache
71 file to disk for some reason, make it exit with a failure exit code,
72 so that the parent can then re-scan the plugins itself and update the
73 registry structures in memory and work with that (rather than failing
74 when creating elements because seemingly no plugins are available).
75 Refactor registry scanning code into separate function for this and
76 also separate fork() and non-fork() code paths. Fixes #344748.
78 2006-06-13 Wim Taymans <wim@fluendo.com>
80 * docs/manual/advanced-dataaccess.xml:
81 Fix wrong PluginDesc. Fixes #344755.
83 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
85 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
86 Fix silly bug that prevented us from creating
87 ~/.gstreamer-0.10 and writing the registry in one
88 go (the first call to g_mkstemp() would overwrite the
89 placeholder in the template string, so the second call
90 to g_mkstemp() after creating the missing directory
91 would then error out with 'invalid argument').
93 2006-06-13 Edward Hervey <edward@fluendo.com>
95 * gst/gst.c: (init_post):
98 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
100 * gst/glib-compat-private.h:
103 * gst/gstvalue.c: (gst_value_serialize_flags):
104 remove GLib 2.6 compatibility code
106 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
108 * gst/parse/Makefile.am:
109 Fix build with 'make -j N' even more (#340016).
111 2006-06-12 Wim Taymans <wim@fluendo.com>
113 * docs/gst/gstreamer-sections.txt:
116 2006-06-12 Wim Taymans <wim@fluendo.com>
118 * gst/gstsegment.c: (gst_segment_set_duration),
119 (gst_segment_set_last_stop), (gst_segment_set_seek),
120 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
121 (gst_segment_to_running_time), (gst_segment_clip):
122 Use G_UNLIKELY to help the compiler a bit.
124 2006-06-12 Wim Taymans <wim@fluendo.com>
126 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
128 * gst/gstevent.c: (gst_event_get_type):
130 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
132 constify quark registration strings. Fixes #344115
133 Avoid unneeded type checking is _pad_push() by internally
134 calling gst_pad_chain_unchecked().
136 2006-06-12 Wim Taymans <wim@fluendo.com>
138 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
139 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
140 (gst_subbuffer_finalize), (gst_buffer_create_sub),
141 (gst_buffer_is_span_fast), (gst_buffer_span):
142 Init _type for consistency.
143 Use _FLAGS macro to avoid type check.
144 Avoid unneeded type checks in subbufer code.
146 2006-06-12 Wim Taymans <wim@fluendo.com>
148 * gst/gst.c: (gst_debug_help):
149 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
150 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
151 (gst_plugin_feature_list_free):
152 * gst/gstregistry.c: (gst_registry_add_plugin),
153 (gst_registry_add_feature), (gst_registry_plugin_filter),
154 (gst_registry_feature_filter), (gst_registry_find_plugin),
155 (gst_registry_find_feature), (gst_registry_get_plugin_list),
156 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
157 * gst/gstregistryxml.c: (load_feature),
158 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
159 * gst/gstminiobject.c: (gst_mini_object_unref),
160 (gst_mini_object_replace), (gst_value_mini_object_free),
161 (gst_value_mini_object_copy):
162 Use _CAST macros to avoid unneeded type checking.
163 Added some more G_UNLIKELY.
165 2006-06-12 Wim Taymans <wim@fluendo.com>
168 Avoid unneeded type checking.
169 API: GST_BUFFER_IS_DISCONT
171 * gst/gstminiobject.h:
172 Avoid type check in flag accessor.
174 * gst/gstelementfactory.h:
176 * gst/gstpluginfeature.h:
178 API: GST_ELEMENT_FACTORY_CAST
180 API: GST_PLUGIN_FEATURE_CAST
182 2006-06-12 Wim Taymans <wim@fluendo.com>
184 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
186 Add G_UNLIKELY in type registration.
187 Avoid type check in _ref/_unref since that is also
190 2006-06-12 Wim Taymans <wim@fluendo.com>
192 * gst/gsterror.c: (gst_g_error_get_type):
193 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
194 (gst_static_pad_template_get_type):
195 * gst/gsttaglist.c: (gst_tag_list_get_type):
196 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
197 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
198 * gst/gsturi.c: (gst_uri_handler_get_type):
199 * gst/gstvalue.c: (gst_date_get_type):
200 * gst/gstxml.c: (gst_xml_get_type):
201 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
202 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
203 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
204 Add G_UNLIKELY in type registration.
206 2006-06-12 Wim Taymans <wim@fluendo.com>
208 * tools/gst-inspect.c: (print_signal_info):
209 Properly print enum values.
211 2006-06-12 Wim Taymans <wim@fluendo.com>
213 * gst/gstinfo.c: (gst_debug_set_active),
214 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
216 Add some G_[UN]LIKELY.
217 Maintain __gst_debug_min to avoid formatting the arguments of
218 debug messages that will be dropped anyway to avoid a lot of
219 overhead from the debugging system.
221 2006-06-11 Stefan Kost <ensonic@users.sf.net>
225 add missing files containing translatable strings, tell intltool about
228 2006-06-11 Stefan Kost <ensonic@users.sf.net>
230 * tests/check/libs/.cvsignore:
231 add test-binary to ignore list
233 2006-06-11 Stefan Kost <ensonic@users.sf.net>
235 * docs/libs/gstreamer-libs-docs.sgml:
236 reorder (put dp into a chapter) and indent
238 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
243 === release 0.10.8 ===
245 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
248 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
250 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
252 * gst/gst.c: (init_post):
253 move pid declaration to declaration block
255 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
257 * gst/gst.c: (init_post):
258 use _exit() instead of exit() in our forked child; this ensures
259 that none of the registered exit handlers from whatever is using
260 GStreamer get executed. This fixes gnome-mixer-applet failing
261 to load, because ORBit would shut down.
262 Spotted by: Edward Hervey <edward@fluendo.com>
263 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
266 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
271 === release 0.10.7 ===
273 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
276 releasing 0.10.7, "Soepeke, ik zie ou"
278 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
301 * win32/common/config.h:
304 2006-06-07 Wim Taymans <wim@fluendo.com>
306 * gst/gstindex.c: (gst_index_gtype_resolver):
307 * tools/gst-xmlinspect.c: (print_plugin_info):
308 Fix leak spotted by coverity checker. Fixes #343827
309 Fix another other leak found by paolo borelli.
311 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
313 * libs/gst/dataprotocol/dataprotocol.c:
314 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
315 (gst_dp_version_get_type), (gst_dp_init),
316 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
317 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
318 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
319 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
320 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
321 (gst_dp_packetizer_free):
322 * libs/gst/dataprotocol/dataprotocol.h:
323 API: add a GstDPPacketizer object, and create/free functions
324 API: add GstDPVersion enum
325 Add 1.0 event function that uses the string serialization
326 Serialize more useful buffer flags
329 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
331 * tests/check/Makefile.am:
332 * tests/check/gst/gstabi.c:
333 * tests/check/gst/struct_ppc64.h:
334 * tests/check/libs/libsabi.c:
335 * tests/check/libs/struct_ppc64.h:
336 add ppc64 structure sizes
338 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
340 * tests/check/Makefile.am:
341 * tests/check/gst/gstabi.c:
342 * tests/check/gst/struct_x86_64.h:
343 * tests/check/libs/libsabi.c:
344 * tests/check/libs/struct_x86_64.h:
345 generate and add structure size lists for x86_64
347 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
349 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
350 * libs/gst/check/gstcheck.h:
351 factor out the method from tests that checks size of structures,
352 and add code to generate the header containing these sizes
353 * tests/check/gst/gstabi.c: (GST_START_TEST):
354 * tests/check/gst/struct_i386.h:
355 * tests/check/libs/libsabi.c: (GST_START_TEST):
356 * tests/check/libs/struct_i386.h:
359 2006-06-06 Michael Smith <msmith@fluendo.com>
362 Don't use c++-style comments, fixes #343929
364 2006-06-05 Edward Hervey <edward@fluendo.com>
367 plugin_paths is not used if we build without registry support.
369 * gst/gstsegment.c: (gst_segment_copy):
370 _copy() was always returning NULL...
372 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
374 * libs/gst/dataprotocol/dataprotocol.c:
375 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
376 (gst_dp_packet_from_event):
379 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
381 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
382 make sure we unset caps
384 2006-06-02 Michael Smith <msmith@fluendo.com>
386 * libs/gst/check/gstcheck.c: (gst_check_init),
387 (gst_check_chain_func):
388 * libs/gst/check/gstcheck.h:
389 Add a cond/mutex to the check support lib, signal this whenever we
390 add to the buffers list. This will allow tests to not busy-wait on
393 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
395 * libs/gst/dataprotocol/dataprotocol.c:
396 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
397 (gst_dp_packet_from_event):
398 factor out some common header init code
400 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
402 * docs/libs/gstreamer-libs-sections.txt:
403 * docs/libs/tmpl/gstdataprotocol.sgml:
404 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
405 * libs/gst/dataprotocol/dataprotocol.h:
406 API: make gst_dp_crc() public
408 2006-06-01 Stefan Kost <ensonic@users.sf.net>
410 * plugins/indexers/gstindexers.c: (plugin_init):
411 conditionally register fileindexer (fixes #343598)
413 2006-06-01 Stefan Kost <ensonic@users.sf.net>
415 * gst/gsttagsetter.h:
416 Can't cast ifaces to a class
418 * libs/gst/net/gstnetclientclock.h:
419 * libs/gst/net/gstnettimeprovider.h:
420 * plugins/elements/gstfakesink.h:
421 * plugins/elements/gstfakesrc.h:
422 * plugins/elements/gstfdsink.h:
423 * plugins/elements/gstfdsrc.h:
424 * plugins/elements/gstfilesink.h:
425 * plugins/elements/gstfilesrc.h:
426 * plugins/elements/gstidentity.h:
427 * plugins/elements/gstqueue.h:
428 * plugins/elements/gsttee.h:
429 * plugins/indexers/gstfileindex.c:
430 * plugins/indexers/gstmemindex.c:
431 * tests/old/examples/plugins/example.h:
432 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
434 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
436 * libs/gst/dataprotocol/dataprotocol.c:
437 (gst_dp_header_from_buffer):
438 make sure we zero the whole ABI-compatible area
440 2006-06-01 Wim Taymans <wim@fluendo.com>
442 Patch by: Alessandro Decina <alessandro at nnva dot org>
444 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
445 Make sure the EOS flag is cleared from pads after a flush
446 or stop. Fixes #343538.
448 * tests/check/libs/collectpads.c: (GST_START_TEST),
449 (gst_collect_pads_suite):
450 Added test for collectpads reusage after EOS.
452 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
455 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
456 * win32/common/libgstbase.def:
457 export gst_collect_pads_set_flushing
458 * win32/common/libgstreamer.def:
459 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
460 gst_value_fraction_multiply
461 * win32/vs6/gst_inspect.dsp:
462 add a link to intl.lib
464 2006-05-30 Wim Taymans <wim@fluendo.com>
466 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
467 (gst_collect_pads_chain):
468 Handle the case where a pad is removed from the collection
469 that could cause the other pads to become collectable.
471 2006-05-30 Wim Taymans <wim@fluendo.com>
474 Clarify the use of _release_request_pad() and
475 _get_request_pad() a bit better.
477 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
478 (gst_adapter_take_buffer):
479 Fix some doc and comment typos.
481 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
483 * docs/gst/gstreamer-sections.txt:
484 * docs/libs/gstreamer-libs-sections.txt:
487 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
489 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
490 Add debug that can be enabled using a #define at the top of the file,
491 for dumping stats about how late/early we were when waking up from
492 waiting on the clock.
494 2006-05-30 Wim Taymans <wim@fluendo.com>
496 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
497 When rebuilding the pad list, don't leak the previous list.
499 2006-05-30 Wim Taymans <wim@fluendo.com>
501 Patch by: Lutz Mueller <lutz at topfrose dot de>
503 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
504 (gst_base_src_get_query_types), (gst_base_src_update_length):
505 Publish supported query types.
506 Update last_stop field in get_range mode so the position
507 query works. Fixes #342321.
509 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
511 * docs/gst/gstreamer-sections.txt:
512 * gst/gsttaglist.c: (_gst_tag_initialize):
514 API: add GST_TAG_PREVIEW_IMAGE (#343341).
516 2006-05-30 Wim Taymans <wim@fluendo.com>
518 Patch by: Alessandro Decina <alessandro at nnva dot org>
520 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
521 Unlock mutex when removing an unknown pad.
524 * tests/check/Makefile.am:
525 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
526 (push_event), (setup), (teardown), (GST_START_TEST),
527 (gst_collect_pads_suite), (main):
528 Added collecpads check, disabled for now as check crashes for
531 2006-05-29 Wim Taymans <wim@fluendo.com>
533 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
534 Don't leak pads lists.
536 2006-05-29 Wim Taymans <wim@fluendo.com>
538 * docs/libs/gstreamer-libs-sections.txt:
539 * libs/gst/base/gstcollectpads.c:
540 (gst_collect_pads_set_flushing_unlocked),
541 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
542 (gst_collect_pads_stop):
543 * libs/gst/base/gstcollectpads.h:
544 API: gst_collect_pads_set_flushing()
545 Added api to set the pads to flushing, useful for seeking
546 code in elements using collectpads.
547 Clear segment when receiving a flush.
549 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
551 * gst/gst.c: (add_path_func), (init_post):
552 Don't scan registry paths passed via --gst-plugin-path immediately
553 (will crash, because absolutely nothing is set up and no types are
554 registered etc.); do this later in init_post(). Fixes #343057.
556 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
558 * gst/gst.c: (init_post):
559 if we have fork, fork while reading/rebuilding the registry
560 so the parent doesn't take the hit of having all plugins loaded
561 in memory. Fixes #342777.
563 Check if we have fork()
564 * win32/common/config.h.in:
567 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
569 * plugins/elements/gstelements.c:
570 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
571 (gst_file_src_init), (gst_file_src_set_property),
572 (gst_file_src_get_property), (gst_file_src_start):
573 * plugins/elements/gstfilesrc.h:
574 API: GstFileSrc::use-mmap
576 Add a use-mmap property to enable easier testing of all code paths.
577 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
578 in the absence of gnomevfssrc. (Closes #340501)
580 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
582 * tools/gst-inspect.c:
583 Add missing include, removes warning of ngettext not being defined on
586 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
588 * gst/gstvalue.c: (gst_value_deserialize_fraction):
589 Handle NULL input and output pointers silently as a failed conversion,
590 rather than g_warnings.
592 2006-05-25 Wim Taymans <wim@fluendo.com>
594 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
595 Initialize variable before using. Fixes #342820.
597 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
599 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
600 Fix off-by-one bug that would only allow peeks of N-1 bytes
601 from the start even if the buffer to typefind on contains
602 in fact N bytes of data (makes vorbis typefinding from a
603 vorbis identification header buffer work).
605 * tests/check/Makefile.am:
606 * tests/check/libs/.cvsignore:
607 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
608 (gst_typefindhelper_suite), (main), (foobar_typefind),
610 Add very basic unit test for gst_type_find_helper_for_buffer()
611 that checks for the problem fixed above.
613 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
615 * tools/gst-inspect.c: (print_interfaces),
616 (print_element_properties_info), (print_element_list), (main):
617 add more translatable strings
619 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
621 Patch by: Julien Moutte <julien at moutte net>
623 * docs/gst/gstreamer-sections.txt:
624 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
626 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
627 (gst_fake_sink_preroll):
628 * plugins/elements/gstfakesink.h:
629 API: Add new GstFakeSink::preroll-handoff signal (#337100).
631 2006-05-23 Wim Taymans <wim@fluendo.com>
633 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
635 Added _CUSTOM error and success GstFlowReturn that can be
636 used be elements internally.
637 Added macro to check for SUCCESS flowreturns.
638 API: GST_FLOW_CUSTOM_SUCCESS
639 API: GST_FLOW_CUSTOM_ERROR
640 API: GST_FLOW_IS_SUCCESS
642 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
643 Added check for GstFlowReturn sanity.
645 2006-05-23 Wim Taymans <wim@fluendo.com>
647 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
649 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
650 (gst_collect_pads_event):
651 clear/reset segment info in FLUSH_STOP.
654 2006-05-22 Stefan Kost <ensonic@users.sf.net>
656 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
657 (gst_collect_pads_check_collected):
658 Flush queued buffer on _stop(), fixes playing again (#342454)
660 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
662 * tests/check/gst/gststructure.c: (GST_START_TEST),
663 (gst_structure_suite):
664 add a test for a complete structure
666 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
668 * docs/faq/developing.xml:
670 * docs/faq/troubleshooting.xml:
671 * docs/faq/using.xml:
672 Some minor FAQ updates that won't change the fact that
673 our FAQ is badly structured, full of information hardly
674 anyone new to GStreamer needs to know and lacking lots
675 of information people constantly ask for.
677 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
679 * gst/gstpad.c: (gst_pad_set_caps):
680 Short-circuit gst_pad_set_caps if setting the existing
681 caps pointer again, and avoid printing debug and
682 reffing/unreffing the caps.
684 * plugins/elements/gstqueue.c: (gst_queue_push_one):
685 There's actually no need to set the caps before pushing -
686 the acceptcaps method will handle it anyway.
688 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
690 * docs/gst/gstreamer-sections.txt:
691 * win32/common/libgstreamer.def:
692 * gst/gstutils.c: (gst_element_seek_simple):
694 API: add gst_element_seek_simple() (#342238).
696 2006-05-18 Edward Hervey <edward@fluendo.com>
698 * gst/gsttypefind.c: (gst_type_find_get_type):
700 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
701 registered for GstTypeFind pointers. This allows wrapping the structure
702 in bindings (i.e. gst-python).
704 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
706 * gst/gsttagsetter.c:
707 Docs additions and fixes (see #339918).
709 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
711 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
712 The caps intersection algorithm can produce multiple copies of the
713 caps. Until that is fixed, we need to simplify the result to be
714 sure whether the allowed caps are fixed or not.
716 * plugins/elements/gstqueue.c: (gst_queue_init),
717 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
718 (gst_queue_push_one):
719 Proxied buffer alloc should not set the caps on the source pad.
720 When pushing buffers, we always accept the caps change that triggers.
721 This prevents negotiation errors caused by caps changing mid-stream
722 and then being refused on our source pad (because upstream is now
723 refusing those caps).
725 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
727 * tests/examples/helloworld/helloworld.c: (main):
728 Must plug audioconvert and audioresample between decoder
731 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
733 * gst/gstregistryxml.c: (read_string), (load_pad_template),
734 (load_feature), (load_plugin):
735 Allow empty strings for some of the plugin fields so we don't
736 drop valid plugin entries that were written out correctly
739 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
741 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
742 Use g_remove and g_rename instead of remove and rename that don't
743 handle utf8 characters. rename was failing for users who had specific
744 characters in their name then the registry was built at each
746 * win32/vs6/gst_inspect.dsp:
747 * win32/vs6/gst_launch.dsp:
748 * win32/vs6/libgstbase.dsp:
749 * win32/vs6/libgstcoreelements.dsp:
750 * win32/vs6/libgstreamer.dsp:
751 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
752 build of libgstreamer and clean unused libraries in projects link
755 2006-05-17 Edward Hervey <edward@fluendo.com>
757 * plugins/elements/gstqueue.c: (gst_queue_push_one):
758 The queue is not responsible for pushing an EOS when receiving a fatal
759 flow error. It's up to the real element driving the pipeline to do that.
761 2006-05-16 Edward Hervey <edward@fluendo.com>
763 * plugins/elements/gstqueue.c: (gst_queue_push_one):
764 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
765 buffer returned a fatal error. It should just send an EOS and stop
767 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
768 when pushing buffers on the queue and will be able to handle the event.
770 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
772 * docs/manual/basics-bins.xml:
773 * docs/manual/basics-init.xml:
774 Fix typos and minor errors in sample code (#341856).
776 2006-05-16 Wim Taymans <wim@fluendo.com>
778 * docs/design/part-qos.txt:
779 Fix indexes in formulas to make more sense.
781 2006-05-15 Wim Taymans <wim@fluendo.com>
783 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
784 Don't report POSITION based on clock time if sync is
787 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
790 Add cast to make compiler happy - refcount variable was a gint
791 in GstObject but is a guint in GObject and g_atomic_int_get()
794 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
796 * gst/parse/Makefile.am:
797 chain commands using &&, which also makes parallel make work
799 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
801 * docs/gst/gstreamer-sections.txt:
807 === release 0.10.6 ===
809 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
812 releasing 0.10.6, "Take the cannoli"
814 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
816 * tools/gst-launch.c: (print_tag):
817 Fix use of uninitialized variable in the hypothetical
818 case that some broken plugin creates a GST_TAG_IMAGE
819 tag containing a NULL buffer (#341667).
821 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
823 * tools/gst-launch.c: (print_tag):
824 Print something more intelligible for image tags when
825 using the -t switch (#341556).
827 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
832 define GST_MAJORMINOR so we have it available in win32/common/config.h
833 Possibly remove it from our Makefile.am files later
834 * win32/common/config.h:
835 * win32/common/config.h.in:
837 * win32/common/gstenumtypes.c: (register_gst_resource_error):
838 * win32/common/gstversion.h:
841 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
844 Update win32 files listing.
845 * win32/common/gstversion.h:
846 Add GST_MAJORMINOR definition.
847 * win32/common/libgstreamer.def:
848 Add new exported functions.
850 2006-05-12 Michael Smith <msmith@fluendo.com>
852 * gst/gstplugin.c: (gst_plugin_load_file):
853 If an so file has no plugin entry point, unload the module.
855 2006-05-11 Wim Taymans <wim@fluendo.com>
857 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
858 (gst_queue_set_property):
859 Don't forget to signal the _chain or _loop function
860 when the queue size or thresholds change since that might
861 cause them to make progres again.
863 2006-05-11 Stefan Kost <ensonic@users.sf.net>
865 * gst/gstclock.c: (gst_clock_class_init):
866 * gst/gstindex.c: (gst_index_class_init):
867 * gst/gstobject.c: (gst_object_class_init):
868 * gst/gstpad.c: (gst_pad_class_init):
869 * gst/gstpipeline.c: (gst_pipeline_class_init):
870 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
871 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
872 * libs/gst/base/gstbasetransform.c:
873 (gst_base_transform_class_init):
874 * libs/gst/net/gstnetclientclock.c:
875 (gst_net_client_clock_class_init):
876 * libs/gst/net/gstnettimeprovider.c:
877 (gst_net_time_provider_class_init):
878 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
879 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
880 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
881 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
882 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
883 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
884 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
885 * plugins/elements/gstidentity.c: (gst_identity_class_init):
886 * plugins/elements/gsttee.c: (gst_tee_class_init):
887 * tests/old/examples/plugins/example.c: (gst_example_class_init):
888 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
889 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
891 2006-05-11 Wim Taymans <wim@fluendo.com>
893 * gst/gstbuffer.c: (_gst_buffer_initialize):
894 Register subbufer along with the buffer type so that
895 it does not accidentally gets registered from N
896 different streaming threads in a non threadsafe way.
898 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
903 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
904 gst_event_ref() and gst_message_ref() functions again
905 (ugly hack, please do fix if there's a better way besides
906 overrides.txt, which doesn't seem to work).
908 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
910 * libs/gst/check/gstcheck.h:
911 add an assert for setting state to avoid lots of repetitive code
914 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
916 * gst/gstvalue.c: (gst_value_serialize_flags):
917 fix a leak if no flags are set
918 * tests/check/gst/gstvalue.c: (GST_START_TEST):
921 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
923 * docs/manual/basics-pads.xml:
924 Expand a bit on caps and filtered links and update
925 examples that were still using the no longer existing
926 gst_pad_link_filtered() (#338206).
928 2006-05-10 Wim Taymans <wim@fluendo.com>
930 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
931 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
932 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
933 (gst_collect_pads_stop):
934 * libs/gst/base/gstcollectpads.h:
935 No need to call _stop in _finalize.
936 Iterate the main pad list in _finalize.
937 Added some more debug.
938 Free lists and data in the right order.
939 Also free data whem doing _remove_pad when stopped for
940 backward compatibility protect ::started with PAD_LOCK as
943 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
945 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
946 (gst_structure_parse_value):
948 rename a method so that it actually says what it does better
950 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
952 * gst/gstevent.c: (_gst_event_initialize):
953 * gst/gstformat.c: (_gst_format_initialize):
954 make sure some essential types used by events are registered
955 as part of gst_init()
956 * gst/gstvalue.c: (gst_value_serialize_flags):
957 if no flags are set, serialize them to a value that represents NONE
958 so that deserializing them works
959 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
960 add tests for serialization and deserialization of flags
962 2006-05-10 Wim Taymans <wim@fluendo.com>
964 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
965 (gst_collect_pads_collect_range), (gst_collect_pads_available),
966 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
967 (gst_collect_pads_event), (gst_collect_pads_chain):
970 Catch and return errors from the collect function
971 Refuse data on eos pads.
973 2006-05-10 Edward Hervey <edward@fluendo.com>
975 * gst/gstinterface.h:
976 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
977 GInterface type checking.
978 They were previously using non-defined macros.
980 2006-05-09 Wim Taymans <wim@fluendo.com>
982 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
983 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
984 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
985 (gst_collect_pads_start), (gst_collect_pads_stop),
986 (gst_collect_pads_peek), (gst_collect_pads_pop),
987 (gst_collect_pads_available), (gst_collect_pads_read),
988 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
989 (gst_collect_pads_is_collected), (gst_collect_pads_event),
990 (gst_collect_pads_chain):
991 * libs/gst/base/gstcollectpads.h:
992 Clean up the mess that is collectpads, add comments and
994 Maintain a separate pad list so we can add pads while
995 collecting the other ones. For this we need a new separate
997 Fix memory leak in finalize.
998 Refactor some weird code to set/unset pad flushing flags, mark
1000 Don't crash in _available, _read, _flush when we're EOS.
1002 * tests/check/libs/.cvsignore:
1003 Ignore adapter check binary.
1005 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1007 * gst/gstindex.c: (gst_index_resolver_get_type):
1008 * plugins/elements/gstfakesink.c:
1009 (gst_fake_sink_state_error_get_type):
1010 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1011 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1012 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1013 Const-ify GEnumValue arrays.
1015 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1017 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1018 Add test case for flags + gst_buffer_make_metadata_writable().
1020 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1022 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1023 gst_buffer_make_metadata_writable() should maintain the
1024 buffer flags (those that make sense at least) (see #340859).
1026 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1028 * tools/gst-inspect.c:
1029 * tools/gst-launch.c:
1030 * tools/gst-typefind.c:
1031 * tools/gst-xmlinspect.c:
1033 Fix up includes: need to include stdlib.h in tools.h for exit().
1035 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1037 * gst/gsttaglist.c: (_gst_tag_initialize):
1039 API: add GST_TAG_IMAGE tag (#340721).
1041 2006-05-08 Wim Taymans <wim@fluendo.com>
1044 Added some docs for the segment query.
1046 2006-05-08 Wim Taymans <wim@fluendo.com>
1048 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1049 (gst_base_src_loop), (gst_base_src_change_state):
1050 Always push non-flushing serialized events in the streaming
1053 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
1055 * gst/gsterror.c: (_gst_stream_errors_init):
1056 Add a missing error string.
1058 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
1060 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1061 Add applied_rate to the debug
1063 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1064 Copy applied_rate into the outgoing NEWSEGMENT event
1066 2006-05-08 Wim Taymans <wim@fluendo.com>
1068 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1070 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1071 (gst_base_sink_change_state):
1072 call ::unlock before taking the PREROLL_LOCK so we can safely
1073 handle elements that lock in ::render.
1076 2006-05-08 Edward Hervey <edward@fluendo.com>
1078 * autogen.sh: (CONFIGURE_DEF_OPT):
1079 Darwin's libtoolize is in fact called glibtoolize.
1080 Adding glibtoolize to the list of accepted names for libtoolize.
1082 2006-05-08 Wim Taymans <wim@fluendo.com>
1084 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1085 Unify error handling, don't post an error message
1086 when a push() returns EOS but perform our normal EOS
1087 handling code. Fixes #340772.
1089 2006-05-08 Wim Taymans <wim@fluendo.com>
1091 * docs/design/part-overview.txt:
1092 Make upsteam/downstream concepts more clear.
1093 Give an example of serialized/non-serialized events.
1095 * docs/design/part-events.txt:
1096 * docs/design/part-streams.txt:
1097 Mention applied_rate.
1099 * docs/design/part-trickmodes.txt:
1100 Mention applied rate, flesh out some more use cases.
1102 * gst/gstevent.c: (gst_event_new_new_segment),
1103 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1104 (gst_event_parse_new_segment_full), (gst_event_new_tag),
1105 (gst_event_parse_tag), (gst_event_new_buffer_size),
1106 (gst_event_parse_buffer_size), (gst_event_new_qos),
1107 (gst_event_parse_qos), (gst_event_parse_seek),
1108 (gst_event_new_navigation):
1110 Add applied_rate field to NEWSEGMENT event.
1111 API: gst_event_new_new_segment_full()
1112 API: gst_event_parse_new_segment_full()
1114 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1115 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1116 (gst_segment_to_stream_time), (gst_segment_to_running_time):
1118 Add applied_rate to GstSegment structure.
1119 Make calculation of stream_time and running_time more correct
1120 wrt rate/applied_rate.
1122 API: GstSegment::applied_rate field
1123 API: gst_segment_set_newsegment_full();
1125 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1126 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1127 * libs/gst/base/gstbasetransform.c:
1128 (gst_base_transform_sink_eventfunc),
1129 (gst_base_transform_handle_buffer):
1130 Parse and use applied_rate in the GstSegment field.
1132 * tests/check/gst/gstevent.c: (GST_START_TEST):
1133 Add check for applied_rate field.
1135 * tests/check/gst/gstsegment.c: (GST_START_TEST),
1136 (gstsegments_suite):
1137 Add more checks for various GstSegment operations.
1139 2006-05-08 Wim Taymans <wim@fluendo.com>
1141 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1142 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1143 (gst_base_sink_get_position), (gst_base_sink_change_state):
1144 Store the sync time of the buffer end position separatly in a
1145 new variable eos_rtime so we can properly sync the EOS event.
1147 Fix the docs for gst_base_sink_set_qos_enabled().
1148 Don't set segment start to invalid value when we receive a
1149 non TIME newsegment.
1150 get closer to handling position reporting for negative rates
1153 2006-05-07 Stefan Kost <ensonic@users.sf.net>
1156 Docs about how to print caps for debug purposes.
1158 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1159 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1161 2006-05-07 Stefan Kost <ensonic@users.sf.net>
1164 use full enum names and preprend a '%' in docs strings to make recent
1165 gtk-doc turn that into a link
1167 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1169 * docs/manual/basics-bins.xml:
1170 * docs/manual/basics-bus.xml:
1171 * docs/manual/basics-pads.xml:
1172 Some typo fixes, some additions, some clarifications.
1174 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1176 * tools/gst-inspect.c: (main):
1177 * tools/gst-launch.c: (main):
1178 * tools/gst-run.c: (main):
1179 * tools/gst-typefind.c: (main):
1180 * tools/gst-xmlinspect.c: (main):
1181 Use the string passed to g_option_context_new() for
1182 what it's intended for - the program name is already
1185 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1187 * tools/Makefile.am:
1188 * tools/gst-inspect.c: (main):
1189 * tools/gst-launch.c: (main):
1190 * tools/gst-xmlinspect.c: (main):
1192 Add back --version command line option (#340460).
1194 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1195 Add --version option and use GOption for argument parsing; refactor a
1196 bit; accept directories as arguments and recurse into them; lastly,
1197 print a decent error message when things go wrong.
1199 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1201 * docs/manual/basics-bins.xml:
1202 Don't mention GstThread (#340611)
1203 * docs/manual/basics-elements.xml:
1204 Update link to GObject tutorial (#340607)
1206 2006-05-05 Wim Taymans <wim@fluendo.com>
1209 * gst/gstminiobject.c:
1210 Add note about refcounting and miniobject/buffer writeability
1211 to docs. Fixes #340604
1213 * gst/gstelementfactory.h:
1214 Added some explanation about @klass.
1216 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1218 * docs/manual/intro-motivation.xml:
1219 * docs/manual/manual.xml:
1220 Avoid CORBA & Bonobo references (#340598)
1222 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1224 * docs/manual/basics-bus.xml:
1225 * docs/manual/basics-pads.xml:
1226 Fix up some inaccuracies and omissions (#340609)
1228 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1230 * gst/gstghostpad.c:
1231 Small typo in docs (#340625)
1233 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1235 * gst/parse/Makefile.am:
1236 Make 'make -j' proof (see #340698).
1238 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1241 Require GLib-2.8 here as well.
1243 2006-05-05 Wim Taymans <wim@fluendo.com>
1245 * gst/glib-compat.c:
1246 * gst/gst.c: (init_pre):
1247 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1248 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1249 (gst_object_dispatch_properties_changed):
1251 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1252 * gst/gststructure.c: (gst_structure_set_valist):
1253 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1254 Remove pre glib2.8 compatibility, fixes #340508
1256 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1259 Mention type of tags in doc blurbs.
1261 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
1263 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1264 (gst_pad_configure_src), (gst_pad_push):
1265 Restore acceptcaps checking behaviour now that good plugins have
1268 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1270 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1281 * gst/parse/Makefile.am:
1282 * libs/gst/base/gstadapter.c:
1283 * libs/gst/base/gstbasesrc.c:
1284 * libs/gst/base/gstpushsrc.c:
1285 * libs/gst/base/gsttypefindhelper.c:
1286 * plugins/elements/gstfakesrc.c:
1287 * plugins/elements/gstidentity.c:
1288 Make sure gstprivate.h and/or config.h are
1289 always included first, otherwise some of our
1290 defines (like _FILE_OFFSET_BITS) might be
1291 redefined in the system headers. Fixes build
1292 on opensolaris (#340016).
1294 2006-05-04 Wim Taymans <wim@fluendo.com>
1296 * docs/libs/gstreamer-libs-sections.txt:
1297 API: addition: gst_adapter_take_buffer()
1299 * libs/gst/base/gstadapter.c: (gst_adapter_push),
1300 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1301 (gst_adapter_available_fast):
1302 * libs/gst/base/gstadapter.h:
1303 Prepare for optimizing the hell out of this hugely inefficient
1305 Added gst_adapter_take_buffer() so we can at least start thinking
1306 about subbuffering and merging.
1307 Added some comments.
1309 * tests/check/Makefile.am:
1310 * tests/check/libs/adapter.c: (GST_START_TEST),
1311 (gst_adapter_suite), (main):
1312 Added GstAdapter check.
1314 2006-05-04 Wim Taymans <wim@fluendo.com>
1316 * docs/design/part-overview.txt:
1317 Fix some typos, add blurb about buffer flags.
1319 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
1321 * docs/libs/gstreamer-libs-sections.txt:
1322 make sure GstBaseTransformClass shows up in the docs
1323 * libs/gst/base/gstbasetransform.c:
1324 * libs/gst/base/gstbasetransform.h:
1325 move docs so gtk-doc picks it up now
1327 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1329 * docs/libs/gstreamer-libs-sections.txt:
1330 add missing symbols to docs
1332 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1334 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1335 back out the newsegment handling change, see #340060 for ongoing
1338 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
1340 * tools/gst-run.c: (get_candidates), (main):
1341 Fix wrong g_file_test() usage (see glib docs for why it doesn't
1342 work); fix typo in error message. Fixes #340079.
1344 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1346 * common/Makefile.am:
1348 * docs/faq/Makefile.am:
1349 * docs/gst/Makefile.am:
1350 * docs/libs/Makefile.am:
1351 * docs/manual/Makefile.am:
1352 * docs/plugins/Makefile.am:
1353 * docs/pwg/Makefile.am:
1354 * docs/slides/Makefile.am:
1356 * common/upload.mak:
1357 move upload.mak to common
1359 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1361 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1362 add more asserts on refcounts
1363 do more cleanup at end of tests
1364 fix test leaks showing in FC5
1366 2006-04-29 Stefan Kost <ensonic@users.sf.net>
1368 * plugins/elements/gsttypefindelement.c:
1369 (gst_type_find_element_handle_event):
1370 reverted wrong change and reflowed code to avoid others falling into
1373 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1375 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1376 fix changelog entry about last collectpads change,
1377 add notes about proper fix
1379 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1382 * gst/gstregistry.c: (gst_registry_scan_path_level),
1383 (gst_registry_scan_path):
1384 * gst/gstregistry.h:
1385 only write out registry if it has changed, fixes #338339
1387 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1390 * gst/gstpipeline.c:
1391 * plugins/elements/gstcapsfilter.c:
1392 * plugins/elements/gstfakesink.c:
1393 * plugins/elements/gstfakesrc.c:
1394 * plugins/elements/gstfdsink.c:
1395 * plugins/elements/gstfdsrc.c:
1396 * plugins/elements/gstfilesink.c:
1397 * plugins/elements/gstfilesrc.c:
1398 * plugins/elements/gstidentity.c:
1399 * plugins/elements/gstqueue.c:
1400 * plugins/elements/gsttee.c:
1401 * plugins/elements/gsttypefindelement.c:
1402 (gst_type_find_element_handle_event):
1403 make GstElementDetails const
1405 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1407 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1408 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1409 (gst_collect_pads_is_collected), (gst_collect_pads_event):
1410 more detailed debug and formatting cleanup,
1411 forward newsegments to src-pad (so that e.g. adder not eats them)
1413 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1415 * gst/gstutils.c: (gst_element_link_pads):
1418 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1420 * libs/gst/controller/gstcontroller.c:
1421 (gst_controller_sync_values):
1423 * tests/check/libs/controller.c: (GST_START_TEST),
1424 (gst_controller_suite):
1425 a new test for live value handling
1427 2006-04-28 Wim Taymans <wim@fluendo.com>
1429 * gst/gstutils.c: (push_and_ref):
1430 Added some more docs.
1431 Fix refcount issue whith gst_element_found_tags() helper
1432 function. Fixes #338335
1434 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1435 Added testsuite for gst_element_found_tags().
1437 2006-04-28 Michael Smith <msmith@fluendo.com>
1439 * gst/gstvalue.c: (gst_value_serialize_flags):
1440 Avoid NULL dereference when trying to serialize flags containing
1443 2006-04-28 Michael Smith <msmith@fluendo.com>
1445 * plugins/elements/gsttypefindelement.c:
1446 (gst_type_find_element_handle_event):
1447 If we get EOS before any data is accumulated, don't use
1448 uninitialised local variables.
1450 2006-04-28 Michael Smith <msmith@fluendo.com>
1452 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1453 (gst_dp_event_from_packet):
1454 Fixes in reading/writing events over GDP (not currently used?) -
1455 dereferencing NULL events for unknown/invalid event types, memory
1456 leak, and change g_warning to GST_WARNING.
1458 2006-04-28 Wim Taymans <wim@fluendo.com>
1460 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1461 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1462 (gst_base_sink_get_position), (gst_base_sink_change_state):
1463 When frame dropping is enabled, we should not ignore frames
1465 Update some documentation.
1467 2006-04-28 Wim Taymans <wim@fluendo.com>
1469 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1470 (gst_base_src_send_event), (gst_base_src_change_state):
1471 Documentation updates.
1473 2006-04-28 Wim Taymans <wim@fluendo.com>
1475 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1476 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1477 handle EAGAIN, EINTR and short writes correctly. Also clean
1478 up some error cases, avoid a deadlock on bad file descriptors and
1479 use GST_DEBUG_OBJECT.
1482 2006-04-28 Wim Taymans <wim@fluendo.com>
1484 * gst/gstvalue.c: (gst_value_serialize_buffer),
1485 (gst_value_deserialize_buffer):
1486 Don't try to serialize a GValue with a NULL buffer.
1489 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1490 Added check for serialisation of NULL buffers.
1492 2006-04-28 Wim Taymans <wim@fluendo.com>
1494 * gst/gstminiobject.c: (gst_value_take_mini_object):
1495 Taking a NULL miniobject is valid, fix the case where
1496 we try to unref the NULL miniobject.
1498 2006-04-28 Wim Taymans <wim@fluendo.com>
1500 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1502 * gst/gstbin.c: (gst_bin_handle_message_func):
1504 Don't leak bin refcount when a state recalc is
1505 in progress and we delay another one #339808.
1507 2006-04-28 Wim Taymans <wim@fluendo.com>
1509 * docs/design/part-TODO.txt:
1510 Mention QoS as an ongoing work item.
1512 * docs/design/part-buffering.txt:
1513 New doc about buffering that needs to be fleshed out
1516 * docs/design/part-qos.txt:
1517 More QoS policy for decoders/demuxers/transforms
1519 * docs/design/part-trickmodes.txt:
1522 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
1527 === release 0.10.5 ===
1529 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
1532 releasing 0.10.5, "Fogo"
1534 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
1536 patch by: Wim Taymans
1538 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1539 (gst_pad_configure_src), (gst_pad_push):
1540 * gst/gstpipeline.c: (gst_pipeline_init):
1541 Fix internal data flow errors. Fixes #338711.
1543 2006-04-12 Wim Taymans <wim@fluendo.com>
1545 * tests/check/gst/gstelement.c: (GST_START_TEST):
1546 Don't leak the factory.
1548 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
1551 * win32/common/config.h:
1554 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
1556 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1557 (gst_controller_unset_all):
1558 Free allocated GstTimedValues when freeing list nodes.
1559 Should fix leaks 'make check-valgrind' complains about.
1561 * win32/common/libgstcontroller.def:
1562 Add gst_controller_unset_all.
1564 2006-04-11 Stefan Kost <ensonic@users.sf.net>
1566 * docs/libs/gstreamer-libs-sections.txt:
1567 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1568 (gst_controller_unset_all):
1569 * libs/gst/controller/gstcontroller.h:
1570 API: Added new method gst_controller_unset_all()
1571 fixed gst_controller_unset()
1572 * tests/check/libs/controller.c: (GST_START_TEST),
1573 (gst_controller_suite):
1574 Added two testcases for new and fixed method
1576 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
1578 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1579 MSG_DONTWAIT is not defined on Cygwin, so work
1580 around that (fixes #317048).
1582 2006-04-11 Wim Taymans <wim@fluendo.com>
1584 * gst/gstelementfactory.c: (gst_element_register),
1585 (gst_element_factory_create), (gst_element_factory_make):
1588 Updated docs (Fixes #131079)
1590 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1593 * tests/check/gst/gstelement.c: (GST_START_TEST),
1594 (gst_element_suite):
1595 Added testcase for elementfactory class field.
1597 2006-04-10 Wim Taymans <wim@fluendo.com>
1600 Added some more docs.
1602 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1603 (gst_base_sink_reset_qos):
1604 Calculate more accurate rate values.
1606 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
1608 * gst/gst_private.h:
1609 add a new #ifdef to use __declspec(dllimport) only for
1610 other modules and not for gstreamer core
1611 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1612 use gst_guint64_to_gdouble for conversion
1613 * win32/common/libgstreamer.def:
1614 add new exported functions
1615 * win32/vs6/gst_inspect.dsp:
1616 * win32/vs6/gst_launch.dsp:
1617 * win32/vs6/libgstbase.dsp:
1618 * win32/vs6/libgstcontroller.dsp:
1619 * win32/vs6/libgstcoreelements.dsp:
1620 * win32/vs6/libgstdataprotocol.dsp:
1621 * win32/vs6/libgstnet.dsp:
1622 update project files
1624 2006-04-08 Stefan Kost <ensonic@users.sf.net>
1626 * gst/gstbuffer.c: (gst_subbuffer_class_init):
1627 * gst/gstclock.c: (gst_clock_class_init):
1628 * gst/gstelement.c: (gst_element_class_init):
1629 * gst/gstindex.c: (gst_index_class_init):
1630 * gst/gstindexfactory.c: (gst_index_factory_class_init):
1631 * gst/gstobject.c: (gst_object_class_init),
1632 (gst_signal_object_class_init):
1633 * gst/gstpad.c: (gst_pad_class_init):
1634 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1635 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1636 * gst/gstregistry.c: (gst_registry_class_init):
1637 * gst/gstsystemclock.c: (gst_system_clock_class_init):
1638 * gst/gsttask.c: (gst_task_class_init):
1639 * gst/gstxml.c: (gst_xml_class_init):
1640 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1641 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1642 (gst_base_src_loop):
1643 * libs/gst/controller/gstcontroller.c:/
1644 (_gst_controller_class_init):
1645 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1646 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1647 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1648 * tests/old/examples/plugins/example.c: (gst_example_class_init):
1649 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1650 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1652 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
1654 * gst/gstpad.c: (gst_pad_link):
1655 Must set peer pads before calling the link function, otherwise
1656 a task started from a link function might get a flow-not-linked
1657 result when trying to push because the other thread where the
1658 linking happens hasn't had a chance to set the peers yet. This
1659 might happen for example when a queue gets linked to a downstream
1660 element, as queue starts a streaming task when its source pad
1661 gets linked. Happens in real life when playing back flac/musepack
1662 files in playbin (#332390).
1664 2006-04-08 Stefan Kost <ensonic@users.sf.net>
1668 * libs/gst/base/gstadapter.h:
1669 * libs/gst/base/gstbasesink.h:
1670 * libs/gst/base/gstbasesrc.h:
1671 * libs/gst/base/gstbasetransform.h:
1672 * libs/gst/base/gstcollectpads.h:
1673 * libs/gst/base/gstpushsrc.h:
1674 Fix broken GObject macros
1676 2006-04-07 Wim Taymans <wim@fluendo.com>
1678 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1679 Initialize start and stop times, thanks valgrind.
1681 2006-04-07 Wim Taymans <wim@fluendo.com>
1683 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1684 Be a bit nicer to badly behaving upstream elements that expect
1685 us to deal with non TIME segments and timestamps (such as fakesrc
1688 2006-04-07 Wim Taymans <wim@fluendo.com>
1691 Small documentation clarification about the signal watch.
1693 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1694 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1695 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1696 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1697 (gst_base_sink_get_position_last),
1698 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1699 Convert and store timestamps in stream time and running time, the
1700 raw timestamps are not usefull, also document this better.
1701 Use different window sizes for good and bad QoS observations so
1702 we react to badness a little quicker.
1703 Keep track of the amount of rendered and dropped buffers.
1704 Send QoS timestamps in running time.
1706 * libs/gst/base/gstbasetransform.c:
1707 (gst_base_transform_sink_eventfunc),
1708 (gst_base_transform_handle_buffer):
1709 Compare QoS timestamps against running time.
1711 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
1716 2006-04-06 Michael Smith <msmith@fluendo.com>
1718 * gst/gstpad.c: (gst_pad_set_property):
1719 Use g_value_get_object() instead of g_value_dup_gst_object(),
1720 to avoid double-reffing the pad template (which we then sink,
1721 so this worked previously if (and only if) the pad template
1724 * gst/gstpadtemplate.c: (gst_pad_template_init),
1725 (gst_pad_template_pad_created):
1726 Never return floating references to pad templates, create
1727 them as initially-sunken.
1729 Document an extra function (and make this stop sinking our
1730 pad template, since that is now guaranteed to do nothing,
1731 since we created it sunken).
1733 * gst/gstghostpad.c:
1736 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
1738 * gst/gstinfo.c: (__gst_in_valgrind):
1741 * plugins/elements/gsttypefindelement.c:
1742 (gst_type_find_element_chain):
1743 Don't leak buffer caps.
1745 2006-04-06 Michael Smith <msmith@fluendo.com>
1747 * gst/parse/grammar.y:
1748 Fix a leak in parse-launch for any source-or-sink named element
1751 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1752 Unref the pipeline if it exists after we've failed parsing.
1754 2006-04-05 Michael Smith <msmith@fluendo.com>
1756 * gst/gstpipeline.c: (gst_pipeline_init):
1757 When we create a pipeline bus, initially create it in flushing mode.
1758 Fixes leaks in at least one test, and makes a new pipeline work the
1759 same as one that has gone to READY and then back to NULL.
1764 2006-04-05 Michael Smith <msmith@fluendo.com>
1766 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1767 Unref a pad we reffed.
1768 * tests/check/gst/gstutils.c: (GST_START_TEST):
1771 2006-04-05 Michael Smith <msmith@fluendo.com>
1773 * gst/gstquery.c: (gst_query_set_formats),
1774 (gst_query_set_formatsv):
1775 Fix leaking GValues in queries, as shown by valgrind/testsuite.
1777 2006-04-05 Michael Smith <msmith@fluendo.com>
1779 * tests/check/generic/sinks.c: (GST_START_TEST):
1780 Fix a variety of memleaks in sinks check, which are only sometimes
1781 shown by running the tests under valgrind (weird?).
1783 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
1785 * docs/version.entities.in:
1786 Fix the substituted entity name after thomas' changes on the
1789 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
1791 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1794 2006-04-05 Andy Wingo <wingo@pobox.com>
1796 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1798 * libs/gst/base/gstbasetransform.c
1799 (gst_base_transform_sink_eventfunc): When resetting our segment on
1800 FLUSH_STOP, also update the flag saying we haven't seen a
1803 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
1805 Patch by: Paolo Borelli <pborelli at katamail dot com>
1807 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1808 (gst_plugin_check_license):
1809 minor clean-ups: G_DEFINE_TYPE already takes care of the
1810 parent_class stuff, no need to do it twice. Mark array of
1811 license strings as constant. (#337103)
1813 2006-04-04 Michael Smith <msmith@fluendo.com>
1815 * tools/gst-inspect.c: (print_element_list):
1816 Free the right plugin list; fixes a memory leak.
1818 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
1820 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1822 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1823 Don't error out on empty buffers (#336945).
1825 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
1827 * docs/libs/gstreamer-libs-sections.txt:
1829 * libs/gst/base/gstbasesink.c:
1830 * libs/gst/base/gstbasesink.h:
1831 * libs/gst/base/gstbasesrc.c:
1832 * libs/gst/base/gstbasesrc.h:
1833 Documentation updates. Make BaseSink and BaseSrc docs contain the
1834 class structure so that people can actually see the prototypes for
1835 virtual functions they're supposed to be overriding.
1837 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
1839 * plugins/elements/gsttypefindelement.c:
1840 (gst_type_find_element_chain):
1841 More debug info; when skipping typefinding, send cached
1842 events in all cases.
1844 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
1847 use new AS_VERSION and AS_NANO macros
1848 * gst/gst-i18n-lib.h:
1851 * gst/gstversion.h.in:
1852 * win32/common/config.h:
1853 * win32/common/config.h.in:
1856 2006-03-31 Michael Smith <msmith@fluendo.com>
1858 * plugins/elements/gsttypefindelement.c:
1859 (gst_type_find_element_chain):
1860 Do not typefind content if the buffers already have caps.
1861 Neccesary for icydemux (#333657), and the right thing to do anyway.
1863 2006-03-30 Wim Taymans <wim@fluendo.com>
1865 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1866 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1867 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1868 (gst_base_sink_record_qos_observation),
1869 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1870 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1871 (gst_base_sink_change_state):
1872 More QoS measurements as described in the design doc.
1873 Get rid of ringbuffer with observations, running average is
1874 more simple and equally good.
1875 Calculates valid proportion now.
1876 Added beginning of flood measurement.
1878 2006-03-29 Wim Taymans <wim@fluendo.com>
1880 * docs/design/part-qos.txt:
1882 Small documentation updates and additions.
1884 2006-03-29 Wim Taymans <wim@fluendo.com>
1886 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1887 (gst_base_src_send_event), (gst_base_src_loop),
1888 (gst_base_src_change_state):
1889 Perform the EOS logic when we reach the segment stop position.
1890 Fix compilation on gcc4.1
1892 2006-03-29 Wim Taymans <wim@fluendo.com>
1894 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1896 * plugins/elements/gstqueue.c: (gst_queue_init),
1897 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1898 (gst_queue_set_property):
1899 * plugins/elements/gstqueue.h:
1900 In queue, when EOS is received, if minimum threshold > max_size -
1901 current_level, there is chance that queue blocks forever in conditional
1902 item del wait. This is because the queue is not emptied completely due
1903 to minimum threshold. Here is another approach. Instead of setting
1904 cur_levels to max in EOS, just zero all minimum threshold levels. This
1905 should make sure that queue gives out all data. When going to READY
1906 (stop) state, just reset the original minimum threshold levels.
1909 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
1911 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1912 (gst_type_find_element_handle_event),
1913 (gst_type_find_element_send_cached_events),
1914 (gst_type_find_element_change_state):
1915 * plugins/elements/gsttypefindelement.h:
1916 When typefinding is done in push mode, we should cache
1917 events we receive during typefinding instead of just
1918 dropping them (e.g. newsegment, custom events from
1919 dvdreadsrc etc.) and then send them out once we've
1920 determined the type of the stream (and decodebin
1921 has had a chance to plug in a decoder/demuxer).
1923 2006-03-27 Wim Taymans <wim@fluendo.com>
1925 * docs/design/part-qos.txt:
1928 2006-03-27 Wim Taymans <wim@fluendo.com>
1930 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1932 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1933 (gst_base_src_send_event), (gst_base_src_change_state):
1934 Handle element seek correctly when we are streaming.
1937 2006-03-24 Michael Smith <msmith@fluendo.com>
1939 * docs/faq/gst-uninstalled:
1940 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1941 allow you to correctly run intalled applications built against old
1942 core, using plugins that require updated core (e.g. running
1943 installed totem against a full uninstalled gstreamer stack)
1945 2006-03-24 Stefan Kost <ensonic@users.sf.net>
1947 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1950 2006-03-24 Wim Taymans <wim@fluendo.com>
1952 * docs/gst/gstreamer-sections.txt:
1953 Rearrange the order of the methods so that related methods
1954 are grouped together in sections.
1956 2006-03-24 Stefan Kost <ensonic@users.sf.net>
1959 Little clarification in the docs
1961 2006-03-24 Stefan Kost <ensonic@users.sf.net>
1965 * plugins/elements/gstidentity.c:
1966 * plugins/elements/gstqueue.c:
1967 * plugins/elements/gsttee.c:
1968 * plugins/elements/gsttypefindelement.c:
1969 GST_ELEMENT_DETAILS formatting
1971 2006-03-24 Wim Taymans <wim@fluendo.com>
1973 * libs/gst/base/gstbasesink.h:
1974 Only add fields, not insert or we break ABI.
1976 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
1978 * win32/common/libgstbase.def:
1979 * win32/common/libgstreamer.def:
1980 Update, add recently added functions.
1982 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
1984 * docs/gst/gstreamer-sections.txt:
1985 * gst/gstutils.c: (gst_pad_query_peer_position),
1986 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1988 API: add some new utility functions:
1989 - gst_pad_query_peer_position()
1990 - gst_pad_query_peer_duration()
1991 - gst_pad_query_peer_convert()
1993 2006-03-23 Wim Taymans <wim@fluendo.com>
1995 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1996 (gst_base_sink_init), (gst_base_sink_finalize),
1997 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1998 (gst_base_sink_set_property), (gst_base_sink_get_property),
1999 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2000 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2001 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2002 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2003 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2004 (gst_base_sink_preroll_object), (gst_base_sink_event),
2005 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2006 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2007 (gst_base_sink_query), (gst_base_sink_change_state):
2008 Decouple max-lateness and the fact that QoS messages are generated
2009 with a new property (qos).
2010 added API: GstBaseSink::async_play()
2011 Add vmethod so subclasses can be notified of ASYNC playing
2013 Collect timestamp start and stop to report better current
2014 position in EOS/PLAYING/PAUSED/READY/NULL.
2015 Refactor QoS/frame dropping and other measurements.
2016 API: GstBaseSrc::qos
2019 * libs/gst/base/gstbasesink.h:
2020 Added Private struct.
2021 API: gst_base_sink_set_qos_enabled()
2022 API: gst_base_sink_is_qos_enabled()
2024 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
2026 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2027 If compiling against GLib-2.8 or newer, try to read the
2028 registry file using GMappedFile first before falling back
2029 to fopen() + fread() (#332151).
2031 2006-03-22 Wim Taymans <wim@fluendo.com>
2033 * gst/gstinfo.c: (gst_debug_set_active),
2034 (gst_debug_category_set_threshold):
2035 Disable debugging unless explicitly activated.
2038 2006-03-22 Wim Taymans <wim@fluendo.com>
2040 * gst/gstelement.c: (gst_element_set_locked_state),
2041 (gst_element_dispose):
2042 Cleanup the error case.
2044 * gst/gstobject.c: (gst_object_dispose):
2045 print a critical when some object was disposed with
2046 a parent, also revive the object since it might
2049 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
2051 * tools/gst-launch.1.in:
2054 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
2057 * tests/check/Makefile.am:
2058 disable some tests when we don't have a registry
2059 * tests/check/gst/gstutils.c: (gst_utils_suite):
2060 don't build the part that needs parsing
2062 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
2065 * tests/examples/Makefile.am:
2066 fix --disable-parse build
2068 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2070 * tools/gst-feedback.1.in:
2071 Fix typo: s/feeback/feedback/ (#133494).
2073 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2075 * tools/Makefile.am:
2076 * tools/gst-launch.1.in:
2077 Add FILES section and correct entry about GST_REGISTRY_PATH
2078 environment variable (#133495; #133494).
2080 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2082 * tools/Makefile.am:
2083 * tools/gst-md5sum.1.in:
2084 * tools/gst-md5sum.c:
2085 Remove gst-md5sum and man page (the md5sink element
2086 required was removed ages ago)
2088 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2090 * gst/gststructure.c: (gst_structure_id_set_value):
2091 Make sure that string fields in structures/taglists
2092 contain valid UTF-8 - we don't want to pass rubbish to
2093 applications because of a buggy plugin (cp. #334167).
2095 2006-03-21 Edward Hervey <edward@fluendo.com>
2097 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2098 (gst_bin_handle_message_func):
2099 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2100 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2101 (gst_element_set_bus_func):
2102 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2103 * gst/gstminiobject.c: (gst_value_set_mini_object),
2104 (gst_value_take_mini_object):
2105 * gst/gstpad.c: (gst_pad_set_pad_template):
2106 * gst/gstpipeline.c: (gst_pipeline_dispose),
2107 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2108 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2109 (gst_collect_pads_chain):
2110 * libs/gst/net/gstnettimeprovider.c:
2111 (gst_net_time_provider_set_property):
2112 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2113 It's in fact all issues with gst_*object_replace().
2115 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2117 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
2119 * pkgconfig/gstreamer-check-uninstalled.pc.in:
2120 * pkgconfig/gstreamer-check.pc.in:
2121 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2123 2006-03-21 Edward Hervey <edward@fluendo.com>
2128 gst_[buffer|event|message]_ref() macros are replaced by a static
2129 inline functions because gcc-4.1 will about if the return value
2131 * tests/check/gst/gstevent.c: (event_probe):
2132 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2134 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
2137 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2138 the type' case. (Closes: #335195 for now). In the future, when we
2139 depend on GLib 2.10, we could also intern the type name using
2140 g_intern_static_string()
2142 2006-03-20 Wim Taymans <wim@fluendo.com>
2144 * gst/gstbin.c: (gst_bin_handle_message_func),
2145 (bin_query_max_init), (bin_query_position_fold),
2146 (bin_query_position_done), (gst_bin_query):
2147 Position query should also take max of all streams.
2149 2006-03-20 Wim Taymans <wim@fluendo.com>
2151 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2152 (gst_fake_src_finalize):
2153 Fix leaks in fakesrc.
2155 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2156 Fix leaks in the testcase.
2158 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
2160 * gst/gst_private.h:
2161 add win32 specific import decoration(__declspec(dllimport))
2162 for all extern GstDebugCategory * variables
2163 * win32/common/libgstbase.def:
2164 * win32/common/libgstcontroller.def:
2165 * win32/common/libgstreamer.def:
2166 Add some exports, remove empty lines
2167 * win32/common/libgstdataprotocol.def:
2168 * win32/common/libgstdataprotocol.dsp:
2169 * win32/common/libgstnet.def:
2170 * win32/common/libgstnet.dsp:
2171 new project files and exportation files added
2173 2006-03-19 Wim Taymans <wim@fluendo.com>
2175 * tests/check/libs/basesrc.c: (eos_event_counter):
2176 Use proper return value for probe.
2178 2006-03-17 Wim Taymans <wim@fluendo.com>
2180 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2182 Don't leak buffers, caps and pads on negotiation errors.
2184 2006-03-16 Stefan Kost <ensonic@users.sf.net>
2187 * docs/faq/dependencies.xml:
2188 * docs/faq/developing.xml:
2190 * docs/faq/general.xml:
2191 * docs/faq/getting.xml:
2192 * docs/faq/legal.xml:
2193 * docs/faq/troubleshooting.xml:
2194 * docs/faq/using.xml:
2195 Faq review and update.
2197 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
2199 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2201 Don't pound the cpu to pieces by checking get_caps when accept_caps
2202 is called with the same caps as the pad already has.
2203 Use GST_DEBUG_OBJECT when outputting caps change information.
2205 2006-03-15 Wim Taymans <wim@fluendo.com>
2207 * gst/gstclock.c: (gst_clock_class_init):
2210 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
2215 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2216 (gst_pad_accept_caps), (gst_pad_configure_sink),
2217 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2218 Make the default acceptcaps behaviour be to check the requested
2219 caps against the gst_pad_get_caps output.
2221 Ensure that gst_pad_accept_caps is used to check caps when a pad
2222 doesn't have a setcaps function, so that pads automatically refuse
2223 caps that they don't allow in their pad template. (Fixes #332986)
2225 When a buffer with attached caps is pushed, ensure that the source
2226 pad receives those caps even if the element didn't call
2227 gst_pad_set_caps first.
2229 2006-03-15 Wim Taymans <wim@fluendo.com>
2231 * libs/gst/base/gstadapter.c:
2234 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
2236 * win32/common/libgstbase.def:
2237 * win32/common/libgstcontroller.def:
2238 * win32/common/libgstreamer.def:
2239 Add a whole bunch of missing functions (#334434).
2241 2006-03-14 Wim Taymans <wim@fluendo.com>
2243 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2244 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2245 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2246 Better debug info when we receive a segment event.
2247 Reorganize a bit so we can pass the get_times() results around.
2248 Use the segment format when calculating the running time.
2249 Don't do QoS is sync is disabled or we have no clock or the
2250 element does not want us to sync to the clock.
2251 Don't drop buffers if QoS is disabled for now.
2253 2006-03-14 Wim Taymans <wim@fluendo.com>
2255 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2256 Marked the stats property as unimplemented so people don't get
2258 Add debug message when regression goes wrong.
2259 Added some more docs.
2261 2006-03-14 Wim Taymans <wim@fluendo.com>
2263 * gst/gstsegment.c: (gst_segment_to_stream_time):
2264 Return correct return type in case of errors.
2266 2006-03-14 Wim Taymans <wim@fluendo.com>
2268 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2269 Don't segfault on invalid formats.
2271 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2273 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2274 Can't use gst_segment_to_running_time() when the segment
2275 is not in GST_TIME_FORMAT (like with filesink, for example).
2276 Stops flac encoding pipelines from spewing critical warnings
2279 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2281 * gst/gstpipeline.c: (gst_pipeline_class_init):
2282 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2284 * plugins/elements/gsttypefindelement.c:
2285 (gst_type_find_element_handle_event):
2286 Don't try to typefind empty streams.
2288 2006-03-14 Wim Taymans <wim@fluendo.com>
2290 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2291 (gst_base_sink_do_qos):
2292 Separate QoS calculation.
2293 Only drop buffers when lateness is bigger than the
2294 duration of the buffer.
2296 2006-03-13 Wim Taymans <wim@fluendo.com>
2298 * gst/gstpipeline.c: (gst_pipeline_set_property),
2299 (gst_pipeline_get_property), (do_pipeline_seek),
2300 (gst_pipeline_change_state), (gst_pipeline_set_delay),
2301 (gst_pipeline_get_delay):
2302 Don't deadlock when reading properties.
2304 2006-03-13 Wim Taymans <wim@fluendo.com>
2306 * libs/gst/base/gstbasetransform.c:
2307 (gst_base_transform_class_init), (gst_base_transform_init),
2308 (gst_base_transform_sink_event),
2309 (gst_base_transform_sink_eventfunc),
2310 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2311 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2312 (gst_base_transform_set_property),
2313 (gst_base_transform_get_property),
2314 (gst_base_transform_change_state), (gst_base_transform_update_qos),
2315 (gst_base_transform_set_qos_enabled),
2316 (gst_base_transform_is_qos_enabled):
2317 * libs/gst/base/gstbasetransform.h:
2318 Make basetransform virtual method for src events too.
2319 Handle QOS in basetransform.
2320 API: gst_base_transform_update_qos()
2321 API: gst_base_transform_set_qos_enabled()
2322 API: gst_base_transform_is_qos_enabled()
2324 2006-03-13 Wim Taymans <wim@fluendo.com>
2326 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2327 (gst_base_sink_do_sync):
2329 Use QOS debug category.
2331 2006-03-13 Wim Taymans <wim@fluendo.com>
2333 * plugins/elements/gstqueue.c:
2334 Very small doc update.
2336 2006-03-13 Wim Taymans <wim@fluendo.com>
2338 * gst/gst_private.h:
2339 * gst/gstinfo.c: (_gst_debug_init):
2340 Added QOS debug category
2342 2006-03-13 Wim Taymans <wim@fluendo.com>
2344 * docs/gst/gstreamer-sections.txt:
2345 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2347 * gst/gstbus.c: (gst_bus_class_init):
2350 * gst/gstelement.c: (gst_element_set_locked_state):
2352 Documentation updates.
2354 * gst/gstpipeline.c: (gst_pipeline_get_type),
2355 (gst_pipeline_class_init), (gst_pipeline_init),
2356 (gst_pipeline_dispose), (gst_pipeline_set_property),
2357 (gst_pipeline_get_property), (do_pipeline_seek),
2358 (gst_pipeline_send_event), (gst_pipeline_change_state),
2359 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2360 (gst_pipeline_get_delay):
2361 * gst/gstpipeline.h:
2362 Added methods for setting the delay.
2363 API: gst_pipeline_set_delay()
2364 API: gst_pipeline_get_delay()
2365 Add pipeline debug category
2368 Don't reset stream time when seek failed.
2370 2006-03-13 Wim Taymans <wim@fluendo.com>
2372 * docs/design/draft-klass.txt:
2373 * docs/design/part-clocks.txt:
2374 * docs/design/part-events.txt:
2375 * docs/design/part-gstbin.txt:
2376 * docs/design/part-gstpipeline.txt:
2377 * docs/design/part-messages.txt:
2378 * docs/design/part-negotiation.txt:
2379 * docs/design/part-overview.txt:
2380 * docs/design/part-preroll.txt:
2381 * docs/design/part-seeking.txt:
2382 * docs/design/part-states.txt:
2383 * docs/design/part-streams.txt:
2384 Documentation updates.
2386 2006-03-12 Julien MOUTTE <julien@moutte.net>
2388 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2389 us to leak strings...
2391 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
2393 * libs/gst/net/gstnettimeprovider.c:
2395 * win32/common/config.h:
2398 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
2400 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2403 Don't check for libgnomeui (leftover from old examples
2404 that aren't built or disted any longer) (#334303).
2406 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
2408 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2409 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2410 Emit RESOURCE_NO_SPACE_LEFT error here as well when
2411 there's no space left on the device.
2413 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
2416 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2417 to cast the input to GstClockTime before comparing with
2418 another GstClockTime value.
2420 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2425 === release 0.10.4 ===
2427 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2430 releasing 0.10.4, "Light"
2432 2006-03-10 Michael Smith <msmith@fluendo.com>
2434 * libs/gst/dataprotocol/dataprotocol.c:
2435 Fix docs for dataprocotol to not get the return types completely
2436 wrong for a few functions.
2438 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2440 * docs/gst/gstreamer-sections.txt:
2441 * gst/gstpipeline.c: (gst_pipeline_class_init),
2442 (gst_pipeline_init), (gst_pipeline_set_property),
2443 (gst_pipeline_get_property), (gst_pipeline_change_state),
2444 (gst_pipeline_set_auto_flush_bus),
2445 (gst_pipeline_get_auto_flush_bus):
2446 * gst/gstpipeline.h:
2447 Add new API: gst_pipeline_set_auto_flush_bus() and
2448 gst_pipeline_get_auto_flush_bus() to disable automatic
2449 flushing of the pipeline's GstBus when going from READY
2450 to NULL state (#332045).
2452 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2454 * docs/gst/gstreamer-sections.txt:
2455 * gst/gsturi.c: (gst_uri_has_protocol):
2457 Add new API: gst_uri_has_protocol() (#333779).
2459 2006-03-09 Wim Taymans <wim@fluendo.com>
2461 * gst/gstclock.c: (gst_clock_entry_new),
2462 (gst_clock_id_compare_func), (gst_clock_id_wait),
2463 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2464 (gst_clock_init), (gst_clock_get_internal_time),
2465 (gst_clock_set_master), (do_linear_regression),
2466 (gst_clock_add_observation), (gst_clock_set_property):
2470 Fix a possible segfault when the window-size is made smaller.
2471 Calculate jitter before performing the clock wait. Ideally
2472 the clock implementation should calculate jitter but we need
2473 API breakage for that.
2475 * gst/gstsystemclock.c: (gst_system_clock_init):
2478 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2479 Remove leftover else
2481 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2482 (gst_systemclock_suite):
2483 Added check to test GST_CLOCK_DIFF.
2485 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2487 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2488 (gst_type_find_helper_get_range):
2489 If we are provided with the size, we should implement
2490 GstTypeFind::get_length, so that typefind functions who
2491 want to can actually peek at the middle of a file.
2493 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
2495 * docs/manual/advanced-dataaccess.xml:
2496 Add some very very basic error checking.
2498 * docs/pwg/appendix-checklist.xml:
2499 Some updates to the list of things to check when writing an element.
2501 2006-03-08 Wim Taymans <wim@fluendo.com>
2503 * docs/design/part-element-transform.txt:
2504 Added some docs about the design of tranform elements.
2506 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2507 (gst_base_src_loop), (gst_base_src_change_state):
2508 Mark buffers with the DISCONT flag.
2510 2006-03-08 Michael Smith <msmith@fluendo.com>
2512 * gst/gstregistry.h:
2513 * gst/gstregistryxml.c: (gst_registry_save),
2514 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2515 (gst_registry_xml_save_pad_template),
2516 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2517 (gst_registry_xml_write_cache):
2518 Rewrite registry-saving to avoid race conditions and check for
2521 2006-03-08 Wim Taymans <wim@fluendo.com>
2523 * libs/gst/base/gstbasetransform.c:
2524 (gst_base_transform_transform_caps),
2525 (gst_base_transform_transform_size),
2526 (gst_base_transform_prepare_output_buffer),
2527 (gst_base_transform_get_unit_size),
2528 (gst_base_transform_buffer_alloc),
2529 (gst_base_transform_handle_buffer),
2530 (gst_base_transform_change_state):
2531 Cleanups, separate normal flow from errors, add sensible
2533 Don't try to renegotiate when allocating an output buffer.
2534 Also copy DISCONT buffer flag when copying a buffer.
2535 Reset the transform after we finish streaming, not during.
2537 2006-03-08 Wim Taymans <wim@fluendo.com>
2539 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2540 Use last buffer timestamp in qos message.
2542 2006-03-07 Wim Taymans <wim@fluendo.com>
2544 Patch by: Christophe Fergeau
2546 * docs/pwg/advanced-tagging.xml:
2547 * docs/pwg/building-pads.xml:
2550 2006-03-07 Wim Taymans <wim@fluendo.com>
2552 * docs/libs/gstreamer-libs-sections.txt:
2553 Added basesink new methods.
2557 Docs updates. Flesh out the QoS docs.
2559 * libs/gst/base/gstadapter.c:
2560 Small doc clarification about ownership and flushing.
2562 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2563 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2564 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2565 (gst_base_sink_get_property), (gst_base_sink_do_sync):
2566 * libs/gst/base/gstbasesink.h:
2568 Added new methods to allow subclass to control max-lateness
2570 Generate very basic QoS events based on last sync observation.
2571 Updated docs, fix typo, added some QoS blurb.
2573 * libs/gst/base/gstbasesrc.c:
2574 Remove obsolete _get_state() calls from docs.
2576 2006-03-07 Wim Taymans <wim@fluendo.com>
2578 * docs/libs/gstreamer-libs-sections.txt:
2579 * libs/gst/base/gstbasetransform.h:
2580 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2581 Fix docs for GstBaseSrc.
2583 2006-03-07 Wim Taymans <wim@fluendo.com>
2585 * docs/gst/gstreamer-sections.txt:
2588 * libs/gst/base/gstbasetransform.h:
2589 Small documentation fixes.
2591 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
2594 Document thread-unsafety of gst_value_register_foo_func()
2595 when used at the same time as gst_value_foo() (#322628).
2597 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
2599 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2600 (gst_push_src_check_get_range):
2601 Push sources don't support pull mode by default.
2603 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
2605 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2606 (gst_base_src_init), (gst_base_src_pad_check_get_range),
2607 (gst_base_src_default_check_get_range):
2608 * libs/gst/base/gstbasesrc.h:
2609 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2610 provide default implementation, and rename
2611 gst_base_src_check_get_range() to
2612 gst_base_src_pad_check_get_range() for clarity.
2614 2006-03-06 Wim Taymans <wim@fluendo.com>
2616 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2617 Make property overridable.
2619 2006-03-06 Wim Taymans <wim@fluendo.com>
2621 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2622 (gst_base_sink_init), (gst_base_sink_set_property),
2623 (gst_base_sink_get_property), (gst_base_sink_do_sync):
2624 * libs/gst/base/gstbasesink.h:
2625 API addition: Make max-lateness a property.
2627 2006-03-06 Wim Taymans <wim@fluendo.com>
2629 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2630 (gst_base_sink_do_sync), (gst_base_sink_render_object):
2631 Don't ever draw a frame that is >10ms late.
2633 2006-03-06 Michael Smith <msmith@fluendo.com>
2635 * gst/gstmessage.c: (_gst_message_copy):
2636 When copying a message, set the parent_refcount of the enclosed
2637 structure to point at the copy, not the original message.
2639 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
2641 Patch by: Christophe Fergeau
2644 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2645 usable in c++ code (#333417)
2647 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
2650 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2652 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
2654 * libs/gst/base/gstbasetransform.c:
2655 (gst_base_transform_transform_caps):
2656 Make sure caps are writable before passing them to
2659 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
2662 Fix some minor docs errors.
2664 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
2666 Patch by: Ross Burton <ross at burtonini dot com>
2668 * gst/gsterror.c: (_gst_resource_errors_init):
2670 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2672 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
2675 Add a check and output a g_warning when GStreamer is built
2676 against GLib 2.6 but running against 2.8 or higher, and vice
2677 versa. (Closes: #323542)
2679 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
2681 * gst/parse/parse.l:
2682 Commit patch for parse_launch syntax from #331255. Removes
2683 support for quoted strings and mimetypes when writing filtered
2684 caps. See the bug report for more details - I'm pretty sure this
2685 obscure feature is not in use by _anyone_ anywhere.
2687 With this simple change, the size of the gstreamer.so here
2688 drops from 2193KB to 1565KB.
2690 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
2692 * plugins/elements/gsttypefindelement.h:
2693 * plugins/elements/gsttypefindelement.c:
2694 (gst_type_find_element_src_event), (start_typefinding),
2695 (stop_typefinding), (gst_type_find_element_handle_event),
2696 (gst_type_find_element_chain),
2697 (gst_type_find_element_chain_do_typefinding):
2698 Use gst_type_find_helper_for_buffer() for chain-based
2701 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
2703 * plugins/elements/gsttypefindelement.c:
2704 (gst_type_find_element_class_init),
2705 (gst_type_find_element_set_property),
2706 (gst_type_find_element_get_property):
2707 Deprecate "maximum" property (not only was it only taken into
2708 account for typefinding in push-mode anyway, it also was never
2709 actually possible to set it in the first place because the
2710 property was registered with the numeric property ID for the
2711 "minimum" property). Register "maximum" property correctly,
2712 for the sake of future copy'n'pasters. Remove some cruft
2713 from property get/set functions.
2715 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
2717 * plugins/elements/gsttypefindelement.c:
2718 (gst_type_find_element_activate):
2719 Use gst_type_find_helper_get_range() here, so we
2720 can honour the "minimum" property and also emit
2721 the signal with the correct probability of the found caps.
2723 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
2725 * docs/libs/gstreamer-libs-sections.txt:
2726 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2727 (helper_find_suggest), (gst_type_find_helper_get_range),
2728 (gst_type_find_helper):
2729 * libs/gst/base/gsttypefindhelper.h:
2730 New API: gst_type_find_helper_get_range() (#333042).
2732 2006-03-02 Michael Smith <msmith@fluendo.com>
2734 * gst/gstregistryxml.c: (load_feature):
2735 Asserting on a failure to read part of the registry is Not Cool.
2736 Just log a warning and return NULL (which is already handled)
2738 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
2740 * win32/common/libgstbase.def:
2741 added export of gst_type_find_helper_for_buffer
2742 * win32/common/libgstbase.def:
2743 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2744 gst_ghost_pad_get_target
2746 2006-02-28 Wim Taymans <wim@fluendo.com>
2748 * docs/design/draft-klass.txt:
2750 Added Connector to mark elements that are only used to
2751 allow pipeline connections.
2752 Moved Debug to extra feature since most of them are
2753 functionally something else.
2755 2006-02-28 Wim Taymans <wim@fluendo.com>
2757 * docs/design/draft-klass.txt:
2758 Some updates and clarifications.
2760 2006-02-28 Wim Taymans <wim@fluendo.com>
2762 * docs/design/draft-klass.txt:
2763 Proposal for klass field values.
2765 * docs/design/part-streams.txt:
2766 Start of a doc describing stream anatomy.
2768 2006-02-28 Wim Taymans <wim@fluendo.com>
2770 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2771 Help the compiler a bit with type registration.
2772 Use existing forward cod path instead of duplicating it when
2775 * gst/gstbus.c: (gst_bus_get_type):
2776 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2777 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2778 * gst/gstclock.c: (gst_clock_get_type):
2779 * gst/gstelement.c: (gst_element_get_type),
2780 * gst/gstelementfactory.c: (gst_element_factory_get_type):
2781 * gst/gstindexfactory.c: (gst_index_factory_get_type):
2782 * gst/gstminiobject.c: (gst_mini_object_get_type):
2783 * gst/gstpad.c: (gst_pad_get_type):
2784 * gst/gstsegment.c: (gst_segment_get_type):
2785 * gst/gststructure.c: (gst_structure_get_type):
2786 * gst/gstsystemclock.c: (gst_system_clock_get_type):
2787 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2789 Help compiler with type registration.
2791 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2794 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2796 * plugins/elements/gsttypefindelement.c:
2797 (gst_type_find_element_handle_event):
2798 When we get an EOS event and have not found a type yet
2799 (most likely because we had not yet accumulated
2800 TYPE_FIND_MIN_SIZE of data yet), try to determine the
2801 type given the data we have so far. Fixes typefinding
2802 for very short streams again, most notably quicktime
2803 redirections as used on Apple's trailer site (#331701).
2805 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2807 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2808 (gst_type_find_helper):
2809 Try typefinding factories with the highest rank first.
2811 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2813 * docs/libs/gstreamer-libs-docs.sgml:
2814 * docs/libs/gstreamer-libs-sections.txt:
2815 * libs/gst/base/gsttypefindhelper.c:
2816 Add section for typefind helper and add documentation
2817 for the old and the new function.
2819 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2821 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2822 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2823 (gst_type_find_helper_for_buffer):
2824 * libs/gst/base/gsttypefindhelper.h:
2825 New API: gst_type_find_helper_for_buffer() (#332723).
2827 2006-02-27 Michael Smith <msmith@fluendo.com>
2829 Patch by: Loïc Minier
2833 * docs/slides/Makefile.am:
2834 prevent CVS directories getting disted.
2836 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2838 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2839 Use the REFCOUNTING category for caps refcounting.
2841 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
2843 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2844 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2846 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
2848 * plugins/elements/gsttypefindelement.c:
2849 (gst_type_find_element_activate):
2850 Use gst_pad_check_pull_range() before _activate_pull()
2851 to avoid unnecessary open/close (see #331690).
2853 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
2856 Docs enhancement: make it crystal clear what the
2857 gst_pad_add_*_probe() callbacks should look like.
2859 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
2861 * libs/gst/base/gstbasesrc.c:
2862 Document how applications can stop recording from
2863 live sources (see #330996).
2865 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2867 * tests/check/Makefile.am:
2868 * tests/check/libs/basesrc.c: (eos_event_counter),
2869 (basesrc_eos_events_pull), (basesrc_eos_events_push),
2870 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2871 (gst_basesrc_suite), (main):
2872 ... and add some tests for the base source EOS stuff.
2874 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2876 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2877 Test case originally showed the problem fixed below,
2878 but was then amended. Add checks back at the place
2879 where they used to be.
2881 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2883 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2884 (gst_base_src_init), (gst_base_src_loop),
2885 (gst_base_src_activate_push), (gst_base_src_activate_pull),
2886 (gst_base_src_change_state):
2887 * libs/gst/base/gstbasesrc.h:
2888 Don't unconditionally send EOS when going from PAUSED to
2889 READY state, esp. make sure we don't send two EOS events
2890 in some cases (e.g. one when reaching EOS and one when
2891 going from PAUSED to READY). Also, we don't want to send
2892 EOS events when operating in pull mode. However, we do
2893 want to send an EOS event when shutting down a live
2894 source explicitly, for example (fixes #330996).
2896 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2898 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2899 Update src->read_position after a seek when not using mmap.
2900 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2902 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
2908 Make things work with --disable-parse as they do with
2909 --disable-load-save - the symbols involved disappear, but the
2910 header is still installed and GST_DISABLE_PARSE is included via
2913 2006-02-20 Julien MOUTTE <julien@moutte.net>
2915 * libs/gst/base/gstbasetransform.c:
2916 (gst_base_transform_change_state): Fix a stupid bug. I was
2917 sure I compiled that.
2919 2006-02-20 Julien MOUTTE <julien@moutte.net>
2921 * gst/gstpad.c: (gst_pad_set_blocked_async):
2922 * gst/gstutils.c: (gst_pad_add_data_probe),
2923 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2924 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2925 (gst_pad_remove_buffer_probe): Make those function act on the
2926 ghostpad target when it's a ghostpad. (Closes #331727)
2928 2006-02-20 Julien MOUTTE <julien@moutte.net>
2930 * libs/gst/base/gstbasetransform.c:
2931 (gst_base_transform_change_state): Make basetransform reusable.
2934 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
2936 * docs/random/release:
2937 Move the current documentation of how to do a release to the top
2940 * gst/gstbin.c: (gst_bin_class_init),
2941 (gst_bin_handle_message_func):
2942 Allow multiple state-recalculation threads. (Closes #328873)
2944 2006-02-19 Julien MOUTTE <julien@moutte.net>
2946 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2947 * gst/gstpad.c: (gst_pad_set_event_function),
2948 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2949 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2950 2 strings. You can't use the STR_NULL macro on that.
2952 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
2954 * gst/gstpad.c: (gst_pad_set_event_function),
2955 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2956 (gst_pad_set_getcaps_function)
2957 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2958 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2959 So now, we can use --gst-debug-level=5 on Windows
2960 * win32/common/libgstcontroller.def:
2961 Added export of gst_controller_init
2962 * win32/vs6/libgstcontroller.dsp:
2963 Fixed Release post build configuration
2965 2006-02-17 Wim Taymans <wim@fluendo.com>
2967 * tests/check/gst/gstquery.c: (GST_START_TEST):
2968 Added another check.
2970 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
2972 * plugins/elements/gsttypefindelement.c: (find_peek):
2973 We can do peeks at non-zero offsets, as long as they
2974 fall within the buffer we have.
2976 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
2978 * tests/check/Makefile.am:
2979 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2980 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2981 (parse_suite), (main):
2982 Add testsuite for parse launch syntax
2984 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
2986 * plugins/elements/gsttypefindelement.c:
2987 (gst_type_find_element_chain):
2988 When typefinding is unsuccessful in the chain function, don't
2989 error out immediately. Only error out with NO_CAPS_FOUND if
2990 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2991 otherwise simply wait for more data so we can try typefinding
2992 again with more data later. Also, don't attempt to typefind
2993 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2994 this should improve typefinding from network sources where the
2995 size of the first buffer can be somewhat random.
2997 2006-02-14 Wim Taymans <wim@fluendo.com>
2999 * docs/gst/gstreamer-sections.txt:
3000 * gst/gstpadtemplate.c:
3001 * gst/gstpadtemplate.h:
3002 Fix padtemplate docs, fixes #328805.
3004 2006-02-14 Wim Taymans <wim@fluendo.com>
3006 * tools/gst-launch.c: (main):
3007 NO_PREROLL is not an ERROR so don't send confusing messages
3010 2006-02-14 Wim Taymans <wim@fluendo.com>
3012 Patch by: Torsten Schoenfeld
3014 * gst/gstregistry.c: (gst_registry_get_default),
3015 (_gst_registry_cleanup):
3016 Protect default registry with lock and ref/sink it.
3019 2006-02-14 Wim Taymans <wim@fluendo.com>
3022 * gst/gstquery.c: (gst_query_list_add_format),
3023 (gst_query_set_formatsv), (gst_query_parse_formats_length),
3024 (gst_query_parse_formats_nth):
3025 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3028 2006-02-14 Wim Taymans <wim@fluendo.com>
3030 * docs/gst/gstreamer-sections.txt:
3031 Reworked query docs.
3033 * gst/gstquery.c: (gst_query_new_formats),
3034 (gst_query_list_add_format), (gst_query_set_formats),
3035 (gst_query_set_formatsv), (gst_query_parse_formats_length),
3036 (gst_query_parse_formats_nth):
3038 Flesh out formats query, added some new methods.
3039 Fix part of #324398.
3041 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3042 Added query creation tests.
3044 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
3046 * gst/gstpad.c: (fixate_value):
3047 Add a default fixation for fraction lists.
3049 2006-02-13 Wim Taymans <wim@fluendo.com>
3051 * gst/gsttask.c: (gst_task_init), (gst_task_func),
3052 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3055 Detect and warn for obvious deadlocks. fixes #320340
3056 Fix error case where lock was not released.
3058 * tests/check/Makefile.am:
3059 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3060 (task_func), (gst_element_suite), (main):
3063 2006-02-13 Wim Taymans <wim@fluendo.com>
3065 * docs/gst/gstreamer-sections.txt:
3067 Add new functions to docs.
3069 2006-02-13 Wim Taymans <wim@fluendo.com>
3071 * docs/design/part-TODO.txt:
3072 Updated TODO list, basesrc supports seeking to non-bytes
3075 * docs/design/part-element-sink.txt:
3078 * gst/gstbin.c: (bin_replace_message),
3079 (gst_bin_handle_message_func):
3080 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3081 * gst/gstevent.c: (gst_event_finalize):
3082 * gst/gstpad.c: (gst_pad_event_default_dispatch),
3083 (gst_pad_send_event):
3084 Use shiny new _TYPE_NAME macros.
3086 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3087 Move debug statement up.
3089 * gst/gstelement.c: (gst_element_set_locked_state):
3092 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
3094 * docs/gst/gstreamer-sections.txt:
3097 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3098 macros (#330906). Also, document the already existing
3099 GST_QUERY_TYPE macro.
3101 2006-02-13 Wim Taymans <wim@fluendo.com>
3103 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3104 (event_probe), (GST_START_TEST):
3105 Only events up to the pipeline EOS are counted, there are
3106 some more when going to NULL currently which we don't care
3109 2006-02-13 Wim Taymans <wim@fluendo.com>
3111 * gst/gstpad.c: (gst_pad_send_event):
3112 Correctly check flushing and emit probes. fixes #330125
3114 2006-02-10 Andy Wingo <wingo@pobox.com>
3116 * gst/gstbus.c (gst_bus_class_init): Declare our private data
3118 (gst_bus_init): Cache the location of the private data in the
3120 (gst_bus_enable_sync_message_emission)
3121 (gst_bus_disable_sync_message_emission): Implement new public
3123 (gst_bus_post): Emit the sync-message signal if the user asked for
3126 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3127 location of the bus-private structure.
3128 (gst_bus_enable_sync_message_emission)
3129 (gst_bus_disable_sync_message_emission): API addition
3131 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
3133 Patch by: Vincent Torri
3135 * docs/pwg/building-boiler.xml:
3136 PWG patch from #326800
3138 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
3142 * docs/design/Makefile.am:
3145 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3150 === release 0.10.3 ===
3152 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3155 releasing 0.10.3, "Like a virgin"
3157 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3160 2nd prerelease of 0.10.3
3161 Bump libtool versioning.
3163 2006-02-07 Andy Wingo <wingo@pobox.com>
3165 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3166 update last_stop if we're in TIME format and the timestamp is
3169 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
3170 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
3171 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3172 If we get a new newsegment with a different format, adapt
3175 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3176 of 0. Not a problem, really.
3178 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3181 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
3186 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
3189 project files updated to the default vs7 configuration
3190 * win32/common/libgstbase.def:
3191 * win32/common/libgstreamer.def:
3193 removed empty lines,
3194 sorted all exported symbols alphabetically
3195 * win32/common/dirent.c:
3196 * win32/common/dirent.h:
3197 * win32/common/gchar.h:
3198 use windows line end.
3200 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
3202 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3203 Send EOS event when stopping.
3205 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
3208 Tell folks what to do if the plugin-foobar.xml file
3209 hasn't been generated for a newly-added plugin.
3211 2006-02-05 Julien MOUTTE <julien@moutte.net>
3213 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3214 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3215 (gst_collect_pads_start), (gst_collect_pads_stop),
3216 (gst_collect_pads_event): Collectpads now holds a reference
3217 to the GstPad that was added. Indeed we don't want to look
3218 at pads that might just go away with no warning...
3220 2006-02-05 Julien MOUTTE <julien@moutte.net>
3222 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3223 (gst_collect_pads_start), (gst_collect_pads_stop),
3224 (gst_collect_pads_event), (gst_collect_pads_chain):
3225 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3226 Mark Nauwelaerts's patch on bug #328491.
3228 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3230 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3232 Add some simple tests for gst_parse_bin_from_description() and
3233 gst_bin_find_unconnected_pad() (#329069).
3235 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3237 * tools/gst-launch.c: (event_loop), (main):
3238 Catch errors during preroll (#320084).
3240 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
3242 * plugins/elements/gsttypefindelement.c:
3243 (gst_type_find_element_activate):
3244 Post TYPE_NOT_FOUND error message when typefinding
3245 is unsuccessful in the activate function as well.
3247 2006-02-02 Wim Taymans <wim@fluendo.com>
3249 * docs/design/part-element-sink.txt:
3252 2006-02-02 Wim Taymans <wim@fluendo.com>
3254 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3255 (gst_base_sink_render_object),
3256 (gst_base_sink_queue_object_unlocked):
3257 Only keep track of prerollable items when we are
3259 Before rendering after preroll, always check if we
3261 Added some more debugging.
3263 2006-02-02 Wim Taymans <wim@fluendo.com>
3265 * gst/gstelement.c: (gst_element_continue_state),
3266 (gst_element_set_state_func), (gst_element_change_state):
3267 Fixed #326576, been running this for quite some time with
3268 no regressions at all.
3270 2006-02-02 Wim Taymans <wim@fluendo.com>
3273 Added more suppressions
3275 2006-02-02 Wim Taymans <wim@fluendo.com>
3277 * docs/design/part-element-sink.txt:
3280 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3281 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3282 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3283 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3284 (gst_base_sink_do_sync), (gst_base_sink_render_object),
3285 (gst_base_sink_preroll_object),
3286 (gst_base_sink_queue_object_unlocked),
3287 (gst_base_sink_queue_object), (gst_base_sink_event),
3288 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3289 (gst_base_sink_loop), (gst_base_sink_activate_pull),
3290 (gst_base_sink_get_position), (gst_base_sink_change_state):
3291 * libs/gst/base/gstbasesink.h:
3292 Totally refactored matching the design doc.
3293 Use two segments, one to clip incomming buffers and another to
3295 Handle queueing correctly, bypass the queue when playing.
3296 Make EOS cancelable.
3297 Handle errors correctly when operating in pull based mode.
3299 * tests/check/elements/fakesink.c: (GST_START_TEST),
3301 Added new check for sinks.
3303 2006-02-02 Wim Taymans <wim@fluendo.com>
3305 * gst/gstsegment.c: (gst_segment_clip):
3306 No reason to refuse to clip when start == -1
3308 2006-02-02 Stefan Kost <ensonic@users.sf.net>
3311 * docs/manual/intro-basics.xml:
3312 * docs/manual/intro-preface.xml:
3313 * docs/manual/manual.xml:
3314 * docs/pwg/advanced-dparams.xml:
3315 * docs/pwg/intro-basics.xml:
3316 * docs/pwg/intro-preface.xml:
3318 describe dparams (controller) for plugins
3319 unify docs a little more
3321 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
3323 * docs/gst/gstreamer-sections.txt:
3324 * gst/gstutils.c: (element_find_unconnected_pad),
3325 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3327 Add new API: gst_parse_bin_from_description() and
3328 gst_bin_find_unconnected_pad() (#329069).
3330 2006-02-01 Stefan Kost <ensonic@users.sf.net>
3332 * docs/manual/README:
3333 uncover a nasty detail of the docs build
3335 2006-01-31 Wim Taymans <wim@fluendo.com>
3337 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3338 Don't cache duration messages if we're not going to use or
3341 2006-01-31 Stefan Kost <ensonic@users.sf.net>
3343 * docs/manual/advanced-dparams.xml:
3344 * docs/pwg/advanced-dparams.xml:
3348 * libs/gst/controller/lib.c: (gst_controller_init):
3351 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
3353 * gst/gstelement.c: (gst_element_message_full):
3354 also show file/line/func if no additional debug was given
3356 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
3358 * win32/vs7/grammar.vcproj:
3359 activate copy of autogenerated files for Release mode
3361 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3363 * win32/common/libgstreamer.def:
3364 export gst_value_compare
3366 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
3368 * plugins/elements/Makefile.am:
3369 * plugins/elements/gstelements.c:
3370 * plugins/elements/gstfdsink.c: (_do_init),
3371 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3372 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3373 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3374 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3375 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3376 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3377 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3378 * plugins/elements/gstfdsink.h:
3379 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3381 2006-01-30 Stefan Kost <ensonic@users.sf.net>
3383 * docs/manual/advanced-dparams.xml:
3385 * docs/manual/advanced-position.xml:
3386 * docs/manual/basics-init.xml:
3387 * docs/manual/manual.xml:
3388 * docs/manual/titlepage.xml:
3390 * docs/pwg/titlepage.xml:
3391 cleanup xml (more to come)
3392 * libs/gst/controller/gstcontroller.c:
3395 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3397 * win32/vs6/grammar.dsp:
3398 add autogen of gstmarshal.c,h for Release mode
3400 2006-01-30 Wim Taymans <wim@fluendo.com>
3402 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3403 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3404 (gst_base_sink_handle_object), (gst_base_sink_event),
3405 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3406 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3407 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3408 (gst_base_sink_deactivate), (gst_base_sink_activate),
3409 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3410 (gst_base_sink_query), (gst_base_sink_change_state):
3411 Basesink cleanups, remove some old code.
3412 Handle the case where a subclass can preroll in the render
3413 method (mostly audiosinks).
3415 Remove some locks around variables that are now protected
3416 with the PREROLL_LOCK (clock_id, flushing, ..).
3417 Optimize position query some more, do correct locking.
3418 Remove old code to push queue in state change, this is not
3419 needed anymore since preroll blocks on all prerollable items
3421 Almost implemented as described in design doc.
3423 2006-01-30 Wim Taymans <wim@fluendo.com>
3425 * tests/check/gst/gstbin.c: (GST_START_TEST):
3426 Wait for refcount to settle down before checking.
3428 2006-01-30 Wim Taymans <wim@fluendo.com>
3430 * docs/design/part-element-sink.txt:
3431 Pseudo code overview of desired sink behaviour regarding
3434 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3435 * win32/vs6/grammar.dsp:
3436 fix some bugs in Release mode for autogenerated files
3438 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3439 * win32/common/libgstbase.def:
3440 * win32/common/libgstreamer.def:
3441 export some new symbols: gst_base_src_set_format,
3442 gst_iterator_next, gst_structure_set_valist
3444 2006-01-29 Julien MOUTTE <julien@moutte.net>
3446 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3447 Set pad functions unconditionally. Fixes #329105.
3449 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3451 add vs8 project files created by Sergey Scobich
3453 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
3455 * gst/gstutils.c: (gst_element_unlink_pads):
3456 Don't leak pad references.
3458 * tests/check/elements/fakesink.c: (GST_START_TEST):
3459 * tests/check/generic/sinks.c: (GST_START_TEST):
3460 * tests/check/generic/states.c: (GST_START_TEST):
3461 * tests/check/gst/gstbin.c: (GST_START_TEST):
3462 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3463 * tests/check/gst/gstelement.c: (GST_START_TEST):
3464 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3465 * tests/check/gst/gstiterator.c: (GST_START_TEST):
3466 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3467 Fix a bunch of leaks. Make generic/sinks.c
3468 use a bit less cpu by slowing the buffer rate
3469 between fakesrc and fakesink.
3471 2006-01-27 Stefan Kost <ensonic@users.sf.net>
3473 * gst/gstelement.c: (gst_element_send_event):
3476 * gst/gstiterator.c:
3477 * gst/gstiterator.h:
3478 * gst/gstpad.c: (gst_pad_send_event):
3479 * gst/gststructure.c:
3483 * libs/gst/base/gstadapter.c:
3484 doc fixes, to link to function, just write gst_cool_function(), don't
3487 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3489 * plugins/elements/gsttee.c: (gst_tee_do_push),
3490 (gst_tee_handle_buffer):
3491 Always prefer an actual return value from a src
3492 pad in place of NOT_LINKED. This means we return
3493 WRONG_STATE when all src pads are WRONG_STATE
3494 instead of NOT_LINKED.
3496 Lock when replacing the last message to prevent
3497 racing with the get_property method.
3501 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3503 * tests/check/Makefile.am:
3504 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3506 Add a very simple check that should have caught the memleak I fixed
3507 last night (if not for the slice allocator hiding it)
3509 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3511 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3512 (gst_bin_remove_func), (gst_bin_handle_message_func),
3513 (bin_query_duration_fold), (bin_query_generic_fold):
3514 Clean up references to the clock provider when disposed or when
3515 handling a clock-lost message from it.
3517 Unref sinks when performing a query via gst_iterator_fold, as the
3518 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3520 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3521 (gst_clock_set_master):
3522 Drop our reference to the master clock, if any, when we are disposed.
3524 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3525 Chain up in dispose.
3527 2006-01-26 Wim Taymans <wim@fluendo.com>
3529 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3532 2006-01-26 Julien MOUTTE <julien@moutte.net>
3534 * plugins/elements/gsttee.c: (gst_tee_do_push),
3535 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3536 handles pad being NOT_LINKED or in WRONG_STATE.
3538 2006-01-26 Stefan Kost <ensonic@users.sf.net>
3543 2006-01-26 Stefan Kost <ensonic@users.sf.net>
3546 remove obsolete entry
3548 2006-01-26 Stefan Kost <ensonic@users.sf.net>
3550 * docs/gst/gstreamer-sections.txt:
3551 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3552 (gst_bin_iterate_sources), (gst_bin_send_event):
3554 * gst/gstelement.c: (gst_element_send_event):
3556 * gst/gstpad.c: (gst_pad_send_event):
3557 added code for downstream events, reviewed docs in gstevent.c
3559 2006-01-25 Julien MOUTTE <julien@moutte.net>
3561 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3562 We only query position using the clock in the playing state.
3563 Query peer in the other cases.
3564 * win32/common/config.h: Updates.
3566 2006-01-24 Wim Taymans <wim@fluendo.com>
3568 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3569 A clock entry that is scheduled for the exact time of the
3570 clock is still in time.
3572 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3573 (gst_base_sink_do_sync):
3574 Add some more debug info.
3576 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
3579 Add new vs7 project files and solution.
3581 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
3584 all files removed as they were out-dated.
3586 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
3588 * docs/random/release:
3590 * gst/gstbin.c: (gst_bin_init):
3591 * gst/gstbus.c: (gst_bus_new):
3593 * gst/gstpipeline.c: (gst_pipeline_init):
3594 use gst_bus_new(), improve logging, fix docs
3595 * win32/common/config.h:
3596 update for cvs build
3598 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
3601 up required version of automake to 1.7
3603 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
3605 * win32/common/libgstreamer.def:
3606 export gst_buffer_is_metadata_writable
3608 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
3610 * docs/gst/gstreamer-sections.txt:
3612 Add gst_event_replace() (#327001)
3614 2006-01-20 Wim Taymans <wim@fluendo.com>
3616 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3617 Make it actually compile too..
3619 2006-01-20 Wim Taymans <wim@fluendo.com>
3622 Clarify behaviour of _is_equal() when passing NULL parameters.
3624 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3626 Cleanups. Don't unref NULL caps.
3627 When setting the same caps, protect caps of the pad with
3629 Use full functionality of _is_equal() when comparing caps.
3631 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
3633 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3634 Don't loop infinitely if there are no buffers to present. Partially
3635 fixes #327197, but collectpads is just broken for reusing elements
3636 to do multiple encodes atm.
3638 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
3640 * tools/gst-inspect.c: (print_element_features):
3641 * tools/gst-xmlinspect.c: (main):
3642 URL_HANDLER is not a plugin feature we can search for in
3645 2006-01-19 Edward Hervey <edward@fluendo.com>
3647 * gst/gstelement.c: (gst_element_pads_activate):
3648 When activating, do src pads first, then sink pads.
3649 When de-activating, do sink pads first, then src pads.
3651 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3653 * docs/gst/gstreamer-sections.txt:
3654 Add gst_index_add_associationv to the docs
3656 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3661 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3662 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3663 Do some refactoring. Doesn't actually change functionality,
3664 but makes landing the DRAIN event easier later.
3666 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
3668 * docs/pwg/advanced-scheduling.xml:
3669 Update from 0.9.x to 0.10 API and make example a bit
3672 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3674 * docs/gst/gstreamer-sections.txt:
3675 Add gst_buffer_(is|make)_metadata_writable methods.
3677 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3679 * docs/design/part-sparsestreams.txt:
3680 Update sparse streams doc, hopefully for greater clarity
3682 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
3684 * docs/design/part-events.txt:
3685 Remove mention of FILLER events.
3688 * docs/design/part-sparsestreams.txt:
3689 Write some things about using NEWSEGMENT to keep sparse streams
3692 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
3694 * gst/gstbin.c: (gst_bin_dispose):
3695 Guard gst_object_unref call against a NULL object (dispose
3696 can theoretically be called multiple times).
3698 2006-01-18 Wim Taymans <wim@fluendo.com>
3700 * gst/gstbin.c: (gst_bin_element_set_state):
3701 * gst/gstclock.c: (gst_clock_id_wait):
3702 Added some more debug info.
3704 * libs/gst/base/gstadapter.c:
3707 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3708 (gst_base_sink_do_sync), (gst_base_sink_chain):
3709 Added some comments.
3711 2006-01-18 Wim Taymans <wim@fluendo.com>
3713 * tests/check/Makefile.am:
3714 * tests/check/elements/fakesink.c: (chain_async_buffer),
3715 (chain_async), (chain_async_return), (GST_START_TEST),
3716 (fakesink_suite), (main):
3717 Added fakesink test that checks prerolling and clipping
3720 * tests/check/gst/gstutils.c: (GST_START_TEST):
3721 Make check run faster so that buildbots don't timeout.
3723 2006-01-18 Wim Taymans <wim@fluendo.com>
3725 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3726 (gst_base_sink_do_sync):
3728 When the sink finishes blocking on the preroll buffer, it can
3729 immediatly render it instead of rendering when the next buffer
3732 2006-01-18 Wim Taymans <wim@fluendo.com>
3734 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3735 (gst_base_sink_get_property), (gst_base_sink_do_sync),
3736 (gst_base_sink_chain):
3738 GST_ELEMENT_CLOCK and sync are protected with LOCK.
3739 Don't store _last_stop if the buffer is dropped.
3741 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
3743 * plugins/elements/gsttypefindelement.c:
3744 (gst_type_find_element_class_init):
3745 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3746 object method handler that sets the caps on the pad and we want
3747 that to happen before we emit the signal (fixes e.g. feeding a
3748 plain text file to decodebin).
3750 2006-01-18 Christian Schaller <Christian@fluendo.com>
3752 * gst/gstplugin.c: Add MPL and Proprietary as license options
3754 2006-01-18 Andy Wingo <wingo@pobox.com>
3756 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3757 symbol was exported before, it appears this was just an oversight.
3759 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3761 * gst/gstindex.c (gst_index_add_associationv): Changed int in
3762 prototype to gint. OK since this prototype was not in the header.
3764 2006-01-17 Andy Wingo <wingo@pobox.com>
3766 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3767 registry while we remove plugins.
3769 * tools/gst-inspect.c (print_element_info): Don't unref the
3770 factory arg, that should be the responsibility of whatever code
3771 received the ref. Fixes a double-free when called from
3772 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3773 (main): Unref the factory if we have one.
3774 (print_element_list): No change -- relies on the
3775 plugin_feature_list_free to free the list of features.
3777 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
3779 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3780 (gst_buffer_make_metadata_writable):
3782 * libs/gst/base/gstbasetransform.c:
3783 (gst_base_transform_prepare_output_buf):
3784 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3785 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3786 Replace gst_buffer_(make|is)_metadata_writable patch now
3787 that the release is out.
3789 2006-01-17 Andy Wingo <wingo@pobox.com>
3791 * gst/gstregistry.c: Reflow design comment. Update so as to speak
3792 in the present tense without reference to versions.
3794 * gst/gstregistry.c (gst_registry_add_plugin)
3795 (gst_registry_remove_plugin, gst_registry_remove_feature)
3796 (gst_registry_find_feature, gst_registry_get_feature_list)
3797 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3798 (gst_registry_lookup, gst_registry_scan_path)
3799 (_gst_registry_remove_cache_plugins)
3800 (gst_registry_get_feature_list_by_plugin): Add argument
3803 === release 0.10.2 ===
3805 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
3808 releasing 0.10.2, "If man is five"
3810 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
3814 * libs/gst/base/gstbasetransform.c:
3815 (gst_base_transform_prepare_output_buf):
3816 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3817 * tests/check/gst/gstbuffer.c: (gst_test_suite):
3818 Back out patch until after the release.
3820 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
3822 * gst/gstminiobject.c:
3823 Spelling fix in docs.
3824 * ChangeLog - remove conflict indicator
3826 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
3828 Reviewed By: Andy Wingo
3830 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3831 (gst_buffer_make_metadata_writable):
3833 Add gst_buffer_(is|make)_metadata_writable as analogues of
3834 gst_buffer_(is|make)_writable.
3836 * libs/gst/base/gstbasetransform.c:
3837 (gst_base_transform_prepare_output_buf):
3838 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3839 Use name gst_buffer_(is|make)_metadata_writable functions.
3841 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3842 Test gst_buffer_(is|make)_metadata_writable
3846 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
3848 * docs/manual/Makefile.am:
3849 don't do parallel make
3852 * win32/common/config.h.in:
3853 add generations for HOST_CPU and GST_MAJORMINOR
3854 * win32/common/config.h:
3855 commit generated result
3857 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
3859 * docs/manual/appendix-integration.xml:
3860 Update GNOME integration section to use gst_init_get_option_group()
3861 instead of the old popt stuff (#322911). Also, GNOME applications
3862 should now use gconf*sink and gconf*src instead of the old gconf
3865 2006-01-13 Stefan Kost <ensonic@users.sf.net>
3868 * docs/gst/gstreamer-docs.sgml:
3869 * docs/gst/gstreamer-sections.txt:
3870 * docs/libs/gstreamer-libs-sections.txt:
3871 add new API entries to the docs
3872 * libs/gst/controller/Makefile.am:
3873 * libs/gst/controller/gstcontroller.c:
3874 * libs/gst/controller/gstcontroller.h:
3875 * libs/gst/controller/gstcontrollerprivate.h:
3876 * libs/gst/controller/gsthelper.c:
3877 * libs/gst/controller/gstinterpolation.c:
3878 move private structs to private header
3880 gstreamer-0.7 -> gstreamer-0.10
3881 * tests/check/libs/struct_i386.h:
3882 remove private structs
3884 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
3886 * plugins/indexers/Makefile.am:
3887 Fixes as part of #317048
3889 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
3891 * plugins/indexers/Makefile.am:
3892 fix #316086 - compilation when mmap is missing
3894 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
3896 * libs/gst/base/gstbasesink.c:
3897 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
3898 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3899 * win32/common/config.h:
3900 added some defines GST_MAJORMINOR and HOST_CPU
3901 * win32/common/libgstbase.def:
3902 * win32/common/libgstreamer.def:
3903 added some exported functions.
3905 2006-01-12 Stefan Kost <ensonic@users.sf.net>
3907 * libs/gst/controller/gstcontroller.c:
3908 (gst_controlled_property_set_interpolation_mode),
3909 (gst_controlled_property_new):
3910 * libs/gst/controller/gstcontroller.h:
3911 * libs/gst/controller/gstinterpolation.c:
3912 (interpolate_none_get_string_value_array):
3913 make G_TYPE_STRING controlable
3915 2006-01-12 Stefan Kost <ensonic@users.sf.net>
3918 * tools/gst-feedback.1.in:
3919 * tools/gst-inspect.1.in:
3920 * tools/gst-launch.1.in:
3921 * tools/gst-md5sum.1.in:
3922 * tools/gst-typefind.1.in:
3923 * tools/gst-xmlinspect.1.in:
3924 * tools/gst-xmllaunch.1.in:
3925 cleanup man-pages, remove reference to gst-register, document env-vars
3927 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
3929 * gst/gstbuffer.c: (gst_buffer_span):
3930 gst_buffer_span should copy the timestamp of the first buffer
3931 if they were both originally overlapping subbuffers of the
3932 same parent, using the same logic as the 'slow copy' case.
3934 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
3936 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3937 Need to awaken ALL the pads when we pop a buffer, otherwise
3938 collectpads only works when there is 2 input streams.
3940 2006-01-11 Stefan Kost <ensonic@users.sf.net>
3942 * docs/random/ensonic/media-device-daemon.txt:
3945 fix doc example, add clarification
3946 * tools/gst-launch.1.in:
3947 add initial info about GST_PLUGIN_PATH, needs more work
3949 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
3951 * docs/manual/basics-bins.xml:
3952 * docs/manual/basics-elements.xml:
3953 * docs/manual/intro-basics.xml:
3954 Some more minor docs additions and updates.
3956 2006-01-11 Wim Taymans <wim@fluendo.com>
3958 * docs/manual/basics-bins.xml:
3959 * docs/manual/basics-elements.xml:
3960 Some small fixes as pointed out by Ser-ver on IRC.
3962 2006-01-10 Edward Hervey <edward@fluendo.com>
3964 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3965 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3966 the single-segment mode.
3968 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
3970 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3972 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3973 (gst_base_src_perform_seek), (gst_base_src_send_event),
3974 (gst_base_src_set_property), (gst_base_src_get_property),
3975 (gst_base_src_loop), (gst_base_src_start),
3976 (gst_base_src_activate_push):
3977 * libs/gst/base/gstbasesrc.h:
3978 Name (private) union; makes Sun's Forte compiler happy (#324900).
3980 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
3983 gst-register is gone.
3985 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
3987 * gst/gstvalue.c: (_gst_value_initialize):
3988 make the G_TYPE_DATE instantiation work if debug is disabled
3990 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
3992 * gst/gstmessage.c: (gst_message_parse_tag),
3993 (gst_message_parse_error), (gst_message_parse_warning):
3994 Don't crash when return location for error/warning debug
3995 string is NULL; add fact that return locations can be
3996 NULL to docs where appropriate.
3998 2006-01-05 Wim Taymans <wim@fluendo.com>
4000 * gst/gstplugin.c: (gst_plugin_load_file):
4001 Replace strdup by g_strdup.
4003 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
4005 * docs/pwg/advanced-types.xml:
4008 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
4010 submitted by: Abel Cheung
4014 Added Chinese (traditional) translation
4016 2006-01-04 Wim Taymans <wim@fluendo.com>
4018 * docs/manual/basics-pads.xml:
4019 * docs/plugins/Makefile.am:
4020 * docs/plugins/gstreamer-plugins-docs.sgml:
4021 * docs/plugins/gstreamer-plugins-sections.txt:
4022 * docs/pwg/advanced-clock.xml:
4023 * docs/pwg/advanced-scheduling.xml:
4024 * docs/pwg/advanced-types.xml:
4025 * plugins/elements/gstfdsink.c:
4026 * plugins/elements/gstfdsrc.c:
4027 * plugins/elements/gstfdsrc.h:
4028 * plugins/elements/gstidentity.c: (gst_identity_class_init):
4029 * plugins/elements/gstidentity.h:
4030 * plugins/elements/gstqueue.h:
4031 * plugins/elements/gsttee.c:
4032 * plugins/elements/gsttee.h:
4033 * plugins/elements/gsttypefindelement.c:
4034 (gst_type_find_element_class_init):
4035 * plugins/elements/gsttypefindelement.h:
4036 Small updates to various docs.
4037 Added core plugins to docs.
4039 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4042 add a suppression for liboil's uninitialized variable
4044 2006-01-02 James Livingston <jrl at ids dot org dot au>
4046 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4049 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4050 macro, so that gcc doesn't complain if the -Wmissing-prototypes
4051 compiler switch is being used (#325429).
4053 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
4055 * gst/gstbin.c: (gst_bin_query):
4056 Disable duration query caching in bins until it gets
4057 fixed (see #324807).
4059 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
4061 * tools/gst-inspect.c: (print_element_properties_info):
4062 Handle properties of POINTER and BOXED type.
4064 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
4066 * gst/gst.c: (init_post):
4067 Init tags stuff and some other things before loading
4068 any static plugins (there may be other static plugins
4069 than just the GStreamer ones, and they may want to
4070 register their own tags or formats or whatever, and
4071 preferably without segfaulting).
4073 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4074 Print at least a warning in the debug logs if we drop a
4075 query just because we don't know how to adjust the value
4076 in the particular format.
4078 2005-12-24 David Schleef <ds@schleef.org>
4080 * tools/gstreamer-completion:
4081 Replacement for gst-complete written in sh and sed. Only
4082 completes names of features, but that's 90% of what I want
4083 it for. Properties are not available in registry.xml. (Maybe
4086 === release 0.10.1 ===
4088 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
4091 releasing 0.10.1, "Nollaig chridheil"
4093 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
4096 Add missing quote, should be make ERROR_CFLAGS="".
4098 2005-12-20 Wim Taymans <wim@fluendo.com>
4100 * docs/design/part-trickmodes.txt:
4101 More documentation on trickmodes.
4103 2005-12-20 Edward Hervey <edward@fluendo.com>
4105 * gst/gstcaps.c: (gst_static_caps_get_type):
4107 API addition: GST_TYPE_STATIC_CAPS
4108 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4109 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4110 * gst/gstpadtemplate.h:
4111 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4112 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4115 2005-12-18 Wim Taymans <wim@fluendo.com>
4117 * libs/gst/base/gstadapter.c:
4118 * libs/gst/base/gstadapter.h:
4119 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4120 (gst_base_sink_get_position):
4121 * libs/gst/base/gstbasesink.h:
4122 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4123 (gst_base_src_default_query), (gst_base_src_default_do_seek),
4124 (gst_base_src_do_seek), (gst_base_src_perform_seek),
4125 (gst_base_src_send_event), (gst_base_src_update_length),
4126 (gst_base_src_get_range), (gst_base_src_loop),
4127 (gst_base_src_start):
4128 * libs/gst/base/gstbasesrc.h:
4129 * libs/gst/base/gstbasetransform.h:
4130 * libs/gst/base/gstcollectpads.h:
4131 * libs/gst/base/gstpushsrc.c:
4132 * libs/gst/base/gstpushsrc.h:
4133 * libs/gst/dataprotocol/dataprotocol.c:
4134 * libs/gst/dataprotocol/dataprotocol.h:
4135 * libs/gst/net/gstnetclientclock.h:
4136 * libs/gst/net/gstnettimeprovider.h:
4137 Documentation updates.
4139 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
4141 * docs/manual/basics-helloworld.xml:
4142 Remove superfluous closing bracket in helloworld example.
4144 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
4146 * tools/gst-launch.1.in:
4147 Update gst-launch man page; add a section with useful
4148 environment variables. Fixes #323882.
4150 2005-12-16 Stefan Kost <ensonic@users.sf.net>
4153 * gst/gst_private.h:
4154 change some char* into char[]
4156 2005-12-16 Wim Taymans <wim@fluendo.com>
4158 * gst/gstregistryxml.c: (load_feature):
4160 Don't use g_object_unref on GstObjects so that we avoid
4161 leaks on unsafe glibs.
4163 2005-12-16 Wim Taymans <wim@fluendo.com>
4165 * gst/gstbin.c: (gst_bin_recalc_state):
4168 2005-12-16 Wim Taymans <wim@fluendo.com>
4171 Added make forever target for check.
4173 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
4175 * gst/gst.c: (init_post):
4176 make the registry cache file HOST_CPU-dependent
4178 2005-12-16 Andy Wingo <wingo@pobox.com>
4180 * plugins/elements/gstbufferstore.c
4181 (gst_buffer_store_cleared_func): Pay attention to g_list_append
4184 * tests/check/gst/gstobject.c
4185 (test_fake_object_name_threaded_unique): Pay attention to
4186 g_list_sort return value.
4188 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
4190 * tools/gst-feedback-m.m:
4191 Update for 0.9/0.10 (fixes #323870).
4193 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
4195 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4196 Fix lcopy for mini objects, the mini object needs to be ref'ed.
4198 * tests/check/gst/gstminiobject.c: (my_foo_init),
4199 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4200 (test_value_collection), (gst_mini_object_suite):
4201 Add test to ensure refcounts end up as expected when passing
4202 GstMiniObjects through g_object_get() and g_object_set().
4204 2005-12-14 Julien MOUTTE <julien@moutte.net>
4206 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4207 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4208 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4209 of collectpads. This version removes a lot of races without
4210 touching API/ABI. Yay !
4212 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
4214 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4215 Don't allow activation of a srcpad in pull_range if it has no
4217 Change some debug statements to be a little clearer
4219 * plugins/elements/gsttypefindelement.c:
4220 (gst_type_find_handle_src_query):
4221 Check that we have a peer before executing queries thereupon.
4223 * tests/examples/metadata/read-metadata.c: (message_loop):
4224 Use gst_bus_pop instead of gst_bus_poll when we just want it to
4225 immediately return us any available message with 0 timeout.
4227 2005-12-12 Michael Smith <msmith@fluendo.com>
4229 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4230 Don't unref factories after calling them.
4231 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4232 * plugins/elements/gsttypefindelement.c:
4233 (gst_type_find_element_chain):
4234 Free lists of factories after using them. Fixing typefinding memory
4237 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4239 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4240 (gst_plugin_feature_load):
4241 more meaningful debug output
4243 * tests/Makefile.am:
4244 * tests/old/examples/Makefile.am:
4245 make make distcheck happy again
4247 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4249 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4250 Catch the special case where we are operating chain-based,
4251 but the downstream peer pad has no chain function. Emit a
4252 custom error message in this case instead of letting the
4253 core generate one implying that this is some sort of core
4254 bug. It's not, it just means that whatever got plugged
4255 into the pipeline downstream when we announced the type
4256 can only operate pull-based, while our source can only
4257 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4258 Error string has not been marked for translation yet, as
4259 it probably needs some more work first.
4261 (gst_type_find_element_get_best_possibility):
4262 Add helper function to find the best of all available
4263 found possibilities that qualify given the min. threshold.
4265 (gst_type_find_element_handle_event):
4266 Fix the case where we get an EOS while still in TYPEFIND
4267 mode (we want to chose the best of all possible types,
4268 not just the first type that happens to be in our unsorted
4269 list of possible types).
4271 (gst_type_find_element_chain):
4272 Make sure we return GST_FLOW_ERROR when we errored out
4273 in stop_typefinding(); also, don't just find the best of
4274 all found type entries and then use the last examined
4275 type entry, but actually use the best entry.
4277 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4279 * tests/examples/typefind/typefind.c: (type_found):
4280 * tests/examples/xml/runxml.c: (xml_loaded):
4281 More gcc4 fixes and a mem leak fix.
4283 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4285 * tests/examples/xml/createxml.c: (object_saved):
4288 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4290 * tests/Makefile.am:
4291 enable the examples even more
4293 2005-12-12 Andy Wingo <wingo@pobox.com>
4295 * libs/gst/net/gstnettimeprovider.c
4296 (gst_net_time_provider_class_init, gst_net_time_provider_init)
4297 (gst_net_time_provider_set_property)
4298 (gst_net_time_provider_get_property):
4299 API addition: Export "active" as a GObject property.
4300 (gst_net_time_provider_thread): Only respond to time queries if
4301 the time provider is active.
4303 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4304 NetTimeProvider, preserving binary compat.
4306 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4308 * tests/examples/controller/audio-example.c: (main):
4309 * tests/examples/launch/Makefile.am:
4310 convert comments again
4312 2005-12-12 Wim Taymans <wim@fluendo.com>
4314 * libs/gst/base/gstpushsrc.c:
4317 2005-12-12 Wim Taymans <wim@fluendo.com>
4319 * docs/libs/gstreamer-libs-sections.txt:
4320 Added new symbol to docs.
4322 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4323 (gst_base_src_init), (gst_base_src_set_format),
4324 (gst_base_src_default_query), (gst_base_src_query),
4325 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4326 (gst_base_src_perform_seek), (gst_base_src_send_event),
4327 (gst_base_src_default_event), (gst_base_src_event_handler),
4328 (gst_base_src_set_property), (gst_base_src_get_property),
4329 (gst_base_src_wait), (gst_base_src_do_sync),
4330 (gst_base_src_update_length), (gst_base_src_get_range),
4331 (gst_base_src_check_get_range), (gst_base_src_loop),
4332 (gst_base_src_default_negotiate), (gst_base_src_start),
4333 (gst_base_src_activate_push), (gst_base_src_activate_pull),
4334 (gst_base_src_change_state):
4335 * libs/gst/base/gstbasesrc.h:
4336 Implement seeking to other formats than _BYTES.
4337 Implement more seeking methods correctly.
4339 Added query vmethod.
4340 Added do_seek vmethod to make life easier for subclasses
4342 API addition: gst_base_src_set_format()
4344 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4346 * tests/examples/Makefile.am:
4349 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4352 * docs/random/ensonic/media-device-daemon.txt:
4353 * tests/examples/controller/.cvsignore:
4354 * tests/examples/controller/Makefile.am:
4355 * tests/examples/controller/audio-example.c: (main):
4356 * tests/examples/helloworld/.cvsignore:
4357 * tests/examples/helloworld/Makefile.am:
4358 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4359 * tests/examples/launch/.cvsignore:
4360 * tests/examples/launch/Makefile.am:
4361 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4362 * tests/examples/metadata/.cvsignore:
4363 * tests/examples/metadata/Makefile.am:
4364 * tests/examples/metadata/read-metadata.c: (message_loop),
4365 (make_pipeline), (print_tag), (main):
4366 * tests/examples/queue/.cvsignore:
4367 * tests/examples/queue/Makefile.am:
4368 * tests/examples/queue/queue.c: (event_loop), (main):
4369 * tests/examples/typefind/.cvsignore:
4370 * tests/examples/typefind/Makefile.am:
4371 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4373 * tests/examples/xml/.cvsignore:
4374 * tests/examples/xml/Makefile.am:
4375 * tests/examples/xml/createxml.c: (object_saved), (main):
4376 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4377 * tests/old/examples/Makefile.am:
4378 * tests/old/examples/TODO:
4379 * tests/old/examples/controller/.cvsignore:
4380 * tests/old/examples/controller/Makefile.am:
4381 * tests/old/examples/controller/audio-example.c:
4382 * tests/old/examples/helloworld/.cvsignore:
4383 * tests/old/examples/helloworld/Makefile.am:
4384 * tests/old/examples/helloworld/helloworld.c:
4385 * tests/old/examples/launch/.cvsignore:
4386 * tests/old/examples/launch/Makefile.am:
4387 * tests/old/examples/launch/mp3parselaunch.c:
4388 * tests/old/examples/launch/mp3play:
4389 * tests/old/examples/manual/Makefile.am:
4390 * tests/old/examples/metadata/Makefile.am:
4391 * tests/old/examples/metadata/read-metadata.c:
4392 * tests/old/examples/queue/.cvsignore:
4393 * tests/old/examples/queue/Makefile.am:
4394 * tests/old/examples/queue/queue.c:
4395 * tests/old/examples/typefind/.cvsignore:
4396 * tests/old/examples/typefind/Makefile.am:
4397 * tests/old/examples/typefind/typefind.c:
4398 * tests/old/examples/xml/.cvsignore:
4399 * tests/old/examples/xml/Makefile.am:
4400 * tests/old/examples/xml/createxml.c:
4401 * tests/old/examples/xml/runxml.c:
4402 applied some simple fixing to some examples
4403 re-enabled the working examples
4405 2005-12-12 Wim Taymans <wim@fluendo.com>
4407 * gst/gstsegment.c: (gst_segment_init),
4408 (gst_segment_set_last_stop), (gst_segment_set_seek),
4409 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4410 (gst_segment_to_running_time):
4411 Added more documentation.
4412 Make sure the last_pos value is updated properly.
4413 Make sure to_stream_time and to_running_time don't
4414 operate on wrong values.
4416 * tests/check/gst/gstsegment.c: (GST_START_TEST):
4419 2005-12-12 Michael Smith <msmith@fluendo.com>
4421 * plugins/elements/gsttypefindelement.c: (free_entry),
4422 (gst_type_find_element_chain):
4423 Now that we're not leaking factories, make sure we keep references
4424 to them while we need them.
4426 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4428 * tests/check/gst/struct_i386.h:
4429 ifdef out the XML structs
4431 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4433 * gst/gstvalue.c: (gst_value_transform_double_fraction):
4434 floor is not needed, F is always positive; this obviates the
4435 need for adding -lm when building without libxml
4437 2005-12-12 Wim Taymans <wim@fluendo.com>
4439 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4440 Take current playback rate into account when reporting
4443 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4445 * docs/manual/mime-world.fig:
4446 Let's try this again, this time with a file that is
4447 actually in XFig format.
4449 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4451 * docs/manual/mime-world.fig:
4452 Add audioconvert element to diagram so that it
4453 matches the text and the code (fixes #319526).
4455 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4457 * docs/pwg/building-chainfn.xml:
4458 * docs/pwg/building-pads.xml:
4459 * docs/pwg/building-state.xml:
4460 * docs/pwg/other-source.xml:
4461 Update state change stuff for 0.10 (fixes #322969).
4463 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4465 * docs/manual/advanced-dataaccess.xml:
4466 * docs/manual/appendix-checklist.xml:
4467 * docs/manual/appendix-programs.xml:
4468 * docs/manual/basics-pads.xml:
4469 * docs/manual/highlevel-components.xml:
4470 * docs/manual/manual.xml:
4471 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4472 add converters in front of pipelines; remove curly
4473 brackets for threads stuff, they no longer exist; use
4474 GST_TYPE_FRACTION for framerates; update some pieces of
4475 code to 0.10, but there's plenty more to do.
4477 * docs/manual/appendix-porting.xml:
4478 Expand on asynchroneous state changes; s/0.9/0.10/;
4479 mention disappearance of gst_init_get_popt_table()
4482 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4484 * docs/faq/using.xml:
4485 Spider no longer exists, and neither does gst-launch-ext.
4486 Update examples to use decodebin and playbin and put
4487 converters in front of sinks (fixes #323726).
4489 2005-12-09 Michael Smith <msmith@fluendo.com>
4491 * plugins/elements/gsttypefindelement.c: (find_peek),
4492 (gst_type_find_element_chain):
4493 Fix leaking element factories in typefinding.
4494 Fix problem where we forgot about a probable type on non-seekable
4495 files, and thus later mis-typefound it.
4497 2005-12-09 Michael Smith <msmith@fluendo.com>
4499 * common/m4/gst-makecontext.m4:
4500 * common/m4/gst-mcsc.m4:
4502 * win32/common/config.h:
4503 * win32/common/config.h.in:
4504 Remove makecontext stuff; not used in 0.10 and causes problems on
4505 HPUX according to bug #322441
4507 2005-12-07 Wim Taymans <wim@fluendo.com>
4509 * tests/check/Makefile.am:
4510 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4512 * tests/check/libs/struct_i386.h:
4513 Added ABI check for libs
4515 2005-12-07 Wim Taymans <wim@fluendo.com>
4517 * tests/check/Makefile.am:
4518 And add the struct_i386.h to dist.
4520 2005-12-07 Wim Taymans <wim@fluendo.com>
4522 * tests/check/Makefile.am:
4523 * tests/check/gst/.cvsignore:
4524 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4526 * tests/check/gst/struct_i386.h:
4527 Added check for ABI compatibility.
4529 2005-12-07 Wim Taymans <wim@fluendo.com>
4531 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4532 (gst_fake_src_get_times), (gst_fake_src_create):
4533 Fix broken sync option, fixes #323259
4535 2005-12-07 Wim Taymans <wim@fluendo.com>
4540 * gst/gstcaps.c: (gst_caps_is_equal):
4541 Don't assert on NULL <--> X. Fixes #323260
4543 * gst/gstminiobject.c: (gst_mini_object_replace):
4544 If we're doing atomic operations, we might just as well use
4545 the proper way to get an atomic pointer.
4547 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4550 2005-12-07 Michael Smith <msmith@fluendo.com>
4552 * gst/parse/grammar.y:
4553 Remove handling of { } for threads.
4555 2005-12-06 David Schleef <ds@schleef.org>
4557 * libs/gst/base/gstbasetransform.c: speling fix.
4559 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
4561 * docs/libs/tmpl/gstdataprotocol.sgml:
4562 * docs/random/omega/testing/gstobject.c:
4566 * gst/gstelementfactory.c:
4569 * gst/gstghostpad.c:
4571 * gst/gstpadtemplate.c:
4572 * gst/gstregistryxml.c:
4574 * gst/gsttagsetter.c:
4575 * gst/gsttypefind.c:
4577 * libs/gst/base/gstbasesrc.c:
4578 * libs/gst/net/gstnetclientclock.c:
4579 * libs/gst/net/gstnettimeprovider.c:
4580 * plugins/elements/gstfakesrc.c:
4581 * plugins/elements/gstfdsrc.c:
4582 * plugins/elements/gstfilesrc.c:
4583 * plugins/elements/gstidentity.c:
4584 * plugins/elements/gstqueue.c:
4585 * plugins/elements/gsttypefindelement.c:
4586 * plugins/indexers/gstfileindex.c:
4587 * plugins/indexers/gstmemindex.c:
4588 * tests/check/gst/gsttag.c:
4589 * tests/old/examples/cutter/cutter.c:
4590 * tests/old/examples/mixer/mixer.c:
4591 * tests/old/examples/xml/runxml.c: (main):
4592 * tests/old/testsuite/caps/normalisation.c:
4593 * tests/old/testsuite/debug/global.c:
4594 * tests/old/testsuite/parse/parse1.c:
4595 * tools/gst-xmlinspect.c:
4596 * win32/common/dirent.c:
4599 === release 0.10.0 ===
4601 2005-12-05 <thomas (at) apestaart (dot) org>
4604 releasing 0.10.0, "Maroilles"
4606 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
4608 submitted by: Funda Wang <fundawang@linux.net.cn>
4612 added Chinese (Traditional) translation
4614 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
4616 * docs/gst/gstreamer-sections.txt:
4617 * docs/libs/tmpl/gstdataprotocol.sgml:
4618 * docs/random/thomasvs/TODO:
4623 2005-12-05 Andy Wingo <wingo@pobox.com>
4625 patch by: Wim Taymans <wim@fluendo.com>
4627 * libs/gst/base/gstbasetransform.c
4628 (gst_base_transform_prepare_output_buf)
4629 (gst_base_transform_buffer_alloc):
4630 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4631 alloc_buffer_and_set_caps.
4633 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4634 set_caps on the source pad.
4635 (gst_pad_alloc_buffer_and_set_caps): New function, does what
4636 alloc_buffer used to do. Fixes #322874.
4638 * docs/gst/gstreamer-sections.txt:
4639 * docs/design/part-negotiation.txt:
4640 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4643 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
4645 patch by: Sebastien Moutte
4648 * win32/common/config.h.in:
4649 * win32/vs6/libgstcontroller.dsp:
4652 2005-12-05 Wim Taymans <wim@fluendo.com>
4654 * gst/gstcaps.c: (gst_caps_is_equal):
4655 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4656 (gst_fake_src_create):
4657 Back out previous code changes, leave doc updates, file bugs
4660 2005-12-05 Wim Taymans <wim@fluendo.com>
4662 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4663 (gst_fake_src_get_times), (gst_fake_src_create):
4664 * plugins/elements/gstfakesrc.h:
4665 Fix broken sync code.
4667 2005-12-05 Wim Taymans <wim@fluendo.com>
4669 * gst/gstcaps.c: (gst_caps_is_equal):
4670 Comparing NULL against !NULL yields different caps, not a
4673 2005-12-05 Wim Taymans <wim@fluendo.com>
4675 * gst/gstpipeline.c:
4676 Fix small typo in docs.
4678 2005-12-05 Andy Wingo <wingo@pobox.com>
4680 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
4682 * gst/gst.c (init_post): remove hard-coded 0.9 location for
4683 registries/plugins with a MAJORMINOR one.
4684 (plugin_desc): Rename library from gstcoreleements to
4685 staticelements. Fixes #323222.
4687 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
4689 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4690 Change debug category to 'collectpads' from 'collect_pads'
4693 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
4695 patch by: Sebastien Moutte
4697 * libs/gst/controller/gstinterpolation.c:
4698 use convert function for uint64/double
4699 * win32/vs6/libgstcontroller.dsp:
4702 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
4704 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4705 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4707 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4708 add tests that seem to show that the guint64/gdouble conversions
4711 2005-12-02 Wim Taymans <wim@fluendo.com>
4713 * gst/gstregistry.c: (gst_registry_add_path):
4714 * gst/gstregistry.h:
4715 * gst/gstregistryxml.c:
4718 2005-12-02 Wim Taymans <wim@fluendo.com>
4720 * gst/gstutils.c: (gst_util_uint64_scale_int64),
4721 (gst_util_uint64_scale_int):
4724 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4727 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4730 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
4733 * win32/common/config.h:
4734 * win32/vs6/gstreamer.dsw:
4735 * win32/vs6/libgstcoreelements.dsp:
4736 * win32/vs6/libgstelements.dsp:
4737 renamed core elements plugin
4739 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
4741 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4743 do piece-wise major/minor comparison so 0.9 < 0.10
4744 also allow .exe extensions for tools
4746 2005-12-02 Michael Smith <msmith@fluendo.com>
4749 Escape a % to make gtkdoc happier; bug 322958.
4751 === release 0.9.7 ===
4753 2005-12-01 <thomas (at) apestaart (dot) org>
4756 releasing 0.9.7, "My Dog Has No Nose"
4758 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4760 * common/gst-xmlinspect.py:
4762 * docs/libs/tmpl/gstdataprotocol.sgml:
4763 * docs/random/release:
4782 * win32/common/config.h:
4783 * win32/common/config.h.in:
4784 * win32/vs6/gst_inspect.dsp:
4785 * win32/vs6/gst_launch.dsp:
4786 * win32/vs6/libgstbase.dsp:
4787 * win32/vs6/libgstelements.dsp:
4788 * win32/vs6/libgstreamer.dsp:
4789 * win32/vs7/GStreamer.vcproj:
4790 * win32/vs7/gst-inspect.vcproj:
4791 * win32/vs7/gst-launch.vcproj:
4792 * win32/vs7/libgstbase.vcproj:
4793 bump GST_MAJORMINOR to 0.10
4794 reset libtool version
4796 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4800 Added Bulgarian translation by (Alexander Shopov)
4802 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4804 * tests/check/gst/gstplugin.c:
4807 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4809 * common/gst-xmlinspect.py:
4810 * common/gtk-doc-plugins.mak:
4813 * docs/gst/Makefile.am:
4814 * docs/gst/gstreamer-docs.sgml:
4815 * docs/gst/gstreamer-sections.txt:
4816 * docs/gst/gstreamer.types:
4817 * docs/gst/gstreamer.types.in:
4818 * docs/plugins/Makefile.am:
4819 * docs/plugins/gstreamer-plugins-docs.sgml:
4820 * docs/plugins/gstreamer-plugins-sections.txt:
4821 * docs/plugins/gstreamer-plugins.types:
4822 * docs/plugins/inspect.stamp:
4823 * docs/plugins/inspect/plugin-coreelements.xml:
4824 * docs/plugins/inspect/plugin-coreindexers.xml:
4825 * docs/plugins/scanobj-build.stamp:
4826 * gstreamer.spec.in:
4827 * plugins/elements/Makefile.am:
4828 * plugins/elements/gstelements.c:
4829 * plugins/elements/gstfakesink.c:
4830 * plugins/elements/gstfakesrc.c:
4831 * plugins/elements/gstfilesink.c:
4832 * plugins/elements/gstfilesrc.c:
4833 * plugins/elements/gstqueue.c:
4834 * plugins/indexers/Makefile.am:
4835 * plugins/indexers/gstindexers.c:
4836 document core plugins in a separate document just like all the
4838 rename these plugins to something starting with core
4840 2005-12-01 Andy Wingo <wingo@pobox.com>
4842 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4843 padding here before, but it missed the commit.
4845 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4847 * libs/gst/controller/gstinterpolation.c:
4848 whitespace prices have crashed, we should feel free to use some now
4849 use gst_guint64_to_gdouble
4851 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4853 * libs/gst/controller/gstcontroller.c:
4854 * libs/gst/controller/gsthelper.c:
4855 * libs/gst/controller/gstinterpolation.c:
4856 * libs/gst/controller/lib.c:
4857 wrap config.h include
4859 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4861 * docs/gst/gstreamer-sections.txt:
4864 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4866 * plugins/elements/gstelements.c:
4867 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4868 (gst_fd_sink__class_init), (gst_fd_sink__init),
4869 (gst_fd_sink__chain), (gst_fd_sink__set_property),
4870 (gst_fd_sink__get_property):
4871 * plugins/elements/gstfdsink.h:
4872 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4873 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4874 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4875 (gst_fd_src_unlock), (gst_fd_src_set_property),
4876 (gst_fd_src_get_property), (gst_fd_src_create),
4877 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4878 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4879 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4880 (gst_fd_src_uri_handler_init):
4881 * plugins/elements/gstfdsrc.h:
4882 * plugins/elements/gstqueue.c: (gst_queue_get_type):
4885 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4887 * docs/gst/Makefile.am:
4888 * docs/gst/gstreamer.types.in:
4892 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4898 * gst/gstregistry.h:
4899 * tests/benchmarks/complexity.c:
4900 * tests/benchmarks/mass-elements.c:
4901 * tests/check/Makefile.am:
4902 * tools/Makefile.am:
4903 * tools/gst-inspect.c:
4904 * tools/gst-xmlinspect.c:
4905 various fixes to make
4906 --disable-nls --disable-registry --disable-loadsave
4907 --disable-parse --disable-gst-debug
4908 work and get the core .so down to 360444 bytes after stripping
4910 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4915 * docs/random/thomasvs/TODO:
4916 * tests/Makefile.am:
4920 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4922 * win32/GStreamer.vcproj:
4925 * win32/Makefile.inspect:
4926 * win32/Makefile.launch:
4927 * win32/Makefile.register:
4929 * win32/gst-inspect.vcproj:
4930 * win32/gst-launch.vcproj:
4931 * win32/gst-register.vcproj:
4932 * win32/gstelements.vcproj:
4933 * win32/gstgetbits.def:
4934 * win32/gstgetbits.vcproj:
4935 * win32/gstreamer-dbg.def:
4936 * win32/gstreamer.def:
4937 * win32/libgstbase.def:
4938 * win32/libgstbase.vcproj:
4939 * win32/link_oldruntime.c:
4944 move even more stuff, win32/ is nice and clean now
4946 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4948 * libs/gst/control/.cvsignore:
4953 * win32/gstbytestream.def:
4954 * win32/gstbytestream.vcproj:
4955 * win32/gstconfig.h:
4956 * win32/gstenumtypes.c:
4957 * win32/gstenumtypes.h:
4958 * win32/gstoptimalscheduler.vcproj:
4959 * win32/gstversion.h:
4961 * win32/testsuite/bins.vcproj:
4962 * win32/testsuite/bytestream.vcproj:
4963 * win32/testsuite/caps.vcproj:
4964 * win32/testsuite/cleanup.vcproj:
4965 * win32/testsuite/clock.vcproj:
4966 * win32/testsuite/debug.vcproj:
4967 * win32/testsuite/dlopen.vcproj:
4968 * win32/testsuite/dynparams.vcproj:
4969 * win32/testsuite/elements.vcproj:
4970 * win32/testsuite/ghostpads.vcproj:
4971 * win32/testsuite/indexers.vcproj:
4972 * win32/testsuite/negotiation.vcproj:
4973 * win32/testsuite/parse.vcproj:
4974 * win32/testsuite/plugin.vcproj:
4975 * win32/testsuite/refcounting.vcproj:
4976 * win32/testsuite/schedulers.vcproj:
4977 * win32/testsuite/states.vcproj:
4978 * win32/testsuite/tags.vcproj:
4979 * win32/testsuite/threads.vcproj:
4980 remove old win32 stuff that isn't maintained and should be
4983 2005-11-30 Andy Wingo <wingo@pobox.com>
4985 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4986 loading the gst.interfaces python module bork.
4988 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4989 available since GLib 2.2. Fixes #318031.
4991 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4995 * check/Makefile.am:
4996 * check/elements/.cvsignore:
4997 * check/elements/fakesrc.c:
4998 * check/elements/fdsrc.c:
4999 * check/elements/identity.c:
5000 * check/generic/.cvsignore:
5001 * check/generic/states.c:
5002 * check/gst-libs/.cvsignore:
5003 * check/gst-libs/controller.c:
5004 * check/gst-libs/gdp.c:
5005 * check/gst/.cvsignore:
5006 * check/gst/capslist.h:
5008 * check/gst/gstbin.c:
5009 * check/gst/gstbuffer.c:
5010 * check/gst/gstbus.c:
5011 * check/gst/gstcaps.c:
5012 * check/gst/gstelement.c:
5013 * check/gst/gstevent.c:
5014 * check/gst/gstghostpad.c:
5015 * check/gst/gstiterator.c:
5016 * check/gst/gstmessage.c:
5017 * check/gst/gstminiobject.c:
5018 * check/gst/gstobject.c:
5019 * check/gst/gstpad.c:
5020 * check/gst/gstpipeline.c:
5021 * check/gst/gstplugin.c:
5022 * check/gst/gstsegment.c:
5023 * check/gst/gststructure.c:
5024 * check/gst/gstsystemclock.c:
5025 * check/gst/gsttag.c:
5026 * check/gst/gstutils.c:
5027 * check/gst/gstvalue.c:
5028 * check/net/.cvsignore:
5029 * check/net/gstnetclientclock.c:
5030 * check/net/gstnettimeprovider.c:
5031 * check/pipelines/.cvsignore:
5032 * check/pipelines/cleanup.c:
5033 * check/pipelines/simple_launch_lines.c:
5034 * check/pipelines/stress.c:
5035 * check/states/.cvsignore:
5036 * check/states/sinks.c:
5038 * examples/Makefile.am:
5039 * examples/appreader/.cvsignore:
5040 * examples/appreader/Makefile.am:
5041 * examples/appreader/appreader.c:
5042 * examples/controller/.cvsignore:
5043 * examples/controller/Makefile.am:
5044 * examples/controller/audio-example.c:
5045 * examples/cutter/.cvsignore:
5046 * examples/cutter/Makefile.am:
5047 * examples/cutter/cutter.c:
5048 * examples/cutter/cutter.h:
5049 * examples/events/Makefile.am:
5050 * examples/events/seek.c:
5051 * examples/helloworld/.cvsignore:
5052 * examples/helloworld/Makefile.am:
5053 * examples/helloworld/helloworld.c:
5054 * examples/helloworld2/.cvsignore:
5055 * examples/helloworld2/Makefile.am:
5056 * examples/helloworld2/helloworld2.c:
5057 * examples/launch/.cvsignore:
5058 * examples/launch/Makefile.am:
5059 * examples/launch/mp3parselaunch.c:
5060 * examples/launch/mp3play:
5061 * examples/manual/.cvsignore:
5062 * examples/manual/Makefile.am:
5063 * examples/manual/extract.pl:
5064 * examples/metadata/Makefile.am:
5065 * examples/metadata/read-metadata.c:
5066 * examples/mixer/.cvsignore:
5067 * examples/mixer/Makefile.am:
5068 * examples/mixer/mixer.c:
5069 * examples/mixer/mixer.h:
5070 * examples/pingpong/.cvsignore:
5071 * examples/pingpong/Makefile.am:
5072 * examples/pingpong/pingpong.c:
5073 * examples/plugins/.cvsignore:
5074 * examples/plugins/Makefile.am:
5075 * examples/plugins/example.c:
5076 * examples/plugins/example.h:
5077 * examples/pwg/.cvsignore:
5078 * examples/pwg/Makefile.am:
5079 * examples/pwg/extract.pl:
5080 * examples/queue/.cvsignore:
5081 * examples/queue/Makefile.am:
5082 * examples/queue/queue.c:
5083 * examples/queue2/.cvsignore:
5084 * examples/queue2/Makefile.am:
5085 * examples/queue2/queue2.c:
5086 * examples/queue3/.cvsignore:
5087 * examples/queue3/Makefile.am:
5088 * examples/queue3/queue3.c:
5089 * examples/queue4/.cvsignore:
5090 * examples/queue4/Makefile.am:
5091 * examples/queue4/queue4.c:
5092 * examples/retag/.cvsignore:
5093 * examples/retag/Makefile.am:
5094 * examples/retag/retag.c:
5095 * examples/retag/transcode.c:
5096 * examples/thread/.cvsignore:
5097 * examples/thread/Makefile.am:
5098 * examples/thread/thread.c:
5099 * examples/typefind/.cvsignore:
5100 * examples/typefind/Makefile.am:
5101 * examples/typefind/typefind.c:
5102 * examples/xml/.cvsignore:
5103 * examples/xml/Makefile.am:
5104 * examples/xml/createxml.c:
5105 * examples/xml/runxml.c:
5106 * tests/Makefile.am:
5107 * tests/check/Makefile.am:
5108 * testsuite/.cvsignore:
5109 * testsuite/Makefile.am:
5111 * testsuite/caps/.cvsignore:
5112 * testsuite/caps/Makefile.am:
5113 * testsuite/caps/app_fixate.c:
5114 * testsuite/caps/audioscale.c:
5115 * testsuite/caps/caps.c:
5116 * testsuite/caps/caps.h:
5117 * testsuite/caps/caps_strings:
5118 * testsuite/caps/compatibility.c:
5119 * testsuite/caps/deserialize.c:
5120 * testsuite/caps/enumcaps.c:
5121 * testsuite/caps/eratosthenes.c:
5122 * testsuite/caps/filtercaps.c:
5123 * testsuite/caps/fixed.c:
5124 * testsuite/caps/fraction-convert.c:
5125 * testsuite/caps/fraction-multiply-and-zero.c:
5126 * testsuite/caps/intersect2.c:
5127 * testsuite/caps/intersection.c:
5128 * testsuite/caps/normalisation.c:
5129 * testsuite/caps/random.c:
5130 * testsuite/caps/renegotiate.c:
5131 * testsuite/caps/sets.c:
5132 * testsuite/caps/simplify.c:
5133 * testsuite/caps/string-conversions.c:
5134 * testsuite/caps/structure.c:
5135 * testsuite/caps/subtract.c:
5136 * testsuite/caps/union.c:
5137 * testsuite/debug/.cvsignore:
5138 * testsuite/debug/Makefile.am:
5139 * testsuite/debug/category.c:
5140 * testsuite/debug/commandline.c:
5141 * testsuite/debug/global.c:
5142 * testsuite/debug/output.c:
5143 * testsuite/debug/printf_extension.c:
5144 * testsuite/dlopen/.cvsignore:
5145 * testsuite/dlopen/Makefile.am:
5146 * testsuite/dlopen/dlopen_gst.c:
5147 * testsuite/dlopen/loadgst.c:
5148 * testsuite/elements/.cvsignore:
5149 * testsuite/elements/Makefile.am:
5150 * testsuite/elements/gst-inspect-check.in:
5151 * testsuite/elements/struct_i386.h:
5152 * testsuite/elements/struct_size.c:
5153 * testsuite/indexers/.cvsignore:
5154 * testsuite/indexers/Makefile.am:
5155 * testsuite/indexers/cache1.c:
5156 * testsuite/indexers/indexdump.c:
5157 * testsuite/parse/.cvsignore:
5158 * testsuite/parse/Makefile.am:
5159 * testsuite/parse/parse1.c:
5160 * testsuite/parse/parse2.c:
5161 * testsuite/plugin/.cvsignore:
5162 * testsuite/plugin/Makefile.am:
5163 * testsuite/plugin/README:
5164 * testsuite/plugin/dynamic.c:
5165 * testsuite/plugin/linked.c:
5166 * testsuite/plugin/loading.c:
5167 * testsuite/plugin/registry.c:
5168 * testsuite/plugin/static.c:
5169 * testsuite/plugin/static2.c:
5170 * testsuite/plugin/testplugin.c:
5171 * testsuite/plugin/testplugin2.c:
5172 * testsuite/plugin/testplugin2_s.c:
5173 * testsuite/plugin/testplugin_s.c:
5174 * testsuite/refcounting/.cvsignore:
5175 * testsuite/refcounting/Makefile.am:
5176 * testsuite/refcounting/bin.c:
5177 * testsuite/refcounting/element.c:
5178 * testsuite/refcounting/element_pad.c:
5179 * testsuite/refcounting/mainloop.c:
5180 * testsuite/refcounting/mem.c:
5181 * testsuite/refcounting/mem.h:
5182 * testsuite/refcounting/object.c:
5183 * testsuite/refcounting/pad.c:
5184 * testsuite/refcounting/sched.c:
5185 * testsuite/refcounting/thread.c:
5186 * testsuite/states/.cvsignore:
5187 * testsuite/states/Makefile.am:
5188 * testsuite/states/bin.c:
5189 * testsuite/states/locked.c:
5190 * testsuite/states/parent.c:
5191 * testsuite/threads/.cvsignore:
5192 * testsuite/threads/159566.c:
5193 * testsuite/threads/159852.c:
5194 * testsuite/threads/Makefile.am:
5195 * testsuite/threads/queue.c:
5196 * testsuite/threads/signals.c:
5197 * testsuite/threads/staticrec.c:
5198 * testsuite/threads/thread.c:
5199 * testsuite/threads/threadb.c:
5200 * testsuite/threads/threadc.c:
5201 * testsuite/threads/threadd.c:
5202 * testsuite/threads/threade.c:
5203 * testsuite/threads/threadf.c:
5204 * testsuite/threads/threadg.c:
5205 * testsuite/threads/threadh.c:
5206 * testsuite/threads/threadi.c:
5207 move all of these under tests
5209 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5212 * tests/Makefile.am:
5215 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5217 * docs/gst/gstreamer-sections.txt:
5218 * tests/sched/.cvsignore:
5219 * tests/sched/Makefile.am:
5220 * tests/sched/cases/(fs-fs).xml:
5221 * tests/sched/cases/(fs-i-fs).xml:
5222 * tests/sched/cases/(fs-i-i-fs).xml:
5223 * tests/sched/cases/(fs-i-q[i-fs]).xml:
5224 * tests/sched/dynamic-pipeline.c:
5225 * tests/sched/interrupt1.c:
5226 * tests/sched/interrupt2.c:
5227 * tests/sched/interrupt3.c:
5228 * tests/sched/runtestcases:
5229 * tests/sched/runxml.c:
5230 * tests/sched/sched-stress.c:
5231 * tests/sched/sort.c:
5232 * tests/sched/testcases:
5233 * tests/sched/testcases1.tc:
5234 * tests/seeking/.cvsignore:
5235 * tests/seeking/Makefile.am:
5236 * tests/seeking/seeking1.c:
5237 * tests/threadstate/.cvsignore:
5238 * tests/threadstate/Makefile.am:
5239 * tests/threadstate/test1.c:
5240 * tests/threadstate/test2.c:
5241 * tests/threadstate/threadstate1.c:
5242 * tests/threadstate/threadstate2.c:
5243 * tests/threadstate/threadstate3.c:
5244 * tests/threadstate/threadstate4.c:
5245 * tests/threadstate/threadstate5.c:
5246 remove obsolete tests
5248 * tests/bench-complexity.scm:
5249 * tests/bench-mass_elements.scm:
5250 * tests/complexity.c:
5251 * tests/complexity.gnuplot:
5252 * tests/instantiate/.cvsignore:
5253 * tests/instantiate/Makefile.am:
5254 * tests/instantiate/caps.c:
5255 * tests/mass_elements.c:
5256 * tests/network-clock-utils.scm:
5257 * tests/network-clock.scm:
5259 First pass at cleaning up tests/ dir before moving the rest
5260 Combined with CVS surgery
5262 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5265 queue has moved, update
5267 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5269 * docs/gst/gstreamer-sections.txt:
5270 remove double entries from the docs
5271 * gst/gst_private.h:
5272 * gst/gstinfo.c: (_gst_debug_init):
5273 remove the THREAD debug category
5277 * docs/gst/gstreamer.types:
5278 * plugins/elements/gstqueue.c: (gst_queue_get_type),
5279 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5280 completely move queue and fix up debugging categories
5282 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5284 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5285 make initialization portable, using LL is not
5287 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5289 * win32/common/gstconfig.h:
5292 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5294 * win32/common/libgstreamer.def:
5295 rename symbols; sort base section
5297 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5299 * gst/gstclock.c: (do_linear_regression):
5300 remove crack non-portable handrolled DEBUG macro
5302 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5304 * docs/random/release:
5306 * win32/common/gstenumtypes.c: (register_gst_object_flags),
5307 (gst_object_flags_get_type), (register_gst_bin_flags),
5308 (gst_bin_flags_get_type), (register_gst_buffer_flag),
5309 (gst_buffer_flag_get_type), (register_gst_bus_flags),
5310 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5311 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5312 (gst_caps_flags_get_type), (register_gst_clock_return),
5313 (gst_clock_return_get_type), (register_gst_clock_entry_type),
5314 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5315 (gst_clock_flags_get_type), (register_gst_state),
5316 (gst_state_get_type), (register_gst_state_change_return),
5317 (gst_state_change_return_get_type), (register_gst_state_change),
5318 (gst_state_change_get_type), (register_gst_element_flags),
5319 (gst_element_flags_get_type), (register_gst_core_error),
5320 (gst_core_error_get_type), (register_gst_library_error),
5321 (gst_library_error_get_type), (register_gst_resource_error),
5322 (gst_resource_error_get_type), (register_gst_stream_error),
5323 (gst_stream_error_get_type), (register_gst_event_type_flags),
5324 (gst_event_type_flags_get_type), (register_gst_event_type),
5325 (gst_event_type_get_type), (register_gst_seek_type),
5326 (gst_seek_type_get_type), (register_gst_seek_flags),
5327 (gst_seek_flags_get_type), (register_gst_format),
5328 (gst_format_get_type), (register_gst_index_certainty),
5329 (gst_index_certainty_get_type), (register_gst_index_entry_type),
5330 (gst_index_entry_type_get_type),
5331 (register_gst_index_lookup_method),
5332 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5333 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5334 (gst_index_resolver_method_get_type), (register_gst_index_flags),
5335 (gst_index_flags_get_type), (register_gst_debug_level),
5336 (gst_debug_level_get_type), (register_gst_debug_color_flags),
5337 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5338 (gst_iterator_result_get_type), (register_gst_iterator_item),
5339 (gst_iterator_item_get_type), (register_gst_message_type),
5340 (gst_message_type_get_type), (register_gst_mini_object_flags),
5341 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5342 (gst_pad_link_return_get_type), (register_gst_flow_return),
5343 (gst_flow_return_get_type), (register_gst_activate_mode),
5344 (gst_activate_mode_get_type), (register_gst_pad_direction),
5345 (gst_pad_direction_get_type), (register_gst_pad_flags),
5346 (gst_pad_flags_get_type), (register_gst_pad_presence),
5347 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5348 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5349 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5350 (gst_plugin_error_get_type), (register_gst_plugin_flags),
5351 (gst_plugin_flags_get_type), (register_gst_rank),
5352 (gst_rank_get_type), (register_gst_query_type),
5353 (gst_query_type_get_type), (register_gst_tag_merge_mode),
5354 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5355 (gst_tag_flag_get_type), (register_gst_task_state),
5356 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5357 (gst_alloc_trace_flags_get_type),
5358 (register_gst_type_find_probability),
5359 (gst_type_find_probability_get_type), (register_gst_uri_type),
5360 (gst_uri_type_get_type), (register_gst_parse_error),
5361 (gst_parse_error_get_type):
5362 * win32/common/gstenumtypes.h:
5363 * win32/common/gstversion.h:
5364 update visual studio generated files
5366 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5368 * win32/vs6/libgstbase.dsp:
5369 * win32/vs6/libgstelements.dsp:
5370 update project files for new locations
5372 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5377 reinstate and update
5382 * docs/random/LICENSE:
5385 2005-11-30 Edward Hervey <edward@fluendo.com>
5387 * gst/gsttypefind.c: (gst_type_find_register):
5388 * gst/gsttypefind.h:
5389 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5390 (gst_type_find_factory_dispose):
5391 * gst/gsttypefindfactory.h:
5392 Fix memory leak in GstTypeFindFactory.
5394 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5397 * plugins/elements/Makefile.am:
5398 * plugins/elements/gstelements.c:
5399 * plugins/elements/gstqueue.c:
5400 move queue from core to the elements plugin
5402 2005-11-29 Andy Wingo <wingo@pobox.com>
5404 * libs/gst/base/gstbasetransform.h:
5405 * libs/gst/base/gstbasesrc.h:
5406 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5408 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5409 of pointers by which to pad very extensible base classes (like the
5410 ones in libs/gst/base).
5412 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5414 * docs/gst/gstreamer-docs.sgml:
5415 * docs/gst/gstreamer-sections.txt:
5416 * docs/libs/gstreamer-libs-docs.sgml:
5417 * docs/libs/gstreamer-libs-sections.txt:
5418 moving documentation from core to lib
5420 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5422 * check/Makefile.am:
5424 * docs/gst/Makefile.am:
5426 * gst/base/.cvsignore:
5427 * gst/base/Makefile.am:
5429 * gst/base/gstadapter.c:
5430 * gst/base/gstadapter.h:
5431 * gst/base/gstbasesink.c:
5432 * gst/base/gstbasesink.h:
5433 * gst/base/gstbasesrc.c:
5434 * gst/base/gstbasesrc.h:
5435 * gst/base/gstbasetransform.c:
5436 * gst/base/gstbasetransform.h:
5437 * gst/base/gstcollectpads.c:
5438 * gst/base/gstcollectpads.h:
5439 * gst/base/gstpushsrc.c:
5440 * gst/base/gstpushsrc.h:
5441 * gst/base/gsttypefindhelper.c:
5442 * gst/base/gsttypefindhelper.h:
5443 * gst/check/Makefile.am:
5444 * gst/check/gstcheck.c:
5445 * gst/check/gstcheck.h:
5446 * gst/net/Makefile.am:
5448 * gst/net/gstnetclientclock.c:
5449 * gst/net/gstnetclientclock.h:
5450 * gst/net/gstnettimepacket.c:
5451 * gst/net/gstnettimepacket.h:
5452 * gst/net/gstnettimeprovider.c:
5453 * gst/net/gstnettimeprovider.h:
5454 * libs/gst/Makefile.am:
5455 * libs/gst/base/Makefile.am:
5456 * libs/gst/base/gstbasetransform.c:
5457 * libs/gst/check/Makefile.am:
5458 * plugins/elements/Makefile.am:
5460 CVS surgery + support to move base, check, and net out of gst
5463 2005-11-29 Andy Wingo <wingo@pobox.com>
5465 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5467 * gst/gststructure.h (struct _GstStructure): Only one pointer of
5470 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5472 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5474 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5476 * gst/gstobject.h: (struct _GstObject): Only one pointer of
5477 padding; reduces object size by about 30%. We don't expect
5478 anything else to go into gstobject.
5480 * gst/gstminiobject.h (struct _GstMiniObject)
5481 (struct _GstMiniObjectClass): Only one pointer of padding; the
5482 payload is only a pointer and two ints anyway. For the class there
5483 are only two methods as well.
5485 * gst/gstelement.h (struct _GstElementClass): Removed
5486 the state_changed signal callback, it is not used.
5488 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5490 * docs/gst/gstreamer.types:
5491 fix includes, though they are a little dinky
5493 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5495 * check/Makefile.am:
5496 look in the right place for elements, a lot more chance of
5499 remove indexers and elements subdirs
5500 * plugins/Makefile.am:
5501 make indexers conditional
5503 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5507 * plugins/elements/Makefile.am:
5508 * plugins/elements/gstcapsfilter.c:
5509 * plugins/elements/gstfilesink.c:
5510 * plugins/elements/gstfilesrc.c:
5511 * plugins/elements/gstidentity.c:
5512 * plugins/indexers/Makefile.am:
5513 do CVS surgery and related build fixery to move elements
5514 and indexers in a new gstreamer/plugins directory, out of the
5517 2005-11-29 Andy Wingo <wingo@pobox.com>
5519 * check/Makefile.am:
5520 * pkgconfig/gstreamer-net-uninstalled.pc.in:
5521 * pkgconfig/gstreamer-net.pc.in:
5522 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5525 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5527 * tools/Makefile.am:
5528 * tools/gst-complete.1.in:
5529 * tools/gst-complete.c:
5530 * tools/gst-compprep.1.in:
5531 * tools/gst-compprep.c:
5532 removing -compprep and -complete
5534 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5536 * gst/gstevent.c: (gst_event_new_new_segment),
5537 (gst_event_parse_new_segment):
5539 fix #320529 - clean up new_segment API and structure.
5540 Let's hope everyone was using the methods, and not the structure.
5542 2005-11-29 Edward Hervey <edward@fluendo.com>
5544 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5545 (gst_base_sink_event), (gst_base_sink_do_sync),
5546 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5547 Properly handle non GST_FORMAT_TIME segment
5548 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5549 Properly handle non GST_FORMAT_TIME segment
5551 This function is valid if the accumulator is 0 and the format
5552 is different from the requested format.
5554 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
5556 * docs/gst/gstreamer-sections.txt:
5557 Add gst_query_new_seeking and gst_query_parse_seeking to the
5560 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
5562 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5563 Treat a pad alloc with new caps the same as if we were not
5564 negotiated, in order to allow a changing upstream output
5565 to produce a new format of data.
5567 2005-11-29 Edward Hervey <edward@fluendo.com>
5569 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5570 (gst_base_transform_event), (gst_base_transform_eventfunc):
5571 The event virtual method is now properly implemented, with a default
5573 Sub classes should call the parent_class event method. They should
5574 return FALSE if they had a problem handling the given event, or don't
5575 want GstBaseTransform to send that even downstream
5576 * gst/elements/gstidentity.c: (gst_identity_class_init),
5577 (gst_identity_init), (gst_identity_event),
5578 (gst_identity_transform_ip), (gst_identity_set_property),
5579 (gst_identity_get_property):
5580 * gst/elements/gstidentity.h:
5581 Added the single-segment boolean property.
5582 If set to TRUE, it will output a single segment of data, starting from
5583 0, will eat up all incoming newsegment, and modify the timestamp of the
5586 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
5588 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5589 Don't ref NULL target pad (#322751). Improve docs.
5591 2005-11-29 Michael Smith <msmith@fluendo.com>
5593 * gst/gstregistryxml.c: (load_plugin):
5594 Don't crash if we failed to load a feature from a plugin.
5596 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5598 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5600 use more check API and less GLib API
5602 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5605 don't run checks if we don't have check
5607 remove the registry when running make torture
5608 * docs/gst/gstreamer-sections.txt:
5609 remove second multiply
5610 * gst/gstqueue.c: (gst_queue_loop):
5611 fix a compile warning when disabling debug
5613 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
5616 Hey! Let's print the pad name if the pointer != NULL instead
5617 of when it == NULL :-)
5619 2005-11-28 Wim Taymans <wim@fluendo.com>
5621 * check/gst/gstutils.c: (GST_START_TEST):
5622 Updated check, add some scaling accuracy checking code.
5624 * gst/gstutils.c: (gst_util_div128_64),
5625 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5626 (gst_util_uint64_scale_int):
5627 Fix 6 times faster division code. Optimize for common
5628 1/1 and less common X/1 cases.
5630 2005-11-28 Wim Taymans <wim@fluendo.com>
5632 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5635 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5636 (do_linear_regression), (gst_clock_add_observation):
5638 Release lock when the clock cannot be slaved.
5639 Catch the case where the regression returned an invalid denominator.
5641 * gst/gstutils.c: (gst_util_div128_64_iterate),
5642 (gst_util_div128_64), (gst_util_uint64_scale_int64),
5643 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5644 Add protentially more performant non-iterative 128/64 divide function
5645 that unfortunatly does not work yet.
5646 Shortcut the trivial 0/X = 0 case.
5647 Remove the warnings on overflow.
5649 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5651 * gst/gstplugin.c: (gst_plugin_register_func):
5652 everything causing a plugin not to load should be at least a WARNING
5654 2005-11-28 Stefan Kost <ensonic@users.sf.net>
5656 * docs/random/ensonic/dparams.txt:
5657 some TODOs for the next dev cycle
5658 * libs/gst/controller/gstcontroller.c:
5659 (gst_controlled_property_set_interpolation_mode),
5660 (gst_controlled_property_new):
5661 * libs/gst/controller/gstcontroller.h:
5662 use base type to assign acccessor functions
5664 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
5666 * check/Makefile.am:
5667 Oops, that should have been top_srcdir
5669 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
5671 * check/Makefile.am:
5672 * check/elements/fdsrc.c: (GST_START_TEST):
5673 Use a cmdline define to specify the location of a file to use for
5674 testing, to avoid breaking distcheck.
5676 2005-11-28 Andy Wingo <wingo@pobox.com>
5678 * gst/gstpad.c (fixate_value): Use array functions for arrays.
5680 2005-11-28 Edward Hervey <edward@fluendo.com>
5682 * tools/gst-launch.c: (main):
5683 Clarify the output strings, makes it easier to translate.
5686 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5689 don't try and build net if we don't even have <sys/socket.h>
5691 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
5693 * check/Makefile.am:
5694 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5695 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5696 Add tests for fdsrc seekability
5698 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5699 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5700 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5701 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5702 * gst/elements/gstfdsrc.h:
5703 fdsrc should not be a 'live' source.
5704 Implement seeking on seekable fd's.
5706 * gst/gstquery.c: (gst_query_new_seeking),
5707 (gst_query_parse_seeking):
5709 Implement SEEKING query functions:
5710 *_new_seeking and *_parse_seeking
5712 2005-11-27 Stefan Kost <ensonic@users.sf.net>
5714 * gst/gstelement.c: (gst_element_dispose):
5717 * gst/gstiterator.c:
5718 * gst/gststructure.c:
5721 * libs/gst/controller/gstcontroller.c:
5722 (gst_controlled_property_set_interpolation_mode):
5723 * libs/gst/controller/gstcontroller.h:
5724 * libs/gst/controller/gstinterpolation.c:
5725 (interpolate_none_get_enum_value_array):
5726 support controlling enums
5728 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
5731 Improve documentation for gst_value_union().
5734 Change return value for union, intersect and subtract functions
5735 from gint to gboolean.
5737 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
5739 * gst/gstvalue.c: (gst_value_serialize_any_list),
5740 (gst_value_transform_any_list_string),
5741 (gst_value_deserialize_list), (gst_value_deserialize_array),
5742 (gst_value_set_int_range), (gst_value_deserialize_int_range),
5743 (gst_value_set_double_range), (gst_value_deserialize_double_range),
5744 (gst_value_set_fraction_range_full),
5745 (gst_value_deserialize_fraction_range),
5746 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5747 (gst_value_deserialize_boolean),
5748 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5749 (gst_value_serialize_float), (gst_value_deserialize_float),
5750 (gst_string_wrap), (gst_value_deserialize_string),
5751 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5752 (gst_value_union_int_range_int_range),
5753 (gst_value_intersect_int_range_int_range),
5754 (gst_value_intersect_double_range_double_range),
5755 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5756 (gst_value_subtract_int_range_int_range),
5757 (gst_value_subtract_double_double_range),
5758 (gst_value_subtract_double_range_double_range),
5759 (gst_value_deserialize_fraction):
5761 Use gint, gdouble and gchar in our API instead of int, double and
5762 char (and make usage in gstvalue.c more consistent).
5764 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
5766 * check/Makefile.am:
5767 * libs/gst/controller/Makefile.am:
5768 * libs/gst/dataprotocol/Makefile.am:
5769 fix up Makefile.am and remove GST_ENABLE_NEW
5771 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
5775 * gst/base/Makefile.am:
5776 * gst/check/Makefile.am:
5777 * gst/elements/Makefile.am:
5778 * gst/net/Makefile.am:
5779 update LDFLAGS use some more
5781 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
5783 * common/m4/gst-doc.m4:
5786 2005-11-26 Edward Hervey <edward@fluendo.com>
5788 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5789 This shouldn't issue a g_warning since it returns NULL if it
5790 couldn't find the plugin, and all functions using this behave
5791 properly on a NULL return. Switching to a GST_WARNING.
5793 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
5795 * gst/gstbin.c: (gst_bin_handle_message_func):
5796 Don't leak clock messages.
5798 2005-11-25 Wim Taymans <wim@fluendo.com>
5800 * gst/gstutils.c: (gst_util_uint64_scale_int64),
5801 (gst_util_uint64_scale_int):
5802 Optimisations, remove unneeded vars.
5804 2005-11-25 Wim Taymans <wim@fluendo.com>
5806 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5807 Added more checks for the high precision uint64 cases.
5809 * gst/gstutils.c: (gst_util_uint64_scale_int64),
5810 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5811 Implement high precision (guint64 * guint64) / guint64.
5813 2005-11-24 Wim Taymans <wim@fluendo.com>
5815 * gst/base/gstbasesrc.c: (gst_base_src_query):
5816 Fix wrong percentage query.
5818 * gst/gstutils.c: (gst_util_uint64_scale),
5819 (gst_util_uint64_scale_int):
5820 Add some more common cases that can be handled
5821 efficiently to _scale.
5823 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
5825 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5826 (gst_mini_object_suite):
5827 don't use check calls from threads; check probably isn't
5828 threadsafe and using a lock to make it threadsafe would
5829 defeat the purpose of this check
5830 * gst/check/gstcheck.c:
5831 * gst/check/gstcheck.h:
5832 use GST_DEBUG some more
5834 2005-11-24 Wim Taymans <wim@fluendo.com>
5836 * gst/gstutils.c: (gst_util_uint64_scale),
5837 (gst_util_uint64_scale_int):
5838 Chain trivial case to _scale_int.
5840 2005-11-24 Wim Taymans <wim@fluendo.com>
5842 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5843 Added test for scaling.
5848 * gst/gstutils.c: (gst_util_uint64_scale_int):
5849 Implemented high precision scaling code.
5851 2005-11-24 Stefan Kost <ensonic@users.sf.net>
5854 do not crash on pad==NULL
5856 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
5858 Patch by: Stefan Kost
5860 * common/gtk-doc.mak:
5861 * docs/gst/Makefile.am:
5862 * docs/libs/Makefile.am:
5863 Fix distcheck issues for the libraries docs build
5866 2005-11-24 Michael Smith <msmith@fluendo.com>
5868 * docs/manual/basics-helloworld.xml:
5869 Fix bug #315027: memory leak in example code in docs.
5871 2005-11-24 Michael Smith <msmith@fluendo.com>
5873 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5874 Unlock the PREROLL_LOCK in a failure case.
5876 2005-11-24 Wim Taymans <wim@fluendo.com>
5878 * docs/gst/gstreamer-sections.txt:
5879 * gst/base/gstadapter.h:
5880 * gst/base/gstbasesink.h:
5881 * gst/base/gstbasesrc.h:
5882 * gst/base/gstbasetransform.h:
5883 * gst/base/gstpushsrc.h:
5884 * gst/elements/gstfakesink.h:
5885 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5886 * gst/elements/gstfakesrc.h:
5887 * gst/elements/gstfilesink.h:
5888 * gst/elements/gstfilesrc.h:
5891 * gst/gstbuffer.c: (_gst_buffer_copy):
5894 * gst/gstchildproxy.c:
5897 * gst/gstelementfactory.c:
5898 * gst/gstelementfactory.h:
5900 * gst/gstghostpad.h:
5902 * gst/gstinterface.h:
5903 * gst/gstminiobject.c:
5904 * gst/gstminiobject.h:
5907 * gst/gstpadtemplate.h:
5908 * gst/gstpipeline.h:
5909 * gst/gstpluginfeature.h:
5914 * gst/gsttagsetter.c:
5915 * gst/gsttagsetter.h:
5918 * gst/gsttypefind.h:
5921 * gst/net/gstnetclientclock.c:
5922 * gst/net/gstnetclientclock.h:
5923 * gst/net/gstnettimepacket.c:
5924 * gst/net/gstnettimeprovider.c:
5925 * gst/net/gstnettimeprovider.h:
5928 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
5930 * configure.ac: back to HEAD
5932 === release 0.9.6 ===
5934 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
5937 releasing 0.9.6, "Always On Time"
5939 2005-11-23 Wim Taymans <wim@fluendo.com>
5941 * docs/gst/gstreamer-sections.txt:
5942 * gst/glib-compat.c:
5943 * gst/gsttagsetter.c:
5945 * gst/net/gstnetclientclock.c:
5946 * gst/net/gstnettimepacket.h:
5949 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
5951 * docs/faq/using.xml:
5952 * docs/libs/tmpl/gstcontrol.sgml:
5953 * docs/manual/advanced-dparams.xml:
5954 * docs/manual/appendix-checklist.xml:
5955 * docs/manual/basics-elements.xml:
5956 * docs/pwg/other-source.xml:
5957 * docs/random/moving-plugins:
5959 * tools/gst-launch.1.in:
5960 remove mentions of sinesrc
5962 2005-11-23 Michael Smith <msmith@fluendo.com>
5964 * docs/gst/gstreamer-sections.txt:
5965 Update for new API and API changes.
5967 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5969 Documentation typo fix.
5970 * gst/net/gstnettimepacket.c:
5971 Documentation fixes for arguments.
5973 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
5975 * gst/gststructure.c: (gst_structure_get_fraction),
5976 (gst_structure_parse_value),
5977 (gst_structure_fixate_field_nearest_fraction):
5978 * gst/gststructure.h:
5979 * gst/gstutils.c: (gst_util_uint64_scale_int):
5981 * scripts/update-funcnames:
5983 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5984 Make gst_structure_fixate_field_nearest_fraction take a numerator
5985 and denominator argument instead of a GValue
5986 add gst_structure_get_fraction helper function.
5988 2005-11-23 Wim Taymans <wim@fluendo.com>
5990 * docs/design/part-TODO.txt:
5993 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5994 * gst/net/gstnetclientclock.h:
5995 Use parent fields for timeout and window_size.
5997 2005-11-23 Andy Wingo <wingo@pobox.com>
5999 * check/net/gstnetclientclock.c (test_functioning): Adjust to
6000 rate_num/rate_denom change.
6002 * gst/net/gstnetclientclock.c
6003 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6004 OBJECT_LOCK. Don't call add_observation with the lock.
6006 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6008 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6010 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6011 deal with rate as a fraction whose numerator and denominator are
6012 GstClockTime values.
6013 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6014 master; the other fields are protected by the SLAVE_LOCK.
6015 (do_linear_regression): Note that this must be called with the
6017 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6018 OBJECT_LOCK. Call set_calibration instead of touching the
6020 (gst_clock_set_property, gst_clock_get_property): Protect
6021 master/slave parameters with the SLAVE_LOCK.
6023 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6024 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6025 note that all of the instance variables that add_observation and
6026 the set_master functions use are protected by that lock and not
6028 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6030 * gst/gstclock.c (gst_clock_add_observation): No longer requires
6031 the caller to take the object lock.
6033 2005-11-23 Wim Taymans <wim@fluendo.com>
6035 * gst/gsterror.c: (_gst_core_errors_init):
6037 Add error for clock stuff.
6039 * gst/gstpipeline.c: (gst_pipeline_change_state),
6040 (gst_pipeline_set_clock):
6041 Post clock error when clock cannot be used in a pipeline.
6043 2005-11-23 Stefan Kost <ensonic@users.sf.net>
6045 * docs/gst/gstreamer-sections.txt:
6046 make two symbols from gstinfo private for the docs
6047 * gst/base/gstcollectpads.h:
6049 fix doc typos, update docs
6051 2005-11-22 Wim Taymans <wim@fluendo.com>
6053 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6054 (gst_base_sink_wait), (gst_base_sink_do_sync),
6055 (gst_base_sink_handle_event):
6056 * gst/base/gstbasesink.h:
6057 No need to store the clock, the parent element class already
6060 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6061 Updates for clock_set returning a gboolean
6063 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6064 (gst_clock_id_wait_async), (gst_clock_class_init),
6065 (gst_clock_init), (gst_clock_finalize),
6066 (gst_clock_get_internal_time), (gst_clock_get_time),
6067 (gst_clock_slave_callback), (gst_clock_set_master),
6068 (gst_clock_get_master), (do_linear_regression),
6069 (gst_clock_add_observation), (gst_clock_set_property),
6070 (gst_clock_get_property):
6072 Implement master/slave. When setting a clock as a slave, a
6073 periodic timeout is scheduled to sample master and slave times.
6074 Then the slave clock is recalibrated to match offset and rate
6075 of the master clock.
6076 Update logging a bit.
6077 Add flag so that a clock can state that is cannot be slaved to
6080 * gst/gstelement.c: (gst_element_set_clock):
6082 The set clock returns a gboolean for when an element cannot
6083 deal with the selected clock in the pipeline.
6085 * gst/gstpipeline.c: (gst_pipeline_change_state),
6086 (gst_pipeline_set_clock):
6087 * gst/gstpipeline.h:
6088 Handle the case where the selected clock cannot be set on
6091 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6092 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6093 (gst_net_client_clock_set_property),
6094 (gst_net_client_clock_get_property),
6095 (gst_net_client_clock_observe_times):
6096 * gst/net/gstnetclientclock.h:
6097 Use regression code in GstClock parent, remove duplicated
6100 2005-11-22 Michael Smith <msmith@fluendo.com>
6102 * gst/gstutils.c: (gst_util_clock_time_scale):
6104 * docs/gst/gstreamer-sections.txt:
6105 Rename method to have extra underscore.
6107 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
6109 * gst/elements/Makefile.am:
6110 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6111 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6112 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6113 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6114 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6115 * gst/elements/gstfakesrc.h:
6116 * gst/gstqueue.c: (queue_leaky_get_type):
6117 correctly fix GEnumValues so that nick is the short lowercase
6119 * tools/gst-inspect.c: (print_element_properties_info):
6120 also show the nick, since it's useful to use from parse_launch
6124 2005-11-22 Michael Smith <msmith@fluendo.com>
6126 * gst/gstutils.c: (gst_util_clocktime_scale):
6128 * docs/gst/gstreamer-sections.txt:
6129 Add util method for scaling a clocktime by a fraction. Useful
6130 implementation is left as an exercise for the reader.
6132 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6134 * gst/gstvalue.c: (gst_value_collect_fraction_range):
6135 If needed, allocate storage in the destination value during
6138 2005-11-22 Edward Hervey <edward@fluendo.com>
6140 * docs/gst/gstreamer-sections.txt:
6145 * gst/gstutils.c: (gst_util_set_object_arg):
6146 * tools/gst-compprep.c: (main):
6147 * tools/gst-inspect.c: (print_element_properties_info):
6148 Removed GstURI, closes bug #321061
6150 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6152 * check/gst/gststructure.c: (GST_START_TEST):
6153 * gst/gststructure.c: (gst_structure_parse_value):
6154 Oops, broke automatic string type parsing.
6155 Add a test to catch it in future.
6157 2005-11-22 Andy Wingo <wingo@pobox.com>
6159 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
6160 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6161 Actually rename the function implementations. Grr.
6163 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6165 * check/gst/capslist.h:
6167 * check/gst/gststructure.c: (GST_START_TEST),
6168 (gst_structure_suite):
6169 Test automatic value type detection in gst_structure_from_string.
6170 * gst/gststructure.c: (gst_structure_parse_value):
6171 Add fraction as a type we try and guess automatically in
6172 caps/structure strings.
6174 2005-11-22 Andy Wingo <wingo@pobox.com>
6176 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6178 * gst/gsttagsetter.h:
6179 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6180 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6181 (gst_tag_setter_add_tag_valist)
6182 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6183 _add_values, _add_valist, and _add_valist_values. Since this is an
6184 interface the function suffixes should be more explicit so
6185 language binding don't end up with element.add_valist ->
6186 gst_tag_setter_add_valist, for example. Fixes #322069.
6188 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6190 * check/gst/gstcaps.c: (GST_START_TEST):
6191 Extend caps string tests to check that a caps to string
6192 conversion is reversible and produces the same caps.
6194 * gst/gststructure.c: (gst_structure_value_get_generic_type):
6195 Output "fraction" as the generic type fraction range, so caps
6196 serialisation and deserialisation works.
6197 * check/gst/capslist.h:
6198 * gst/gstvalue.c: (gst_value_deserialize_fraction):
6199 Support 'MIN' and 'MAX' for deserialising fractions.
6201 2005-11-22 Andy Wingo <wingo@pobox.com>
6203 * gst/gstevent.h (gst_event_new_new_segment)
6204 (gst_event_parse_new_segment, gst_event_new_buffer_size)
6205 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6206 Renamed from *_newsegment, *_buffersize, *_notarget.
6208 * scripts/update-funcnames: New script, performs the changes
6211 2005-11-22 Wim Taymans <wim@fluendo.com>
6213 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6214 Make sure the GstFlowReturn is returned.
6216 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6217 (gst_bus_add_signal_watch):
6219 add gst_bus_add_signal_watch_full.
6221 * gst/gstplugin.c: (gst_plugin_load_file):
6222 Small style cleanup.
6224 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6226 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6227 Block the fakesrc srcpad when we send an event, to avoid
6228 contention on the stream_lock causing random test failures.
6230 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6232 * check/gst/gstvalue.c: (GST_START_TEST):
6233 * gst/gstvalue.c: (gst_value_fraction_subtract):
6236 2005-11-22 Stefan Kost <ensonic@users.sf.net>
6239 include "gstchildproxy.h"
6240 * gst/gstchildproxy.h:
6241 * libs/gst/controller/gstcontroller.h:
6242 use G_GNUC_NULL_TERMINATED
6244 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6246 * check/gst/capslist.h:
6247 * check/gst/gstcaps.c: (GST_START_TEST):
6248 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6249 * gst/gststructure.c: (gst_structure_parse_range),
6250 (gst_structure_fixate_field_nearest_fraction):
6251 * gst/gststructure.h:
6252 * gst/gstvalue.c: (gst_value_init_fraction_range),
6253 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6254 (gst_value_collect_fraction_range),
6255 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6256 (gst_value_set_fraction_range_full),
6257 (gst_value_get_fraction_range_min),
6258 (gst_value_get_fraction_range_max),
6259 (gst_value_serialize_fraction_range),
6260 (gst_value_transform_fraction_range_string),
6261 (gst_value_compare_fraction_range),
6262 (gst_value_deserialize_fraction_range),
6263 (gst_value_intersect_fraction_fraction_range),
6264 (gst_value_intersect_fraction_range_fraction_range),
6265 (gst_value_subtract_fraction_fraction_range),
6266 (gst_value_subtract_fraction_range_fraction),
6267 (gst_value_subtract_fraction_range_fraction_range),
6268 (gst_value_collect_fraction), (gst_value_fraction_multiply),
6269 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6270 (gst_value_transform_string_fraction), (_gst_value_initialize):
6272 Implement fraction ranges and extend GstFraction to support
6273 arithmetic subtraction, as well as deserialization from integer
6274 strings such as "100"
6275 Add a testsuite as for int and double range set operations
6277 2005-11-21 Andy Wingo <wingo@pobox.com>
6281 * gst/gststructure.h: Add glib-compat.h.
6283 2005-11-21 Wim Taymans <wim@fluendo.com>
6285 * gst/gstbin.c: (gst_bin_change_state_func):
6288 2005-11-21 Wim Taymans <wim@fluendo.com>
6291 And add a nice define too.
6293 2005-11-21 Wim Taymans <wim@fluendo.com>
6295 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6296 (gst_segment_new), (gst_segment_free), (gst_segment_init),
6297 (gst_segment_set_duration), (gst_segment_set_last_stop),
6298 (gst_segment_set_seek), (gst_segment_set_newsegment),
6299 (gst_segment_to_stream_time), (gst_segment_to_running_time),
6302 Make binding friendly.
6304 2005-11-21 Andy Wingo <wingo@pobox.com>
6306 * gst/gsttagsetter.h:
6308 * gst/gststructure.h:
6310 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6313 * gst/gsterror.c (_gst_core_errors_init):
6314 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6317 * gst/Makefile.am (gst_headers): Add glib-compat.h.
6318 (noinst_HEADERS): noinst the -private.
6320 2005-11-21 Michael Smith <msmith@fluendo.com>
6323 * gst/gstregistry.h:
6324 Remove unimplemented declarations for which we can see no sensible
6327 2005-11-21 Andy Wingo <wingo@pobox.com>
6329 * gst/gst.h: Include glib-compat.h.
6331 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6333 * gst/glib-compat.c: Include the public and the private header.
6335 * gst/glib-compat-private.h: Copied here from glib-compat.h.
6339 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6341 * check/gst/gstevent.c (create_custom_events): Check that
6342 FLUSH_STOP is serialized.
6344 * check/elements/identity.c (event_func):
6345 * check/elements/fakesrc.c (event_func): No stream lock, the core
6348 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6349 stream lock taking, yay.
6351 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6352 ensure that core takes the stream lock.
6354 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6357 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6358 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6359 it already. For the flush start we do take it though so we get the
6360 right preroll state change messages.
6362 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6363 the stream lock here, the core does it for us.
6365 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6366 GST_STREAM_GET_LOCK.
6367 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
6368 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
6369 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6370 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6371 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
6372 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6374 * gst/gstpad.c: Update for stream lock name change.
6376 * gst/base/gstbasesink.c: Update for preroll lock name change.
6378 2005-11-21 Wim Taymans <wim@fluendo.com>
6380 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6381 (gst_clock_get_master):
6383 * gst/gstsystemclock.c: (gst_system_clock_init):
6384 Convert Clock flags to object flags.
6385 Added methods to manage master/slave clocks.
6387 2005-11-21 Wim Taymans <wim@fluendo.com>
6389 * check/gst/gstsegment.c: (GST_START_TEST):
6390 * docs/design/part-TODO.txt:
6391 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6392 (gst_base_sink_event), (gst_base_sink_do_sync),
6393 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6394 (gst_base_sink_query), (gst_base_sink_change_state):
6395 * gst/base/gstbasesink.h:
6396 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6397 (gst_base_src_default_newsegment),
6398 (gst_base_src_configure_segment), (gst_base_src_do_seek),
6399 (gst_base_src_get_range), (gst_base_src_loop),
6400 (gst_base_src_change_state):
6401 * gst/base/gstbasesrc.h:
6402 * gst/base/gstbasetransform.c:
6403 (gst_base_transform_prepare_output_buf),
6404 (gst_base_transform_event), (gst_base_transform_change_state):
6405 * gst/base/gstbasetransform.h:
6406 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6407 (gst_collect_pads_event):
6408 * gst/base/gstcollectpads.h:
6409 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6410 (gst_fake_src_create):
6411 * gst/elements/gstfakesrc.h:
6412 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6413 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6414 (gst_segment_set_last_stop), (gst_segment_set_seek),
6415 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6416 (gst_segment_to_running_time), (gst_segment_clip):
6418 More segment updates, replace code in plugins with segment
6421 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6423 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6424 Don't ignore sscanf results
6426 2005-11-21 Andy Wingo <wingo@pobox.com>
6428 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6431 * *.c: Ran scripts/update-macros. Oh yes.
6433 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6434 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6437 * scripts/update-macros: New script. Run it on your files to
6438 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6441 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6443 * docs/gst/Makefile.am:
6444 * docs/gst/gstreamer-docs.sgml:
6445 * docs/gst/gstreamer-sections.txt:
6446 * docs/gst/gstreamer.types:
6448 more docs fixes, add new api to the docs
6450 2005-11-21 Andy Wingo <wingo@pobox.com>
6452 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6453 state_broadcast call.
6455 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6457 2005-11-21 Julien MOUTTE <julien@moutte.net>
6459 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6460 function calls for arrays.
6462 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6464 * docs/random/ensonic/media-device-daemon.txt:
6465 wild idea, can this be done?
6466 * docs/gst/gstreamer-sections.txt:
6471 * gst/gstpluginfeature.c:
6475 doc fixes and additions
6477 2005-11-21 Andy Wingo <wingo@pobox.com>
6479 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
6480 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
6481 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
6482 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6483 private to the basesrc implementation.
6485 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6486 behalf of event function if necessary. It should no longer be
6487 necessary to take the stream lock in pad's event functions. Fixes
6490 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6491 * docs/gst/gstreamer-sections.txt:
6492 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6493 (gst_structure_fixate_field_nearest_double),
6494 (gst_structure_fixate_field_boolean):
6495 * gst/gststructure.h:
6496 * win32/common/libgstreamer.def:
6497 * win32/gstreamer.def:
6499 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6502 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6504 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6505 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6506 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6507 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6508 (gst_fdsrc_uri_handler_init):
6509 * gst/elements/gstfdsrc.h:
6510 Port fd:// URI handler from 0.8 to fdsrc
6512 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6514 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6515 (gst_value_serialize_fourcc):
6517 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6518 consistent with our other format defines (#320324).
6520 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6522 * gst/gstvalue.c: (gst_value_is_fixed):
6523 Revert previous commit. Value lists are by definition
6524 not fixed, as they are a list of possible values.
6526 2005-11-21 Andy Wingo <wingo@pobox.com>
6528 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6529 during the stable series if we need it. Fixes #319178.
6531 * gst/gstevent.c (gst_event_new_filler): Removed.
6533 * check/gst/gstevent.c: Update comment about filler events.
6535 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6537 * gst/gstvalue.c: (gst_value_is_fixed):
6538 Should handle both value arrays and value lists.
6540 2005-11-21 Andy Wingo <wingo@pobox.com>
6542 patch by: Alessandro Dessina <alessandro nnva org>
6544 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6545 functions to access arrays. Fixes #321962.
6547 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6549 * docs/gst/gstreamer.types:
6550 gst_collectpads_get_type => gst_collect_pads_get_type.
6552 * gst/base/gstbasetransform.c:
6553 Remove unused SIGNAL_HANDOFF enum.
6555 2005-11-21 Andy Wingo <wingo@pobox.com>
6557 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6558 the event type (upstream, downstream, serialized). Renamed
6559 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6560 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6561 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6563 * gst/gstevent.c: Update for new CUSTOM event names.
6565 * check/gst/gstevent.c: Update check for new CUSTOM event names.
6568 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6571 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6573 * docs/gst/gstreamer-sections.txt:
6574 * win32/common/libgstbase.def:
6575 * win32/libgstbase.def:
6576 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6577 (gst_collect_pads_class_init), (gst_collect_pads_init),
6578 (gst_collect_pads_finalize), (gst_collect_pads_new),
6579 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6580 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6581 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6582 (gst_collect_pads_start), (gst_collect_pads_stop),
6583 (gst_collect_pads_peek), (gst_collect_pads_pop),
6584 (gst_collect_pads_available), (gst_collect_pads_read),
6585 (gst_collect_pads_flush), (gst_collect_pads_event),
6586 (gst_collect_pads_chain):
6587 * gst/base/gstcollectpads.h:
6588 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6589 unimplemented functions as unimplemented. Add padding to
6590 GstCollectData. (#320766, #320423)
6592 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6595 Improve docs for DURATION message (usage of duration parameter)
6598 2005-11-20 Wim Taymans <wim@fluendo.com>
6600 * check/Makefile.am:
6601 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6605 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6606 (gst_segment_set_seek), (gst_segment_set_newsegment),
6607 (gst_segment_to_stream_time), (gst_segment_to_running_time),
6610 Added segment helper structure and methods. Not fully implemented
6612 Added segment check.
6614 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
6616 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6617 Add a deserialisation test for fractions
6618 * examples/metadata/read-metadata.c: (message_loop),
6619 (make_pipeline), (main):
6620 Fix up metadata reading sample.
6621 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6623 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6624 Don't try and fixate empty caps
6625 * gst/gst_private.h:
6626 Wrap in G_BEGIN_DECLS/G_END_DECLS
6627 * gst/gstvalue.c: (gst_value_collect_fraction),
6628 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6629 (gst_value_transform_string_fraction),
6630 (gst_value_compare_fraction):
6631 Add some extra guards to ensure that we don't end up
6632 with an invalid denominator of 0 in a gstfraction and
6633 that fractions always get reduced.
6635 2005-11-20 Wim Taymans <wim@fluendo.com>
6637 * docs/gst/gstreamer-sections.txt:
6648 2005-11-20 Wim Taymans <wim@fluendo.com>
6650 * docs/design/part-TODO.txt:
6652 Make a proper enum of the flag.
6654 2005-11-19 Wim Taymans <wim@fluendo.com>
6656 * docs/design/part-TODO.txt:
6657 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6658 (gst_format_to_quark), (gst_format_register):
6660 * gst/gstquery.c: (_gst_query_initialize),
6661 (gst_query_type_get_name), (gst_query_type_to_quark),
6662 (gst_query_type_register):
6664 Add type to quark and type to string conversions.
6666 2005-11-19 Andy Wingo <wingo@pobox.com>
6668 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6671 2005-11-19 Wim Taymans <wim@fluendo.com>
6673 * docs/design/part-TODO.txt:
6674 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6675 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6676 (gst_bin_handle_message_func):
6678 Make message handling overridable.
6680 2005-11-19 Andy Wingo <wingo@pobox.com>
6682 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6685 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6687 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6688 is a GstClockTime. Fixes #321710.
6690 * gst/gstclock.h (GstClock): Remove offset property. Add
6691 internal_calibration and external_calibration. Fix padding. Pad
6692 also by GstClockTime so we don't run into problems.
6694 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6695 (gst_clock_get_rate_offset): Remove.
6696 (gst_clock_set_time_adjust): Remove. Fixes #321712.
6699 * gst/gstutils.c (g_static_rec_cond_wait)
6700 (g_static_rec_cond_timed_wait): Removed, no longer needed.
6702 * gst/gstbin.c: Remove terrible continue_state prototype.
6704 * gst/gstelement.h (gst_element_continue_state): Make public.
6707 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6708 by continue_state. Fixes #319389.
6710 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6711 Really fixes #168438. However I don't see anywhere where the
6712 filter function is called... stupid GStreamer...
6714 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6715 don't have a dispose function, so it won't get called when the
6716 object is unreffed, but oh well!
6718 * gst/gstindex.c (gst_index_set_filter_full): New API function,
6719 allows a destroy function to be set so user_data can be freed.
6721 (gst_index_set_filter): Call gst_index_set_filter_full.
6723 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6725 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6726 string should produce an error, given the lack of a way to
6727 represent NULL strings. Fixes #165650.
6730 * gst/gstvalue.c (gst_value_array_append_value)
6731 (gst_value_array_prepend_value, gst_value_array_get_size)
6732 (gst_value_array_get_value): New API, copied from
6733 gst_value_list_*, only operates on arrays.
6734 (gst_value_list_append_value, gst_value_list_prepend_value)
6735 (gst_value_list_concat, gst_value_list_get_size)
6736 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6738 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6739 init_list, because it works on both.
6740 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6741 (gst_value_copy_list_or_array): Renamed from copy_list.
6742 (gst_value_free_list_or_array): Renamed from free_list.
6743 (gst_value_collect_list_or_array): Renamed from collect_list.
6744 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6745 (gst_value_list_or_array_peek_pointer): Renamed from
6747 (_gst_value_array_value_table, _gst_value_list_value_table):
6748 Update value table functions.
6749 (gst_value_compare_list_or_array): Renamed from compare_list.
6751 * gsttaglist.h: Whoops, foreach function returns void. Also fix
6755 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6756 GstTagList*. Fixes #143472.
6758 * gst/gststructure.h: Clarify what the foreach/map functions can
6759 or can't do to their arguments.
6761 2005-11-18 Wim Taymans <wim@fluendo.com>
6763 * gst/gstclock.c: (gst_clock_set_calibration),
6764 (gst_clock_get_calibration):
6766 Calibration can be set with internal time equal to current
6769 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
6775 2005-11-18 Andy Wingo <wingo@pobox.com>
6778 * pkgconfig/gstreamer-net.pc.in:
6779 * pkgconfig/gstreamer-net-uninstalled.pc.in:
6780 * pkgconfig/Makefile.am: Add net pkgconfig files.
6782 2005-11-18 Stefan Kost <ensonic@users.sf.net>
6785 * gst/gstghostpad.c:
6791 2005-11-18 Andy Wingo <wingo@pobox.com>
6793 * gst/net/gstnetclientclock.c: Turn off debugging.
6795 * check/net/gstnetclientclock.c (test_functioning): Assert that the
6796 times connverge somewhat. Can't make a real test.
6798 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6799 integer arithmetic. Return the minimum of the domain, which can be
6800 set as "internal" for gst_clock_set_calibration.
6801 (gst_net_client_clock_observe_times): Call _set_calibration.
6802 (gst_net_client_clock_new): Call _set_calibration instead of
6805 * check/net/gstnetclientclock.c (test_functioning): Use the right
6809 * gst/gstclock.c (gst_clock_get_calibration)
6810 (gst_clock_set_calibration): New functions, obsolete the ones I
6811 added yesterday. Doh. Precision issues mean we have to extrapolate
6812 from a point in the more recent past than 1970.
6813 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6815 (gst_clock_adjust_unlocked): Use the right calibration data.
6817 2005-11-18 Edward Hervey <edward@fluendo.com>
6819 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6820 Also reset the ->current_* values in READY->PAUSED
6822 2005-11-18 Andy Wingo <wingo@pobox.com>
6824 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6825 Whoops, check the right fd. Also add some debugging.
6826 (gst_net_client_clock_observe_times): Adjust for int64 offset.
6827 (do_linear_regression): Add a crapload of debugging. Subtract off
6828 the minimum values from the input series to discard unneeded bits.
6829 Use only int arithmetic. There is still double arithmetic when
6830 calculating the intercept that needs fixing. Return boolean to
6831 indicate success; FALSE would mean the domain or range is too
6832 great. Still needs fixes.
6834 2005-11-18 Wim Taymans <wim@fluendo.com>
6836 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6837 For the current position in stream time, we need to subtract
6840 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6841 Release lock before calling the callback function of async
6844 2005-11-18 Andy Wingo <wingo@pobox.com>
6846 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6847 Port goes all the way to MAXUINT16.
6849 * gst/net/gstnettimeprovider.c: Make the port range the same as
6850 for the kernel: 0 assigns, otherwise ports are less than
6853 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6856 * check/net/gstnetclientclock.c (test_functioning): Add the start
6859 2005-11-18 Wim Taymans <wim@fluendo.com>
6861 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6862 (gst_bin_remove_func), (bin_bus_handler):
6864 Removing a clock provider from a bin, triggers a clock lost message
6865 so that a new clock will be selected.
6866 Adding a clock to a bin triggers a clock provider message.
6867 Make sure we reselect a clock when we received a clock lost message.
6868 Keep a reference to the element that provided the clock.
6870 2005-11-18 Andy Wingo <wingo@pobox.com>
6872 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6873 the clock initially so it produces values around the base time.
6874 (gst_net_client_clock_class_init): Typo fix.
6875 (gst_net_client_clock_thread): Add note on when the socket gets
6878 2005-11-17 Wim Taymans <wim@fluendo.com>
6880 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6881 Free remote and local time arrays.
6883 2005-11-17 Wim Taymans <wim@fluendo.com>
6885 * gst/net/gstnetclientclock.c: (do_linear_regression),
6886 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6887 Fix compilation, uninitialized vars and a forgotten continue.
6889 2005-11-17 Andy Wingo <wingo@pobox.com>
6891 * check/Makefile.am (check_PROGRAMS):
6892 * check/net/gstnetclientclock.c: Add a most minimal test for the
6893 net client clock. More to come later.
6896 * gst/net/Makefile.am: Add netclientclock.
6898 * gst/net/gstnetclientclock.h:
6899 * gst/net/gstnetclientclock.c: New files, implement an untested
6900 GstClock that takes its time from a network time provider.
6901 Implements the algorithm in network-clock.scm.
6903 * tests/network-clock.scm (*window-size*): Rename from
6905 * tests/network-clock.scm (network-time):
6906 * tests/network-clock-utils.scm (q-push): Update callers.
6908 2005-11-17 Wim Taymans <wim@fluendo.com>
6910 * gst/gstbin.c: (gst_bin_provide_clock_func),
6911 (gst_bin_sort_iterator_new):
6912 And unref the child too..
6914 2005-11-17 Wim Taymans <wim@fluendo.com>
6916 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6917 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6918 Refactor the sort iterator so it can be used while holding the
6920 Make clock selection select a clock closest to the source.
6922 2005-11-17 Michael Smith <msmith@fluendo.com>
6924 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6925 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6927 Anonymous structs are a gcc (and some other compilers) extension, so
6928 don't use them. Since this is only for ABI-compatibility, and our
6929 API/ABI freeze is over in a few days, this whole thing will only
6930 last a few days, so don't bother trying to think up a meaningful
6931 name for the struct.
6933 2005-11-17 Andy Wingo <wingo@pobox.com>
6935 * gst/gstclock.h (GstClock): Add rate and offset properties,
6936 preserving ABI stability. Add rate/offset accessors. Will file bug
6937 for the freeze break.
6939 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6940 and offset, trying to keep precision and avoiding
6942 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6943 functions. Make gst_clock_set_time_adjust obsolete.
6944 (gst_clock_set_time_adjust): Note that this function is obsolete.
6947 * gst/base/gstbasetransform.h: Make the ABI-stability hack
6948 greppable by using GST_PADDING-1+1.
6950 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
6952 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6954 * gst/gstmessage.c: (gst_message_parse_clock_lost):
6955 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6957 * gst/gstpadtemplate.h:
6958 * gst/gstpluginfeature.h:
6959 Don't use c++ style comments in headers (#321638).
6961 2005-11-16 Andy Wingo <wingo@pobox.com>
6963 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6966 * check/net/gstnettimeprovider.c: Check to see that the time
6967 provider actually provides times. Works, yo!
6969 2005-11-16 Wim Taymans <wim@fluendo.com>
6971 * check/Makefile.am:
6974 * check/elements/fakesrc.c: (GST_START_TEST):
6975 Set element to NULL before disposing it.
6977 2005-11-16 Andy Wingo <wingo@pobox.com>
6979 * gst/net/Makefile.am:
6981 * gst/net/gstnettimeprovider.c:
6982 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6983 provider, include it from gstnet.h, and add it to the build.
6985 * gst/net/gstnettimepacket.h:
6986 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6987 sending and receiving.
6989 2005-11-16 Wim Taymans <wim@fluendo.com>
6991 * check/Makefile.am:
6992 Enable valgrind check.
6994 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6995 (gst_fake_src_alloc_buffer):
6998 2005-11-16 Wim Taymans <wim@fluendo.com>
7000 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7001 Call parent finalize too.
7003 2005-11-16 Wim Taymans <wim@fluendo.com>
7005 * check/Makefile.am:
7006 Enable valgrind check that should work fine now.
7008 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7009 * gst/gstqueue.c: (gst_queue_init):
7010 Fix memleaks in pad allocation.
7012 2005-11-16 Andy Wingo <wingo@pobox.com>
7014 * gst/net/Makefile.am:
7015 * gst/net/gstnet.h: New part of core to hold network elements and
7016 objects. Put in core because it exposes API that applications want
7017 to use. The library is named libgstnet-tempname right now because
7018 of the existing libgstnet in gst-plugins-base. Solution is
7019 probably to rename the one in plugins-base; will file a bug for
7022 * gst/net/gstnettimeprovider.c:
7023 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7024 get_time call over the network.
7027 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7029 * check/Makefile.am:
7030 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7031 get additions shortly.
7033 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7035 * gst/gstpad.c: (gst_pad_new_from_static_template):
7037 add gst_pad_new_from_static_template functions
7038 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7039 (gst_check_setup_sink_pad):
7040 * gst/elements/gsttee.c: (gst_tee_init):
7043 2005-11-16 Wim Taymans <wim@fluendo.com>
7045 * gst/gstpad.c: (gst_pad_pause_task):
7046 Removed warning, it's not really an error either.
7048 2005-11-16 Wim Taymans <wim@fluendo.com>
7050 * gst/base/gstbasetransform.c:
7051 (gst_base_transform_prepare_output_buf),
7052 (gst_base_transform_event):
7053 Check if the caps are NULL, this can happen if the element
7054 is shutting down and the pad caps are set to NULL.
7056 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7058 * gst/elements/gsttee.c: (gst_tee_init):
7059 fix pad template leak in tee
7061 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7063 * gst/glib-compat.c: (g_value_dup_gst_object):
7064 * gst/glib-compat.h:
7065 * gst/gstpad.c: (gst_pad_set_property):
7066 use gst_object_ref when setting the pad template; this will
7067 trigger the pad template leaks on GLib 2.6 and the slaves
7069 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7071 * gst/glib-compat.c: (gst_flags_get_first_value):
7072 * gst/glib-compat.h:
7073 * gst/gstregistryxml.c:
7074 remove functions copied from GLib 2.6
7076 2005-11-16 Michael Smith <msmith@fluendo.com>
7079 Don't link against VALGRIND_LIBS. That was always the wrong thing to
7080 do, but only breaks with newer valgrind versions. We're not a
7081 valgrind tool, we have no link-time dependencies on libcoregrind.
7083 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7085 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7090 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7092 * gst/base/gstbasesrc.c: (gst_base_src_init):
7093 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7094 * gst/gstqueue.c: (gst_queue_init):
7095 * gst/gstregistryxml.c: (load_feature):
7096 Revert all these unrefs, they don't even pass make check !
7098 2005-11-15 Johan Dahlin <johan@gnome.org>
7100 * gst/base/gstbasesrc.c: (gst_base_src_init):
7101 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7102 * gst/gstqueue.c: (gst_queue_init):
7103 Free pad templates, fixes a couple of leaks.
7105 2005-11-15 Daniel Fischer <dan at f3c dot com>
7107 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7109 * gst/gstpad.c: (gst_pad_get_property):
7110 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7111 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7114 2005-11-15 Wim Taymans <wim@fluendo.com>
7119 2005-11-15 Andy Wingo <wingo@pobox.com>
7121 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7123 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7124 using GST_CLOCK_TIME_NONE to disable base time management.
7125 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7126 time if it was NONE before.
7127 (gst_pipeline_change_state): Only munge the base time if
7128 stream_time != GST_CLOCK_TIME_NONE.
7130 * check/gst/gstpipeline.c (test_base_time): Punt around the
7131 problem of the probe not being called, because that's not the
7132 issue I'm looking at. Add a check that setting stream_time to NONE
7133 disables base time management.
7135 2005-11-15 Wim Taymans <wim@fluendo.com>
7137 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7138 segment_stop == -1 at startup.
7140 * gst/base/gstbasetransform.c: (gst_base_transform_event),
7141 (gst_base_transform_change_state):
7142 Init segment values at start.
7144 2005-11-15 Wim Taymans <wim@fluendo.com>
7146 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7147 0 segment values are 0 in any format.
7149 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7150 * gst/base/gstbasetransform.h:
7151 Parse newsegment correctly in basetransform
7153 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7154 Sync to clock using updated segment values.
7156 2005-11-15 Andy Wingo <wingo@pobox.com>
7158 * check/gst/gstpipeline.c (test_base_time): Add check that the
7159 base time and stream time are reset correctly.
7161 2005-11-15 Wim Taymans <wim@fluendo.com>
7163 * docs/design/part-TODO.txt:
7164 Some more TODO items.
7166 2005-11-15 Andy Wingo <wingo@pobox.com>
7168 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7169 error if the user selected "no clock" as the clocking method.
7171 * check/gst/gstpipeline.c (test_base_time): New test for buffer
7172 timestamps with live capture.
7174 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7175 is 0 but we are a live source, timestamp the buffers using the
7178 2005-11-14 Stefan Kost <ensonic@users.sf.net>
7180 * docs/gst/gstreamer-sections.txt:
7182 * gst/gstghostpad.c:
7187 2005-11-14 Wim Taymans <wim@fluendo.com>
7190 add suppressions from Wim's Debian machine
7192 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
7195 add suppressions from Andy's AMD64 Ubuntu machine
7197 2005-11-14 Andy Wingo <wingo@pobox.com>
7199 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7200 STATE_LOCK not necessary. Fixes #311489.
7202 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7205 * gst/gstindex.c (gst_index_add_object): Note in the docs that
7206 this function is not implemented.
7208 2005-11-14 Julien MOUTTE <julien@moutte.net>
7210 * gst/base/gstbasetransform.c:
7211 (gst_base_transform_prepare_output_buf):
7212 Ref the source pad caps while we need them.
7215 2005-11-11 Wim Taymans <wim@fluendo.com>
7217 * docs/gst/gstreamer-sections.txt:
7218 Added some docs for GstCollectData.
7220 * gst/base/gstadapter.c:
7221 Some small code example fix.
7223 * gst/base/gstcollectpads.c:
7224 * gst/base/gstcollectpads.h:
7227 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7229 * configure.ac: back to HEAD
7231 === release 0.9.5 ===
7233 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7236 releasing 0.9.5, "Bike Lunch Day"
7238 2005-11-11 Wim Taymans <wim@fluendo.com>
7240 * gst/gstbuffer.c: (_gst_buffer_copy):
7243 * gst/gstcaps.c: (gst_caps_is_equal):
7245 Make _is_equal fast in the trivial cases.
7247 * gst/gstminiobject.c:
7248 * gst/gstminiobject.h:
7249 More docs. Spifify .h file.
7254 2005-11-11 Wim Taymans <wim@fluendo.com>
7256 * gst/base/gstbasetransform.c:
7257 (gst_base_transform_prepare_output_buf),
7258 (gst_base_transform_handle_buffer):
7260 If we're processing a buffer and need to allocate an output
7261 buffer, we cannot accept a format change. If we did get a
7262 format change, we have to alloc a buffer ourselves of the
7265 2005-11-11 Wim Taymans <wim@fluendo.com>
7267 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7268 While checking the flag for reentrancy in the gstcaps function
7269 is nice to detect recursive invocations, it also makes it
7270 impossible to call getcaps from multiple threads, which must be
7271 possible. So, checking for recursive calls has to go.
7273 2005-11-11 Michael Smith <msmith@fluendo.com>
7275 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7276 Don't sync on buffers that fall partially outside our current
7277 segment. Prevents an assertion failure/abort playing some files.
7279 2005-11-10 Andy Wingo <wingo@pobox.com>
7281 * check/gst/gstbin.c (test_message_state_changed_children): Style
7284 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7285 gst_bus_poll with the signal watch. Ensures that poll and a signal
7286 watch see the same messages.
7288 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7289 a poll and a watch at the same time get the same messages.
7291 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7293 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7294 * gst/gstcaps.c: (gst_caps_intersect):
7295 Don't call gst_caps_do_simplify - it doesn't respect order of caps
7296 and it's not needed.
7298 2005-11-10 Wim Taymans <wim@fluendo.com>
7300 * docs/design/part-TODO.txt:
7303 2005-11-10 Wim Taymans <wim@fluendo.com>
7305 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7306 * gst/base/gstbasesrc.c: (gst_base_src_wait),
7307 (gst_base_src_do_sync), (gst_base_src_get_range):
7308 Implement clock sync in base class.
7310 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7312 patch by: Tim-Philipp Müller <tim at centricular dot net>
7314 * gst/gststructure.c: (gst_structure_parse_field),
7315 (gst_structure_from_string):
7316 Forward-port a 0.8 patch to handle escaped spaces in structure string,
7317 so that gst_parse_launch() can deal with spaces in filtered link
7318 caps (fixes #164479)
7319 * check/gst/capslist.h:
7320 * check/gst/gststructure.c: (GST_START_TEST):
7321 add unit tests for this change
7323 2005-11-10 Wim Taymans <wim@fluendo.com>
7325 * docs/gst/gstreamer-sections.txt:
7328 Fix docs, move some STATE macros to private.
7330 2005-11-10 Wim Taymans <wim@fluendo.com>
7332 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7333 Added check for bug #317341
7337 Some more spiffifying.
7339 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7340 Call peer linkfunction if we are a source pad. Totally fixes
7344 Update docs, source pads should call the peer linkfunction
7345 so they can atomically perform the pad link.
7347 2005-11-09 Wim Taymans <wim@fluendo.com>
7351 Uber-spiffy-spiffify some more.
7353 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
7355 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7356 * gst/elements/gstfilesink.c: (gst_file_sink_init):
7357 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7358 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7359 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7360 * gst/gstpad.c: (gst_pad_init):
7361 Use GST_DEBUG_FUNCPTR() more extensively.
7363 2005-11-09 Wim Taymans <wim@fluendo.com>
7365 * gst/gstobject.c: (gst_object_class_init):
7367 Documentation fixes.
7369 2005-11-09 Edward Hervey <edward@fluendo.com>
7371 * gst/gsttypefindfactory.c:
7374 2005-11-09 Edward Hervey <edward@fluendo.com>
7376 * gst/base/gsttypefindhelper.c:
7377 * gst/gsttypefind.c:
7378 * gst/gsttypefind.h:
7381 2005-11-09 Wim Taymans <wim@fluendo.com>
7383 * gst/gstiterator.c:
7390 2005-11-09 Wim Taymans <wim@fluendo.com>
7396 2005-11-09 Wim Taymans <wim@fluendo.com>
7398 * docs/gst/gstreamer-sections.txt:
7399 Moved the message async delivery private lock and cond
7400 to the private section.
7406 2005-11-09 Edward Hervey <edward@fluendo.com>
7408 * docs/gst/gstreamer-sections.txt:
7411 Document GstURIHandler
7413 2005-11-09 Wim Taymans <wim@fluendo.com>
7415 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7416 (gst_iterator_find_custom):
7417 * gst/gstiterator.h:
7420 2005-11-09 Wim Taymans <wim@fluendo.com>
7423 Document another field.
7425 * gst/gststructure.c:
7426 * gst/gststructure.h:
7429 2005-11-09 Wim Taymans <wim@fluendo.com>
7434 2005-11-09 Wim Taymans <wim@fluendo.com>
7436 * docs/gst/gstreamer-sections.txt:
7437 Added some new macros.
7444 2005-11-09 Wim Taymans <wim@fluendo.com>
7446 * docs/design/part-TODO.txt:
7447 Some more items for the TODO
7453 2005-11-09 Andy Wingo <wingo@pobox.com>
7455 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7456 to work on something else now tho...
7458 * gst/base/gstadapter.c: More adapter docs.
7460 * gst/elements/gstfilesink.c (gst_file_sink_start)
7461 (gst_file_sink_stop): New functions, replace the state change
7463 (gst_file_sink_class_init): Hook up the start and stop functions.
7464 (gst_file_sink_base_init): Don't set the state change handler any
7465 more. It was a bit ugly too, being set from here...
7466 (gst_file_sink_get_property, gst_file_sink_set_property):
7468 (gst_file_sink_set_location): More robust check that doesn't call
7471 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
7473 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7474 Hold STREAM_LOCK while pushing newsegment or tag events as well.
7476 2005-11-08 Wim Taymans <wim@fluendo.com>
7478 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7479 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7480 (gst_base_sink_chain), (gst_base_sink_change_state):
7481 * gst/base/gstbasesink.h:
7482 * gst/base/gstbasesrc.h:
7485 Avoid excessive typechecking in macros.
7487 * gst/gstminiobject.c: (gst_mini_object_get_type),
7488 (gst_mini_object_init), (gst_mini_object_new),
7489 (gst_mini_object_free):
7490 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7491 (gst_object_finalize):
7492 Remove cruft code, optimize alloc_trace.
7494 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
7496 * docs/faq/gst-uninstalled:
7497 fix up PS1 for systems that try to reset it
7499 2005-11-07 Wim Taymans <wim@fluendo.com>
7501 * gst/base/gstbasesrc.c: (gst_base_src_init),
7502 (gst_base_src_get_range):
7503 Set the segment_end to -1 initially. Fixed typefind.
7505 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
7507 * gst/base/gstadapter.c:
7508 Debug category should be 'adapter', not 'GstAdapter'.
7510 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7511 (gst_collectpads_class_init), (gst_collectpads_init),
7512 (gst_collectpads_peek), (gst_collectpads_pop),
7513 (gst_collectpads_event), (gst_collectpads_chain):
7514 Add debug category and some debugging output. Use boilerplate
7515 macros. Remove some extraneous words from docs.
7517 2005-11-05 Andy Wingo <wingo@pobox.com>
7519 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7522 2005-11-04 Stefan Kost <ensonic@users.sf.net>
7524 * docs/gst/gstreamer-sections.txt:
7527 * gst/gstminiobject.h:
7532 2005-11-04 Wim Taymans <wim@fluendo.com>
7534 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7535 Small update to stop at the configured segment_end
7538 2005-11-04 Stefan Kost <ensonic@users.sf.net>
7540 * gst/gstregistry.c:
7541 * gst/gstregistry.h:
7544 2005-11-04 Edward Hervey <edward@fluendo.com>
7546 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7547 Check if we are doing a segment seek and have arrived at the
7548 end of that segment.
7550 2005-11-04 Wim Taymans <wim@fluendo.com>
7552 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7553 Don't leak a mutex unlock in case of an error.
7558 2005-11-04 Wim Taymans <wim@fluendo.com>
7560 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7562 Get the context to wake up only once.
7564 2005-11-03 Wim Taymans <wim@fluendo.com>
7566 * check/states/sinks.c: (GST_START_TEST):
7567 Uncomment fixed check.
7569 * docs/design/part-TODO.txt:
7572 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7573 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7574 (gst_base_sink_get_position):
7575 If we are going to PLAYING, post the right pending state
7576 when we post the intermediate paused message.
7578 * gst/gstelement.c: (gst_element_continue_state),
7579 (gst_element_set_state_func), (gst_element_change_state):
7580 Don't post state changes that were between the same state
7583 2005-11-03 Stefan Kost <ensonic@users.sf.net>
7585 * docs/gst/gstreamer-sections.txt:
7588 * gst/gstminiobject.h:
7591 more docs and doc style fixes
7593 2005-11-03 Stefan Kost <ensonic@users.sf.net>
7595 * docs/gst/gstreamer-sections.txt:
7597 * gst/gstminiobject.c:
7600 2005-11-03 Andy Wingo <wingo@pobox.com>
7602 * check/states/sinks.c (test_livesrc_sink): Add checks that the
7603 state-changed messages actually have the right order and the right
7606 2005-11-03 Wim Taymans <wim@fluendo.com>
7608 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7609 Added some more checks. Specifically the case where NO_PREROLL
7610 elements are in the pipeline.
7612 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7613 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7614 (gst_base_sink_get_position):
7615 Post READY->PAUSED state change messages too.
7616 Fix bug where VOID was posted as pending state...
7618 * gst/gstbin.c: (gst_bin_recalc_state):
7619 use _element_continue_state() to continue the state change.
7621 * gst/gstelement.c: (gst_element_continue_state),
7622 (gst_element_commit_state), (gst_element_set_state_func),
7623 (gst_element_change_state), (gst_element_change_state_func):
7624 Lots of state change cleanups, assign the STATE_RETURN in
7625 a new continue_state() function that also propagates the
7626 last return value from a state change to the app.
7627 Update some debug statements with proper category.
7629 2005-11-03 Wim Taymans <wim@fluendo.com>
7631 * docs/design/part-events.txt:
7632 * docs/design/part-gstpipeline.txt:
7633 * docs/design/part-messages.txt:
7634 * docs/design/part-overview.txt:
7635 * docs/design/part-seeking.txt:
7636 * docs/design/part-states.txt:
7637 * docs/design/part-trickmodes.txt:
7638 * docs/manual/advanced-position.xml:
7642 People think !! is ugly, this looks better.
7644 * gst/gstpad.c: (gst_pad_set_blocked_async):
7645 Remove !! since it's fixed elsewhere now.
7647 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
7649 * gst/gstminiobject.h:
7651 Add !! to _FLAG_IS_SET macros to make the result boolean.
7653 2005-11-03 Edward Hervey <edward@fluendo.com>
7655 * gst/gstpad.c: (gst_pad_set_blocked_async):
7656 comparing a flag and a gboolean rarely returns coherent results...
7657 Added two characters (!!) to make that work correctly.
7659 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
7661 * gst/gstbus.c: (gst_bus_class_init):
7664 * gst/gstqueue.c: (gst_queue_loop):
7665 Don't assume a miniobject that isn't a buffer is an
7666 event (it could be that there is a refcounting
7667 problem somewhere and the pointer is stale and
7668 refers to an already destroyed miniobject).
7670 2005-11-03 Julien MOUTTE <julien@moutte.net>
7672 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7674 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
7676 * docs/manual/advanced-position.xml:
7677 Update seek example and explanations to current 0.9 API.
7679 * gst/elements/gsttypefindelement.c:
7680 (gst_type_find_element_activate):
7681 Remove FIXME comment now that the found caps
7684 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
7686 * gst/gstregistryxml.c: (load_feature):
7687 Add another GST_STR_NULL instance
7689 2005-11-02 Edward Hervey <edward@fluendo.com>
7691 * gst/gstpad.c: (handle_pad_block):
7692 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7694 2005-11-02 Wim Taymans <wim@fluendo.com>
7699 * gst/gstelement.c: (gst_element_commit_state):
7700 Remove unused value.
7702 * gst/gstiterator.c:
7703 Mention that the returned element is reffed in the docs.
7705 2005-11-02 Wim Taymans <wim@fluendo.com>
7707 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7708 (gst_pad_push), (gst_pad_push_event):
7709 Unlock blocked pads when they are flushed.
7711 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
7714 * docs/gst/gstreamer-sections.txt:
7717 * gst/gstregistry.c: (gst_registry_scan_path_level):
7718 fix for a nasty little missed situation where an installed plug-in
7719 which was in the cache did not get overridden by an uninstalled one
7720 which was earlier in the plugin path because the newly created plugin
7721 for the uninstalled one (not in the registry) didn't get its
7722 ->registered set to TRUE
7724 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
7726 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7727 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7728 (gst_collectpads_is_active), (gst_collectpads_collect),
7729 (gst_collectpads_collect_range), (gst_collectpads_start),
7730 (gst_collectpads_stop), (gst_collectpads_peek),
7731 (gst_collectpads_pop), (gst_collectpads_available),
7732 (gst_collectpads_read), (gst_collectpads_flush):
7733 Guard public API with assertions.
7736 Fix docs for gst_pad_set_link_function().
7738 2005-11-02 Johan Dahlin <johan@gnome.org>
7740 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
7741 Unref found_caps after we used it.
7743 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
7745 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7746 Don't try to ref NULL.
7748 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
7750 * win32/common/config.h.in:
7751 provide a GST_FUNCTION that just gives a string for now
7753 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
7755 * win32/common/gstenumtypes.c: (register_gst_object_flags),
7756 (gst_object_flags_get_type), (register_gst_bin_flags),
7757 (gst_bin_flags_get_type), (register_gst_buffer_flag),
7758 (gst_buffer_flag_get_type), (register_gst_bus_flags),
7759 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7760 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7761 (gst_clock_return_get_type), (register_gst_clock_entry_type),
7762 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7763 (gst_clock_flags_get_type), (register_gst_state),
7764 (gst_state_get_type), (register_gst_state_change_return),
7765 (gst_state_change_return_get_type), (register_gst_state_change),
7766 (gst_state_change_get_type), (register_gst_element_flags),
7767 (gst_element_flags_get_type), (register_gst_core_error),
7768 (gst_core_error_get_type), (register_gst_library_error),
7769 (gst_library_error_get_type), (register_gst_resource_error),
7770 (gst_resource_error_get_type), (register_gst_stream_error),
7771 (gst_stream_error_get_type), (register_gst_event_type),
7772 (gst_event_type_get_type), (register_gst_seek_type),
7773 (gst_seek_type_get_type), (register_gst_seek_flags),
7774 (gst_seek_flags_get_type), (register_gst_format),
7775 (gst_format_get_type), (register_gst_index_certainty),
7776 (gst_index_certainty_get_type), (register_gst_index_entry_type),
7777 (gst_index_entry_type_get_type),
7778 (register_gst_index_lookup_method),
7779 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7780 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7781 (gst_index_resolver_method_get_type), (register_gst_index_flags),
7782 (gst_index_flags_get_type), (register_gst_debug_level),
7783 (gst_debug_level_get_type), (register_gst_debug_color_flags),
7784 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7785 (gst_iterator_result_get_type), (register_gst_iterator_item),
7786 (gst_iterator_item_get_type), (register_gst_message_type),
7787 (gst_message_type_get_type), (register_gst_mini_object_flags),
7788 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7789 (gst_pad_link_return_get_type), (register_gst_flow_return),
7790 (gst_flow_return_get_type), (register_gst_activate_mode),
7791 (gst_activate_mode_get_type), (register_gst_pad_direction),
7792 (gst_pad_direction_get_type), (register_gst_pad_flags),
7793 (gst_pad_flags_get_type), (register_gst_pad_presence),
7794 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7795 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7796 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7797 (gst_plugin_error_get_type), (register_gst_plugin_flags),
7798 (gst_plugin_flags_get_type), (register_gst_rank),
7799 (gst_rank_get_type), (register_gst_query_type),
7800 (gst_query_type_get_type), (register_gst_tag_merge_mode),
7801 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7802 (gst_tag_flag_get_type), (register_gst_task_state),
7803 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7804 (gst_alloc_trace_flags_get_type),
7805 (register_gst_type_find_probability),
7806 (gst_type_find_probability_get_type), (register_gst_uri_type),
7807 (gst_uri_type_get_type), (register_gst_parse_error),
7808 (gst_parse_error_get_type):
7809 * win32/common/gstversion.h:
7812 2005-11-01 Luca Ognibene <luogni@tin.it>
7815 fix docs. popt is dead, long live GOption.
7817 2005-10-31 Wim Taymans <wim@fluendo.com>
7822 2005-10-31 Andy Wingo <wingo@pobox.com>
7826 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7828 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7829 need to serialize property notifications on GLib 2.8. GLib 2.6 has
7830 the possibility of deadlocks here if code calling notify() or
7831 set() has a lock that can be taken in another notify handler (ABBA
7832 with class lock and e.g. python GIL state lock).
7834 2005-10-28 Julien MOUTTE <julien@moutte.net>
7836 * gst/gstbus.c: Doc updates.
7838 2005-10-28 Wim Taymans <wim@fluendo.com>
7840 * docs/design/part-TODO.txt:
7841 * gst/gstiterator.c:
7842 * gst/gstsystemclock.c:
7843 * gst/gstsystemclock.h:
7846 2005-10-28 Edward Hervey <edward@fluendo.com>
7848 * docs/gst/gstreamer-docs.sgml:
7849 * docs/gst/gstreamer-sections.txt:
7850 the GstURIType documentation page is private, it only defines GstURIType
7851 which should be defined in the GstURIHandler page
7853 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
7855 * gst/gstbin.c: (gst_bin_class_init):
7858 Documentation updates.
7860 2005-10-28 Wim Taymans <wim@fluendo.com>
7862 * docs/gst/gstreamer-sections.txt:
7865 Documented the clocks.
7867 2005-10-28 Stefan Kost <ensonic@users.sf.net>
7869 * docs/gst/gstreamer-sections.txt:
7870 move some macros to private sections
7871 * gst/gstminiobject.c:
7872 * gst/gstminiobject.h:
7873 add descriptions provided by ds and some more
7875 mark macro as to be removed
7877 2005-10-28 Wim Taymans <wim@fluendo.com>
7879 * docs/design/part-TODO.txt:
7880 Add an item to TODO.
7882 * gst/gstiterator.c: (gst_iterator_fold),
7883 (gst_iterator_find_custom):
7884 * gst/gstiterator.h:
7887 2005-10-28 Wim Taymans <wim@fluendo.com>
7889 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7890 (gst_base_transform_init):
7893 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7894 An EOS event marks the queue as completely filled.
7896 2005-10-27 Wim Taymans <wim@fluendo.com>
7898 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7899 (gst_base_sink_do_sync), (gst_base_sink_get_position):
7900 Some more debugging.
7902 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7903 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7904 (gst_base_transform_event), (gst_base_transform_getrange),
7905 (gst_base_transform_chain):
7906 * gst/base/gstbasetransform.h:
7908 Protect transform and concurrent buffer alloc with a new lock.
7909 Try not to break ABI/API.
7911 2005-10-27 Wim Taymans <wim@fluendo.com>
7913 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7914 (gst_base_src_init), (gst_base_src_query),
7915 (gst_base_src_default_newsegment),
7916 (gst_base_src_configure_segment), (gst_base_src_do_seek),
7917 (gst_base_src_send_event), (gst_base_src_event_handler),
7918 (gst_base_src_pad_get_range), (gst_base_src_loop),
7919 (gst_base_src_unlock), (gst_base_src_default_negotiate),
7920 (gst_base_src_start), (gst_base_src_deactivate),
7921 (gst_base_src_activate_push), (gst_base_src_change_state):
7922 Move some stuff around and cleanup things.
7924 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
7926 * gst/base/gstbasesrc.c: (gst_base_src_query):
7927 Add missing break statements.
7929 2005-10-27 Wim Taymans <wim@fluendo.com>
7931 * check/gst/gstbin.c: (GST_START_TEST):
7932 An extra refcount is taken in basesrc.
7934 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7935 (gst_base_src_get_range), (gst_base_src_pad_get_range),
7936 (gst_base_src_loop):
7937 Small cleanups, check for flushing after being unlocked from the
7938 LIVE_LOCK. take refcounts correctly (not yet everywhere).
7939 Don't send out EOS when going to READY.
7941 2005-10-27 Wim Taymans <wim@fluendo.com>
7943 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7944 (gst_base_sink_get_position):
7947 * gst/gstbin.c: (message_check), (bin_replace_message),
7948 (bin_remove_messages), (is_eos), (gst_bin_add_func),
7949 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7950 (bin_query_duration_init), (bin_query_duration_fold),
7951 (bin_query_duration_done), (bin_query_generic_fold),
7953 * tools/gst-launch.c: (main):
7956 2005-10-26 Stefan Kost <ensonic@users.sf.net>
7958 * examples/controller/audio-example.c: (main):
7959 * examples/queue/queue.c: (event_loop):
7960 * gst/base/gstbasetransform.h:
7961 * gst/gstelement.c: (gst_element_send_event):
7963 * gst/gstpad.c: (gst_pad_send_event):
7966 changing log priority in error situations
7968 2005-10-25 Wim Taymans <wim@fluendo.com>
7970 * gst/gstbin.c: (message_check), (bin_replace_message),
7971 (bin_remove_messages), (is_eos), (gst_bin_add_func),
7972 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7973 (bin_query_duration_init), (bin_query_duration_fold),
7974 (bin_query_duration_done), (bin_query_generic_fold),
7976 Some doc and debug updates.
7977 Cache previously requested query DURATION for speed. invalidate
7978 cached duration if element posts a DURATION message.
7980 2005-10-25 Wim Taymans <wim@fluendo.com>
7982 * docs/design/part-TODO.txt:
7985 * gst/gstbin.c: (message_check), (bin_replace_message),
7986 (bin_remove_messages), (is_eos), (gst_bin_add_func),
7987 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7988 (bin_query_duration_init), (bin_query_duration_fold),
7989 (bin_query_duration_done), (bin_query_generic_fold),
7991 Handle SEGMENT_START/DONE messages correctly.
7992 More evolved query algorithm that handles duration queries
7995 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7996 (gst_element_get_state_func), (gst_element_abort_state),
7997 (gst_element_commit_state), (gst_element_lost_state):
7998 Some more debugging.
8003 2005-10-25 Wim Taymans <wim@fluendo.com>
8005 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8006 Don't use invalid stream_time.
8008 * gst/gstevent.c: (gst_event_new_newsegment):
8009 stream_time in newsegment cannot be undefined.
8011 2005-10-24 Wim Taymans <wim@fluendo.com>
8016 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8018 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8020 2005-10-24 Stefan Kost <ensonic@users.sf.net>
8022 * docs/libs/tmpl/gstdparam.sgml:
8023 * docs/libs/tmpl/gstdplinint.sgml:
8024 * docs/libs/tmpl/gstdpman.sgml:
8025 * docs/libs/tmpl/gstdpsmooth.sgml:
8026 * docs/libs/tmpl/gstunitconvert.sgml:
8029 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
8034 === release 0.9.4 ===
8036 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
8039 releasing 0.9.4, "Tyrannosaurus Rex"
8041 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
8043 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8044 (gst_file_sink_get_current_offset):
8045 Use fseeko() and ftello() if available. When falling back on
8046 lseek() to get the current offset, fflush() first to make sure
8047 everything is up-to-date and we get the right offset.
8049 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
8051 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8052 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8053 * gst/gsterror.c: (_gst_stream_errors_init):
8055 * gst/gstqueue.c: (gst_queue_loop):
8057 remove prematurely added error category and clean up the instances
8059 2005-10-21 Wim Taymans <wim@fluendo.com>
8061 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8062 (gst_base_sink_get_position), (gst_base_sink_query),
8063 (gst_base_sink_change_state):
8064 Simply set the right flag when going to playing, that's all
8065 we need to do instead of calling a function inside the object
8066 lock (that could take the lock as well and deadlock)
8068 2005-10-21 Wim Taymans <wim@fluendo.com>
8070 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8071 (gst_base_src_loop):
8072 Don't warn, the peer element knows what to do best when
8073 the seek failed, it might try something else.
8075 2005-10-21 Wim Taymans <wim@fluendo.com>
8077 * gst/base/gstbasesrc.c: (gst_base_src_init),
8078 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8081 2005-10-21 Wim Taymans <wim@fluendo.com>
8083 * docs/design/part-segments.txt:
8086 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8087 Correctly set caps, even on the subbufer.
8089 2005-10-21 Wim Taymans <wim@fluendo.com>
8091 * docs/gst/gstreamer-docs.sgml:
8092 * docs/gst/gstreamer-sections.txt:
8099 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8103 And 2% more doc coverage.
8105 2005-10-21 Andy Wingo <wingo@pobox.com>
8107 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8110 2005-10-20 Wim Taymans <wim@fluendo.com>
8112 * gst/gsterror.c: (gst_error_get_message):
8115 * gst/gststructure.c:
8120 2005-10-20 Wim Taymans <wim@fluendo.com>
8125 Another 1% more coverage.
8127 2005-10-20 Wim Taymans <wim@fluendo.com>
8129 * docs/gst/gstreamer-sections.txt:
8130 * gst/gstelement.c: (gst_element_get_state_func),
8131 (gst_element_abort_state), (gst_element_commit_state),
8132 (gst_element_lost_state):
8134 * gst/gstquery.c: (gst_query_set_position),
8135 (gst_query_parse_position), (gst_query_set_duration),
8136 (gst_query_parse_duration), (gst_query_new_convert):
8138 Yay! 1% more docs coverage.
8140 2005-10-20 Wim Taymans <wim@fluendo.com>
8143 * gst/gstquery.c: (gst_query_set_position),
8144 (gst_query_parse_position), (gst_query_set_duration),
8145 (gst_query_parse_duration), (gst_query_new_convert):
8147 * gst/gstutils.c: (gst_element_query_convert):
8149 Docs and consistency fixes.
8151 2005-10-20 Wim Taymans <wim@fluendo.com>
8157 2005-10-20 Wim Taymans <wim@fluendo.com>
8159 * gst/gstbin.c: (message_check), (bin_replace_message),
8160 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8161 (update_degree), (gst_bin_sort_iterator_next),
8162 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8163 Reworked the message handling a bit, cache the messages instead of
8164 only the senders. alows us to do more in the future.
8166 2005-10-20 Wim Taymans <wim@fluendo.com>
8168 * docs/design/part-TODO.txt:
8171 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8172 (gst_base_sink_query):
8173 Don't use clock time to report position when in EOS.
8175 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
8177 * tools/gst-inspect.c: (print_interfaces),
8178 (print_element_properties_info), (print_element_info):
8179 Fix interface output with gst-inspect -a; don't print
8180 newlines after double/float properties.
8182 2005-10-20 Wim Taymans <wim@fluendo.com>
8184 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8185 (gst_base_sink_query):
8186 Speed up current position calculation.
8188 * gst/base/gstbasesrc.c: (gst_base_src_query),
8189 (gst_base_src_default_newsegment):
8190 Correctly set stream position in newsegment.
8192 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8193 (update_degree), (gst_bin_sort_iterator_next),
8194 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8195 * gst/gstmessage.c: (gst_message_new_custom):
8196 Clean up debugging info
8198 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8199 (gst_queue_loop), (gst_queue_handle_src_query):
8202 2005-10-19 Wim Taymans <wim@fluendo.com>
8204 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8205 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8206 Fix query handling again.
8208 2005-10-19 Wim Taymans <wim@fluendo.com>
8210 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8211 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8212 * gst/base/gstbasesrc.c: (gst_base_src_query):
8213 * gst/elements/gstfilesink.c: (gst_file_sink_query):
8214 * gst/elements/gsttypefindelement.c:
8215 (gst_type_find_handle_src_query), (find_element_get_length),
8216 (gst_type_find_element_activate):
8219 * gst/gstquery.c: (gst_query_new_position),
8220 (gst_query_set_position), (gst_query_parse_position),
8221 (gst_query_new_duration), (gst_query_set_duration),
8222 (gst_query_parse_duration), (gst_query_set_segment),
8223 (gst_query_parse_segment):
8225 Bundling query position/duration is not a good idea since duration
8226 does not change much and we don't want to recalculate it for every
8227 position query, so they are separated again..
8228 Base value in segment query is not needed.
8230 * gst/gstqueue.c: (gst_queue_handle_src_query):
8231 * gst/gstutils.c: (gst_element_query_position),
8232 (gst_element_query_duration), (gst_pad_query_position),
8233 (gst_pad_query_duration):
8235 Updates for query API change.
8236 Added some docs here and there.
8238 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
8240 * check/gst/gstbin.c: (GST_START_TEST):
8241 * check/gst/gstghostpad.c: (GST_START_TEST):
8242 * check/pipelines/cleanup.c: (GST_START_TEST):
8243 wait on thread to die so we can check refcount correctly
8245 2005-10-18 Wim Taymans <wim@fluendo.com>
8247 * check/pipelines/stress.c: (GST_START_TEST):
8248 Make check a little more time consuming.
8250 2005-10-18 Wim Taymans <wim@fluendo.com>
8252 * check/Makefile.am:
8253 * check/pipelines/stress.c: (GST_START_TEST),
8254 (simple_launch_lines_suite), (main):
8255 Small state change torture test.
8257 * docs/design/part-states.txt:
8258 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8259 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8260 (gst_base_sink_change_state):
8261 Never take state lock from streaming thread, clean up ugly
8262 hacks. Unfortunatly core does not yet support nice ways to
8265 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8267 Start state recalc if a STATE_DIRTY message is posted, but only
8268 on the toplevel bin.
8270 * gst/gstelement.c: (gst_element_sync_state_with_parent),
8271 (gst_element_get_state_func), (gst_element_abort_state),
8272 (gst_element_commit_state), (gst_element_lost_state),
8273 (gst_element_set_state_func), (gst_element_change_state):
8275 State variables are now protected with the LOCK, the state
8276 lock is only used to serialize _set_state().
8278 2005-10-18 Wim Taymans <wim@fluendo.com>
8280 * check/gst/gstbin.c: (GST_START_TEST):
8281 * check/gst/gstmessage.c: (GST_START_TEST):
8282 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8283 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8285 * gst/gstelement.c: (gst_element_abort_state),
8286 (gst_element_commit_state), (gst_element_lost_state):
8287 * gst/gstmessage.c: (gst_message_new_state_changed),
8288 (gst_message_new_state_dirty), (gst_message_new_segment_start),
8289 (gst_message_new_segment_done), (gst_message_new_duration),
8290 (gst_message_parse_state_changed),
8291 (gst_message_parse_segment_start),
8292 (gst_message_parse_segment_done), (gst_message_parse_duration):
8294 * tools/gst-launch.c: (event_loop):
8295 Seriously, this is better than a previous commit as we only need
8296 to notify the fact that an element changed state in a streaming
8297 thread, marking the state of the parents dirty, hence the
8298 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8301 2005-10-18 Wim Taymans <wim@fluendo.com>
8303 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8304 (gst_bin_recalc_func):
8305 * gst/gstelement.c: (gst_element_set_clock),
8306 (gst_element_abort_state), (gst_element_lost_state):
8307 Cleanups, prepare for state change fixes.
8309 2005-10-18 Wim Taymans <wim@fluendo.com>
8312 * gst/gstelement.c: (gst_element_class_init),
8313 (gst_element_set_state), (gst_element_set_state_func):
8315 Pending ABI changes.
8316 GThreadPool in GstBinClass to monitor async state changes.
8317 state_cookie in GstElement to detect concurrent gst/set state.
8318 set_state is now virtual too in case a very complicated element
8319 has to be constructed.
8321 2005-10-18 Wim Taymans <wim@fluendo.com>
8323 * check/gst/gstbin.c: (GST_START_TEST):
8324 * check/gst/gstmessage.c: (GST_START_TEST):
8325 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8326 * gst/gstbin.c: (bin_bus_handler):
8327 * gst/gstelement.c: (gst_element_commit_state),
8328 (gst_element_lost_state):
8329 * gst/gstmessage.c: (gst_message_new_state_changed),
8330 (gst_message_new_segment_start), (gst_message_new_segment_done),
8331 (gst_message_new_duration), (gst_message_parse_state_changed),
8332 (gst_message_parse_segment_start),
8333 (gst_message_parse_segment_done), (gst_message_parse_duration):
8335 * tools/gst-launch.c: (event_loop):
8336 Make messages future proof.
8337 state-change gets a flag if it was a message comming from the
8339 segment-start/stop can also be specified in other formats.
8340 A message to notify an app that a pipeline changed playback
8342 Also fix a GstMessage leak in -launch
8344 2005-10-18 Andy Wingo <wingo@pobox.com>
8346 * gst/gstelement.c (gst_element_dispose): More helpful message.
8348 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8350 reviewed by: <delete if not using a buddy>
8352 * common/gtk-doc.mak:
8354 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8356 * gst/gstregistry.c: (gst_registry_scan_path_level):
8357 unref a plug-in we get that was already initialized
8359 2005-10-18 Stefan Kost <ensonic@users.sf.net>
8361 * docs/gst/gstreamer-sections.txt:
8362 * docs/libs/gstreamer-libs-sections.txt:
8367 2005-10-17 Andy Wingo <wingo@pobox.com>
8369 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8372 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8374 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8376 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8377 (gst_element_get_state_func): Better debug message.
8378 (gst_element_commit_state): s/INFO/DEBUG/.
8379 (gst_element_lost_state, gst_element_change_state):
8381 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8382 (gst_message_new_custom): s/INFO/LOG/.
8384 2005-10-17 Michael Smith <msmith@fluendo.com>
8386 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8387 Check if end time is valid using end time, not start time.
8389 2005-10-17 Stefan Kost <ensonic@users.sf.net>
8391 * check/gst-libs/controller.c: (GST_START_TEST),
8392 (gst_controller_suite):
8393 * libs/gst/controller/gstcontroller.c:
8394 (gst_controlled_property_set_interpolation_mode):
8395 * libs/gst/controller/gstcontroller.h:
8396 * libs/gst/controller/gstinterpolation.c:
8397 * testsuite/controller/.cvsignore:
8398 * testsuite/controller/Makefile.am:
8399 * testsuite/controller/interpolator.c:
8400 merge controller testsuites
8402 remove mem-chunk from docs
8404 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8406 * gst/gstmemchunk.c:
8407 * gst/gstmemchunk.h:
8408 * gst/gsttrashstack.c:
8409 * gst/gsttrashstack.h:
8410 out. get out. you're fired. to the Attic !
8412 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8414 * gst/gstcaps.c: (gst_caps_intersect):
8415 fix signedness issues in a (hopefully) correct way
8416 * gst/gstelement.c: (gst_element_pads_activate):
8418 * gst/gstobject.c: (gst_object_set_parent):
8421 2005-10-17 Julien MOUTTE <julien@moutte.net>
8423 * gst/gstvalue.h: Fix prototypes.
8425 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8427 * docs/gst/gstreamer-sections.txt:
8428 * gst/gst.c: (gst_version_string):
8430 * gst/gstversion.h.in:
8431 * win32/common/libgstreamer.def:
8432 add gst_version_string ()
8434 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8438 * gst/gst.c: (init_post):
8439 * win32/common/config.h.in:
8441 * gst/gstcaps.c: (gst_caps_intersect):
8442 use gint64, the range could be bigger than a guint
8444 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8447 document potential problem in 2038
8449 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8451 * gst/gstcaps.c: (gst_caps_intersect):
8452 Fix guint j diving under 0
8454 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8457 * win32/common/config.h:
8458 * win32/common/config.h.in:
8459 check for process.h, declares getpid() on Windows
8461 include process.h if we have it
8462 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8463 * gst/gstmemchunk.h:
8464 fix signedness issues
8465 * win32/common/libgstreamer.def:
8468 2005-10-16 Julien MOUTTE <julien@moutte.net>
8470 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8471 fix. Because of unsigned ints, caps intersection was going nuts and
8472 trying to access structures with G_MAXUINT index. That fixes
8473 videotestsrc ! ffmpegcolorspace ! fakesink
8474 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8477 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8480 use the gettext macro
8481 * gst/elements/gstelements.c:
8483 * gst/indexers/gstindexers.c:
8484 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8485 * win32/common/config.h:
8487 * win32/common/config.h.in:
8488 add the template to generate config.h
8489 * win32/common/gstenumtypes.c:
8490 * win32/common/gstversion.h:
8493 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8495 * gst/gst.c: (gst_version):
8496 * gst/gstversion.h.in:
8499 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8502 Oops, add missing closing bracket.
8504 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8507 use common m4's for argument checking
8509 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8511 * docs/gst/gstreamer-sections.txt:
8513 Add GST_EVENT_TYPE_NAME() macro.
8515 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8518 * gst/gstpluginfeature.c:
8520 privatize more symbols
8522 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8525 add srcdir, builddir includes to GST_ALL_CFLAGS, since
8526 everything that uses GStreamer API should have the includes
8528 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8530 * docs/gst/gstreamer-sections.txt:
8531 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8533 give each value a _get_type, removes the DATA exports
8535 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8539 remove _gst_registry_auto_load, not used anymore
8540 * gst/gstbin.c: (gst_bin_get_type):
8542 * gst/gstelement.c: (gst_element_get_type):
8544 * gst/gstobject.c: (gst_object_get_type):
8546 * gst/gstpad.c: (gst_pad_get_type):
8548 make _get_type functions similar, fixes data export from library
8550 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8553 correctly make conditionals
8554 * gst/elements/Makefile.am:
8555 * gst/elements/gstelements.c:
8556 fix typo causing fdsrc not to build
8558 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8560 * testsuite/Makefile.am:
8561 * testsuite/bytestream/.cvsignore:
8562 * testsuite/bytestream/Makefile.am:
8563 * testsuite/bytestream/filepadsink.c:
8564 * testsuite/bytestream/gstbstest.c:
8565 * testsuite/bytestream/test1.c:
8566 * testsuite/bytestream/testfile1:
8567 * testsuite/caps/normalisation.c:
8568 * testsuite/caps/random.c: (main):
8569 * testsuite/cleanup/.cvsignore:
8570 * testsuite/cleanup/Makefile.am:
8571 * testsuite/cleanup/cleanup1.c:
8572 * testsuite/cleanup/cleanup2.c:
8573 * testsuite/cleanup/cleanup3.c:
8574 * testsuite/cleanup/cleanup4.c:
8575 * testsuite/cleanup/cleanup5.c:
8576 * testsuite/controller/interpolator.c:
8577 * testsuite/debug/printf_extension.c: (main):
8578 * testsuite/elements/tee.c:
8579 * testsuite/negotiation/.cvsignore:
8580 * testsuite/negotiation/Makefile.am:
8581 * testsuite/negotiation/pad_link.c:
8582 * testsuite/pad/Makefile.am:
8583 * testsuite/pad/chainnopull.c:
8584 * testsuite/pad/getnopush.c:
8585 * testsuite/pad/link.c:
8586 * testsuite/refcounting/sched.c: (create_pipeline):
8587 * testsuite/registry/Makefile.am:
8588 * testsuite/registry/gst-print-formats.c:
8589 * testsuite/schedulers/.cvsignore:
8590 * testsuite/schedulers/142183-2.c:
8591 * testsuite/schedulers/142183.c:
8592 * testsuite/schedulers/143777-2.c:
8593 * testsuite/schedulers/143777.c:
8594 * testsuite/schedulers/147713.c:
8595 * testsuite/schedulers/147819.c:
8596 * testsuite/schedulers/147894-2.c:
8597 * testsuite/schedulers/147894.c:
8598 * testsuite/schedulers/Makefile.am:
8599 * testsuite/schedulers/group_link.c:
8600 * testsuite/schedulers/queue_link.c:
8601 * testsuite/schedulers/relink.c:
8602 * testsuite/schedulers/unlink.c:
8603 * testsuite/schedulers/unref.c:
8604 * testsuite/schedulers/useless_iteration.c:
8605 * testsuite/states/bin.c:
8606 clean out/remove some stuff from the testsuite directories
8608 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8611 check for some headers
8612 * gst/elements/Makefile.am:
8613 * gst/elements/gstelements.c:
8614 don't compile fdsrc without sys/socket.h
8615 * gst/indexers/Makefile.am:
8616 * gst/indexers/gstindexers.c: (plugin_init):
8617 don't compile fileindex without mmap
8619 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8626 * check/Makefile.am:
8627 * docs/gst/Makefile.am:
8628 * examples/helloworld/Makefile.am:
8630 * gst/base/Makefile.am:
8631 * gst/check/Makefile.am:
8632 * gst/elements/Makefile.am:
8633 * gst/indexers/Makefile.am:
8634 * gst/parse/Makefile.am:
8635 * libs/gst/controller/Makefile.am:
8636 * libs/gst/dataprotocol/Makefile.am:
8637 * examples/helloworld/helloworld.c: (event_loop):
8638 compile fixes, though it's not being compiled currently
8640 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
8642 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8643 Add some simple tests for the new taglist date API.
8645 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
8647 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8648 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8649 Beautify 'last-message' output: print 'none' for buffer timestamps
8650 and durations if none is set; improve alignment with next messages.
8652 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
8654 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8655 * gst/gstpluginfeature.h:
8656 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8657 * gst/gstregistry.h:
8658 * docs/gst/gstreamer-sections.txt:
8659 Add new API to check plugin feature version requirements.
8661 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8662 Some basic tests for the above.
8664 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8666 * gst/gststructure.c: (gst_structure_to_string):
8667 guard against NULL printf - happens when for example
8668 a message structure with GstClock gets serialized
8670 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
8672 * gst/base/gstcollectpads.c: (gst_collectpads_event):
8673 Fix presumable copy'n'pasto.
8675 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8677 * gst/elements/gstfakesrc.h:
8678 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8679 * gst/elements/gsttypefindelement.c:
8681 * gst/elements/gstfilesink.c: (gst_file_sink_render):
8682 I wonder if this could actually write +2GB files before
8684 2005-10-13 Andy Wingo <wingo@pobox.com>
8686 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8687 Fix Timmeke Waymans bug.
8688 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8689 string of the proper length to gst_caps_from_string. There's a
8690 potential for, before this fix, that this could cause someone
8691 connecting over the network to cause a segfault if the payload is
8694 2005-10-13 Stefan Kost <ensonic@users.sf.net>
8696 * docs/design/draft-push-pull.txt:
8697 * docs/design/part-overview.txt:
8698 * docs/random/TODO-pre-0.9:
8699 * docs/random/old/ChangeLog.gstreamer:
8700 * gst/base/gstpushsrc.c:
8704 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8706 * gst/glib-compat.c: (gst_flags_get_first_value):
8707 * gst/glib-compat.h:
8708 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8709 (gst_value_compare_double), (gst_value_serialize_flags):
8710 GLib 2.6 g_flags_get_first_value has a bug that triggers an
8713 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8715 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8716 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8718 * tools/gst-launch.c: (event_loop):
8719 print out clock nicely
8721 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
8723 * docs/gst/gstreamer-sections.txt:
8725 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8726 (gst_tag_list_get_date_index):
8727 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8728 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8730 2005-10-13 Julien MOUTTE <julien@moutte.net>
8732 * gst/base/gstcollectpads.c: (gst_collectpads_event),
8733 (gst_collectpads_chain):
8734 * gst/base/gstcollectpads.h: Handle newsegment and store informations
8737 2005-10-13 Stefan Kost <ensonic@users.sf.net>
8739 * docs/gst/gstreamer-sections.txt:
8742 * tools/gst-inspect.c: (main):
8743 * tools/gst-launch.c: (main):
8744 * tools/gst-run.c: (main):
8745 * tools/gst-xmlinspect.c: (main):
8746 fix GOption context leaks
8749 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8753 * win32/common/config.h:
8755 * win32/vs6/grammar.dsp:
8756 * win32/vs6/libgstelements.dsp:
8757 * win32/vs6/libgstreamer.dsp:
8760 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
8762 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8763 * gst/base/gstbasesrc.c: (gst_base_src_query):
8764 fix more guint64<->gdouble conversions
8766 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
8769 add win32-update target
8770 * win32/common/gstconfig.h:
8771 * win32/common/gstenumtypes.c:
8772 * win32/common/gstenumtypes.h:
8773 * win32/common/gstversion.h:
8774 add files that visual studio can't generate
8776 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
8779 add a win32-update target
8782 2005-10-12 Wim Taymans <wim@fluendo.com>
8784 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8785 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8786 * gst/gstelement.c: (gst_element_commit_state),
8787 (gst_element_set_state):
8788 Protect flags with proper lock.
8789 unref provided cached clock in dispose.
8791 2005-10-12 Stefan Kost <ensonic@users.sf.net>
8794 * gst/gstminiobject.h:
8796 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8797 removed unused flags from miniobject
8800 2005-10-12 Wim Taymans <wim@fluendo.com>
8802 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8803 (gst_file_sink_event), (gst_file_sink_render):
8804 Flush before seeking.
8806 2005-10-12 Andy Wingo <wingo@pobox.com>
8808 * gst/gst.c (gst_init_check): Ignore unknown options, as has
8809 always been the case.
8811 2005-10-12 Stefan Kost <ensonic@users.sf.net>
8813 * check/gst/gstbin.c: (GST_START_TEST):
8814 * docs/gst/gstreamer-sections.txt:
8815 * gst/base/gstbasesink.c: (gst_base_sink_init):
8816 * gst/base/gstbasesrc.c: (gst_base_src_init),
8817 (gst_base_src_get_range), (gst_base_src_check_get_range),
8818 (gst_base_src_start), (gst_base_src_stop):
8819 * gst/base/gstbasesrc.h:
8820 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8821 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8822 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8826 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8828 * gst/gstelement.c: (gst_element_is_locked_state),
8829 (gst_element_set_locked_state), (gst_element_commit_state),
8830 (gst_element_set_state):
8832 * gst/gstindex.c: (gst_index_init):
8834 * gst/gstminiobject.h:
8835 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8836 (gst_object_set_parent):
8838 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8839 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8841 * gst/gstpadtemplate.h:
8842 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8843 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8844 * gst/gstpipeline.h:
8845 * gst/indexers/gstfileindex.c: (gst_file_index_load),
8846 (gst_file_index_commit):
8847 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8848 * testsuite/pad/link.c: (gst_test_src_init),
8849 (gst_test_filter_init), (gst_test_sink_init):
8850 * testsuite/states/locked.c: (main):
8851 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8852 moved bitshift from macro to enum definition
8854 2005-10-12 Wim Taymans <wim@fluendo.com>
8856 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8857 * gst/elements/gstfilesink.c: (gst_file_sink_event),
8858 (gst_file_sink_render):
8859 Some more debugging info.
8861 2005-10-12 Wim Taymans <wim@fluendo.com>
8863 * docs/design/part-states.txt:
8864 * tools/gst-launch.c: (main):
8866 Revert non-intentional change.
8868 2005-10-12 Wim Taymans <wim@fluendo.com>
8870 * check/gst/gstbin.c: (GST_START_TEST):
8871 * check/gst/gstelement.c: (GST_START_TEST):
8872 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8873 * check/gst/gstghostpad.c: (GST_START_TEST):
8874 * check/gst/gstpipeline.c: (GST_START_TEST):
8875 * check/pipelines/simple_launch_lines.c: (run_pipeline):
8876 * check/states/sinks.c: (GST_START_TEST):
8877 * gst/elements/gsttypefindelement.c: (stop_typefinding):
8878 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8879 (gst_bin_remove_func), (gst_bin_get_state_func),
8880 (gst_bin_recalc_state), (gst_bin_change_state_func),
8882 * gst/gstelement.c: (gst_element_get_state_func),
8883 (gst_element_get_state), (gst_element_abort_state),
8884 (gst_element_commit_state), (gst_element_set_state),
8885 (gst_element_change_state), (gst_element_change_state_func):
8887 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8888 (gst_pipeline_provide_clock_func):
8889 * gst/gstutils.c: (gst_element_link_pads_filtered):
8890 * tools/gst-launch.c: (main):
8891 * tools/gst-typefind.c: (main):
8892 Use GstClockTime in _get_state() instead of GTimeVal.
8893 Remove old code in gstutils.c
8895 2005-10-12 Andy Wingo <wingo@pobox.com>
8897 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8900 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8901 there is no task. Shouldn't affect any code, as nothing in our
8902 plugins checks this return value.
8903 (gst_pad_stop_task): Also take the stream lock if the pad has no
8906 2005-10-12 Wim Taymans <wim@fluendo.com>
8908 * gst/gstpad.c: (pre_activate), (post_activate),
8909 (gst_pad_activate_pull), (gst_pad_activate_push):
8910 Cleanup activation code. Reset old state if
8913 2005-10-12 Wim Taymans <wim@fluendo.com>
8915 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8916 (gst_base_sink_change_state):
8917 No need to prerol after receiving EOS.
8919 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8920 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8921 * gst/elements/gstidentity.c: (gst_identity_event):
8922 Print events more verbosely.
8924 2005-10-12 Wim Taymans <wim@fluendo.com>
8926 * check/Makefile.am:
8927 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8928 * check/states/sinks2.c:
8929 Moved sinks2 testcode in sinks check.
8931 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8932 (gst_bin_remove_func), (gst_bin_recalc_state),
8933 (gst_bin_change_state_func), (bin_bus_handler):
8934 Fix potential race condition when _get_state() iterated over an
8935 ASYNC element right before it posted a state completion.
8938 Do proper cast here.
8940 * gst/gstevent.c: (gst_event_new_newsegment),
8941 (gst_event_parse_newsegment):
8942 A playback rate of 0.0 is not allowed.
8944 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8946 * win32/common/config.h:
8947 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8948 (_trewinddir), (_ttelldir), (_tseekdir):
8949 * win32/common/dirent.h:
8950 * win32/common/gtchar.h:
8951 * win32/common/libgstbase.def:
8952 * win32/common/libgstreamer.def:
8953 * win32/vs6/grammar.dsp:
8954 * win32/vs6/gst_inspect.dsp:
8955 * win32/vs6/gst_launch.dsp:
8956 * win32/vs6/gstreamer.dsw:
8957 * win32/vs6/libgstbase.dsp:
8958 * win32/vs6/libgstelements.dsp:
8959 * win32/vs6/libgstreamer.dsp:
8960 Visual Studio 6 project files, and a new common directory.
8963 2005-10-11 Wim Taymans <wim@fluendo.com>
8965 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8966 (gst_base_sink_do_sync), (gst_base_sink_query),
8967 (gst_base_sink_change_state):
8968 * gst/base/gstbasesink.h:
8969 Correctly parse newsegment info.
8971 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8973 * gst/gst.c: (init_post):
8974 split plugin paths correctly
8976 2005-10-11 Wim Taymans <wim@fluendo.com>
8978 * check/gst/gstevent.c: (GST_START_TEST):
8979 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8980 (gst_base_sink_change_state):
8981 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8982 * gst/base/gstbasetransform.c: (gst_base_transform_event):
8983 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8984 * gst/gstevent.c: (gst_event_new_newsegment),
8985 (gst_event_parse_newsegment):
8987 Added extra flag to newsegment for future API freeze.
8988 Updated check and base elements.
8990 2005-10-11 Julien MOUTTE <julien@moutte.net>
8992 * gst/base/gstcollectpads.c: (gst_collectpads_init),
8993 (gst_collectpads_add_pad), (gst_collectpads_pop),
8994 (gst_collectpads_event), (gst_collectpads_chain):
8995 * gst/base/gstcollectpads.h: Handle EOS correctly.
8997 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8999 * tools/gst-launch.c: (main):
9000 more null protecting
9002 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9004 * gst/gst-i18n-lib.h:
9005 check for ENABLE_NLS, not GETTEXT_PACKAGE
9006 * gst/gstregistry.c: (gst_registry_add_plugin),
9007 (gst_registry_scan_path_level),
9008 (_gst_registry_remove_cache_plugins):
9009 protect possibly NULL strings
9010 * gst/parse/types.h:
9011 config.h already included before
9012 * tools/gst-inspect.c: (main):
9013 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9014 check for ENABLE_NLS, not GETTEXT_PACKAGE
9015 * tools/gst-launch.c: (main):
9016 check for ENABLE_NLS, not GETTEXT_PACKAGE
9018 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9021 if we don't have glib, fail before testing 2.8
9022 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9023 fix a leak, should fix plugins-base testsuite
9025 2005-10-11 Andy Wingo <wingo@pobox.com>
9027 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9028 take the mode we're going to as an arg. Go head and set the mode
9029 and flushing flags now, so that if the activate function starts a
9030 thread all the flags will be in the right state.
9031 (post_activate): Renamed also. Just handle making sure streaming
9032 finishes for the deactivation case, and setting the deactivated
9034 (gst_pad_set_active): Complain loudly if deactivation fails.
9035 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9036 (gst_pad_activate_push): Adapt to pre/post_activate changes,
9037 remove the terrible hack.
9039 2005-10-11 Wim Taymans <wim@fluendo.com>
9041 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9042 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9043 (gst_bin_recalc_state), (gst_bin_change_state_func),
9044 (gst_bin_dispose), (bin_bus_handler):
9046 Prepare to make current EOS message queue more generic.
9049 * gst/gstevent.c: (gst_event_new_newsegment),
9050 (gst_event_parse_newsegment):
9052 Rename base to stream_time.
9057 2005-10-11 Wim Taymans <wim@fluendo.com>
9059 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9060 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9061 (gst_bin_change_state_func), (bin_bus_handler):
9063 Work on proper clock selection.
9065 2005-10-11 Edward Hervey <edward@fluendo.com>
9067 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
9068 * libs/gst/controller/gstcontroller.h:
9069 Added GList* version of _remove_properties() in order to be able to wrap
9072 2005-10-11 Wim Taymans <wim@fluendo.com>
9074 * docs/design/part-states.txt:
9077 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9078 (gst_bin_change_state_func), (bin_bus_handler):
9079 Doc updates. Don't distribute the same clock over and over again.
9085 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9086 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9087 (gst_pad_send_event):
9089 Make probe emission threadsafe again.
9090 Register quarks and move _get_name() from utils.
9093 * gst/gstpipeline.c: (gst_pipeline_class_init),
9094 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9095 Only redistribute the clock of it changed.
9097 * gst/gstsystemclock.h:
9102 Moved the _flow_get_name() to GstPad.
9104 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9106 * check/gst-libs/gdp.c: (GST_START_TEST):
9107 * check/gst/gstcaps.c: (GST_START_TEST):
9108 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9109 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9110 (gst_dp_packet_from_caps):
9111 fix more valgrind warnings before turning up the heat
9113 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9115 * gst/parse/grammar.y:
9116 some cleanup before the hacking
9118 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9120 * gst/base/gstbasesrc.c: (gst_base_src_query):
9122 * gst/gstutils.c: (gst_guint64_to_gdouble),
9123 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9125 externalize, basesrc uses it
9126 obviously the implementation needs testing
9128 2005-10-10 Wim Taymans <wim@fluendo.com>
9130 * tests/sched/Makefile.am:
9131 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9132 (make_pipeline3), (make_pipeline4), (print_elem), (main):
9134 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9136 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9137 apparently converting from guint64 to double is not implemented
9140 2005-10-10 Wim Taymans <wim@fluendo.com>
9142 * check/Makefile.am:
9143 * check/generic/states.c: (GST_START_TEST):
9144 * check/gst/gstbin.c: (GST_START_TEST):
9145 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9146 * check/states/sinks.c: (GST_START_TEST):
9147 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9149 Check fixes, use API as stated in design docs, remove hacks.
9151 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9152 (gst_base_sink_change_state):
9153 Catch stopping our task while we're shutting down.
9155 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9156 (gst_bin_remove_func), (gst_bin_get_state_func),
9157 (gst_bin_recalc_state), (gst_bin_change_state_func),
9160 * gst/gstelement.c: (gst_element_init),
9161 (gst_element_get_state_func), (gst_element_abort_state),
9162 (gst_element_commit_state), (gst_element_lost_state),
9163 (gst_element_set_state), (gst_element_change_state),
9164 (gst_element_change_state_func):
9166 New state change algorithm (see #318116)
9168 * gst/gstpipeline.c: (gst_pipeline_class_init),
9169 (gst_pipeline_init), (gst_pipeline_set_property),
9170 (gst_pipeline_get_property), (do_pipeline_seek),
9171 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9172 * gst/gstpipeline.h:
9173 Remove crude state change hacks.
9178 * tools/gst-launch.c: (main):
9179 Fixes for state change. Needs some more work to fully use the
9182 2005-10-10 Andy Wingo <wingo@pobox.com>
9184 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9186 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9187 this flag, but it's not even in GLib 2.6. Odd. Hack around the
9190 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9192 * gst/gstiterator.c: (gst_iterator_new):
9193 Fix my previous commit: GTypes passed to gst_iterator_new()
9194 can be fundamental types.
9196 2005-10-10 Wim Taymans <wim@fluendo.com>
9198 * gst/gstelement.c: (gst_element_iterate_pad_list),
9199 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9200 (gst_element_iterate_sink_pads):
9201 Use src/sink pads lists for the respective iterators instead
9204 2005-10-10 Andy Wingo <wingo@pobox.com>
9206 Merged in popt removal + GOption addition patch from Ronald, bug
9209 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9210 GstElement macros around, remove popt-related symbols, add goption
9213 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9215 * docs/gst/Makefile.am:
9216 * docs/libs/Makefile.am: No POPT_CFLAGS.
9218 * examples/manual/Makefile.am:
9219 * docs/manual/basics-init.xml: Doc updates with an example.
9221 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9222 (gst_init), (parse_one_option), (parse_goption_arg):
9223 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9224 bit of hand merging and debugging to get the GOption stuff working
9227 * tests/Makefile.am:
9228 * tools/Makefile.am:
9229 * tools/gst-inspect.c: (main):
9230 * tools/gst-launch.c: (main):
9231 * tools/gst-run.c: (main):
9232 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9234 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9236 * gst/gstiterator.c: (gst_iterator_new):
9237 Add assertions to make sure passed GType is likely to really
9238 be a GType (as the compiler won't catch it if the size and
9239 GType arguments get mixed up, see #318447).
9241 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
9243 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9245 * gst/gstbin.c: (gst_bin_iterate_sorted):
9246 Pass GType and size arguments to gst_iterator_new() in the right
9247 order (maybe we should make _new() take the GType as first argument
9248 just like _new_list()?) (#318447).
9251 2005-10-10 Wim Taymans <wim@fluendo.com>
9253 * gst/gstelement.c: (gst_element_finalize):
9254 And free the GStaticRecMutex too
9256 2005-10-10 Andy Wingo <wingo@pobox.com>
9258 * gst/gstelement.c (gst_element_init, gst_element_finalize):
9259 Allocate and free the mutex properly.
9261 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9263 (GstElement): The state_lock is now recursive. Rebuild your
9264 plugins, suckers. Old macros adapted.
9266 * docs/gst/gstreamer-sections.txt: Doc updates.
9269 * gst/gstutils.c (g_static_rec_cond_timed_wait)
9270 (g_static_rec_cond_wait): Ported from state changes patch, while
9271 we wait on bug #317802 to be solved in a well-distributed GLib.
9273 * gst/gstelement.c (gst_element_change_state_func): Renamed from
9274 gst_element_change_state, variable name changes.
9275 (gst_element_change_state): Split out of gst_element_set_state in
9276 preparation for the state change merge. Doesn't pay attention to
9277 the 'transition' argument.
9278 (gst_element_set_state): Updates, hopefully purely cosmetic.
9279 (gst_element_sync_state_with_parent): MT-safety. Ported from the
9281 (gst_element_get_state_func): Renamed from get_state, cosmetic
9284 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9286 * gst/elements/gstelements.c:
9287 * win32/GStreamer.vcproj:
9289 * win32/dirent.c: (_tseekdir):
9290 * win32/gst-inspect.vcproj:
9291 * win32/gst-launch.vcproj:
9292 * win32/gstconfig.h:
9293 * win32/gstelements.vcproj:
9294 * win32/gstenumtypes.c: (gst_object_flags_get_type):
9295 * win32/gstreamer.def:
9297 updates for the win32 build (patch from Sebastien Moutte)
9299 2005-10-10 Andy Wingo <wingo@pobox.com>
9301 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9302 gst_bin_get_state, cleaned up (but no logic changes).
9303 (bin_element_is_sink): Comment updates.
9304 (sink_iterator_filter): Remove needless cast.
9305 (gst_bin_iterate_sinks): Doc update.
9306 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9307 cleaned up (but no logic changes).
9309 * check/states/sinks.c (test_src_sink): Cleanups from the state
9311 (test_livesrc_sink): Sync on the state.
9313 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9314 the state change patch.
9316 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9319 * check/gst/gstbin.c: Merge in some style fixes and additional
9320 checks from Wim's state change patch.
9322 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9324 * gst/base/gsttypefindhelper.c: (helper_find_peek),
9325 (gst_type_find_helper):
9326 Check whether we have the requested data already in our list of
9327 cached buffers before pulling a new buffer; also make the buffer
9328 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9330 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9335 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9336 don't use long long, it's not portable. Replacing with
9337 gint64 seems to work; let's hope no skeletons fall out of the closet.
9339 2005-10-10 Andy Wingo <wingo@pobox.com>
9341 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9343 2005-10-09 Stefan Kost <ensonic@users.sf.net>
9345 * docs/gst/gstreamer-sections.txt:
9350 * gst/gstmessage.c: (gst_message_parse_state_changed):
9353 more docs, fix compilation
9355 2005-10-09 Philippe Khalaf <burger@speedy.org>
9357 Fixed a few forgotten variables on previous commit
9359 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
9361 * gst/base/gsttypefindhelper.c: (helper_find_peek):
9362 Fix evil typefind crasher: getrange() might return a short
9363 buffer at the end of a file, but gst_type_find_peek() must
9364 either return the full data as requested or NULL, but
9365 never a short buffer.
9367 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
9369 * gst/gstmessage.c: (gst_message_new_state_changed),
9370 (gst_message_parse_state_changed):
9372 don't use "new", it's a C++ keyword
9374 2005-10-08 Wim Taymans <wim@fluendo.com>
9376 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9377 * gst/gstelement.c: (gst_element_post_message):
9378 * gst/gstpipeline.c: (gst_pipeline_change_state):
9379 Small docs and debug updates.
9381 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9383 * docs/gst/gstreamer-sections.txt:
9384 * gst/gstelementfactory.c:
9389 2005-10-08 Wim Taymans <wim@fluendo.com>
9391 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9392 (gst_bin_dispose), (bin_bus_handler):
9393 Fix typos, add comments.
9394 Clear EOS list when going to PAUSED from any direction and do it
9395 in a threadsafe way.
9396 Get base time in a threadsafe way too.
9397 Fix confusing debug in the change_state function.
9398 Various other small cleanups.
9400 * gst/gstelement.c: (gst_element_post_message):
9401 Fix very verbose bus posting code.
9403 * gst/gstpipeline.c: (gst_pipeline_class_init),
9404 (gst_pipeline_set_property), (gst_pipeline_get_property),
9405 (gst_pipeline_change_state):
9406 Small ARG_ -> PROP_ cleanup
9408 2005-10-08 Wim Taymans <wim@fluendo.com>
9410 * gst/gstbin.c: (is_eos), (bin_bus_handler):
9411 Do a less CPU demanding EOS check because we can.
9413 2005-10-08 Wim Taymans <wim@fluendo.com>
9415 * libs/gst/dataprotocol/dataprotocol.c:
9416 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9417 (gst_dp_packet_from_event):
9418 * libs/gst/dataprotocol/dataprotocol.h:
9419 * libs/gst/dataprotocol/dp-private.h:
9420 It's about time we bump the version number.
9421 Since event types don't fit in the guint8 anymore describing
9422 the payload type, make payload type 16 bits wide.
9424 2005-10-08 Wim Taymans <wim@fluendo.com>
9426 * docs/design/part-TODO.txt:
9427 * docs/design/part-clocks.txt:
9428 * docs/design/part-events.txt:
9429 * docs/design/part-gstbin.txt:
9430 * docs/design/part-gstelement.txt:
9431 * docs/design/part-gstpipeline.txt:
9432 * docs/design/part-live-source.txt:
9433 * docs/design/part-messages.txt:
9434 * docs/design/part-overview.txt:
9435 * docs/design/part-states.txt:
9438 2005-10-08 Wim Taymans <wim@fluendo.com>
9442 Fix event quark registration.
9443 Add some space between events so we can insert them in the
9446 2005-10-08 Wim Taymans <wim@fluendo.com>
9448 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9449 (gst_base_sink_handle_buffer):
9456 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9457 (gst_queue_set_property), (gst_queue_get_property):
9459 Remove old unused properties.
9461 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9462 * docs/gst/gstreamer-sections.txt:
9465 * gst/gstminiobject.c:
9466 * gst/gstminiobject.h:
9470 lots of new docs and doc fixes
9472 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9474 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9476 * gst/gstregistry.c: (gst_registry_lookup_locked),
9477 (gst_registry_scan_path_level):
9478 * gst/gstregistryxml.c: (load_plugin):
9479 Only ever load one plugin for a given plugin basename.
9480 This ensures correct overriding of GST_PLUGIN_PATH over
9481 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9482 system installed plugins.
9484 2005-10-08 Wim Taymans <wim@fluendo.com>
9486 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9487 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9488 Prepare for doing QOS.
9490 2005-10-08 Wim Taymans <wim@fluendo.com>
9492 * check/gst/gstbin.c: (GST_START_TEST):
9493 * check/pipelines/cleanup.c: (GST_START_TEST):
9494 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9495 Allow new clock message too.
9497 2005-10-08 Wim Taymans <wim@fluendo.com>
9499 * gst/gstmessage.c: (gst_message_new_error),
9500 (gst_message_new_warning), (gst_message_new_tag),
9501 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9502 (gst_message_new_clock_lost), (gst_message_new_new_clock),
9503 (gst_message_new_segment_start), (gst_message_new_segment_done),
9504 (gst_message_parse_state_changed),
9505 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9506 (gst_message_parse_new_clock):
9508 Also carry the clock in question.
9510 2005-10-08 Wim Taymans <wim@fluendo.com>
9512 * gst/gstmessage.c: (gst_message_new_custom),
9513 (gst_message_new_eos), (gst_message_new_error),
9514 (gst_message_new_warning), (gst_message_new_tag),
9515 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9516 (gst_message_new_new_clock), (gst_message_new_segment_start),
9517 (gst_message_new_segment_done), (gst_message_parse_state_changed),
9518 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9521 Added clock related messages.
9523 * gst/gstpipeline.c: (gst_pipeline_change_state):
9524 Post message when the clock changed.
9526 * tools/gst-launch.c: (event_loop):
9529 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
9531 * tools/gst-inspect.c: (print_element_properties_info):
9532 Can't pass NULL strings to g_print() on windows.
9534 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9537 * docs/gst/Makefile.am:
9538 * docs/gst/gstreamer-docs.sgml:
9539 * docs/gst/running.xml:
9540 * docs/version.entities.in:
9541 add a chapter on running GStreamer.
9542 document GST_DEBUG and GST_PLUGIN* env vars
9544 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9549 remove PLUGINS_BUILDDIR stuff
9550 * gst/gst.c: (init_post):
9551 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9553 remove, it was condescending and not needed
9555 2005-10-08 Wim Taymans <wim@fluendo.com>
9557 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9558 (gst_base_sink_handle_object), (gst_base_sink_event),
9559 (gst_base_sink_wait), (gst_base_sink_handle_event),
9560 (gst_base_sink_change_state):
9561 * gst/base/gstbasesink.h:
9562 Repost EOS message while going to PLAYING if still EOS.
9563 Make sure that when receiving a FLUSH_START we don't attempt
9564 to sync on the clock anymore.
9566 2005-10-08 Wim Taymans <wim@fluendo.com>
9568 * tools/gst-launch.c: (event_loop):
9569 Better message printout.
9571 2005-10-08 Wim Taymans <wim@fluendo.com>
9573 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9574 (gst_bin_child_proxy_get_children_count):
9575 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9576 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9577 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9578 (gst_child_proxy_set_valist):
9579 * gst/parse/grammar.y:
9580 Make ChildProxy threadsafe and fix mem leaks.
9582 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9584 * gst/gst.c: (init_post):
9585 debug the GST_PLUGIN_ env vars
9587 2005-10-08 Wim Taymans <wim@fluendo.com>
9589 * check/gst/gstbin.c: (GST_START_TEST):
9590 * check/gst/gstmessage.c: (GST_START_TEST):
9591 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9592 * gst/gstelement.c: (gst_element_commit_state),
9593 (gst_element_lost_state):
9594 * gst/gstmessage.c: (gst_message_new_state_changed),
9595 (gst_message_parse_state_changed):
9597 * tools/gst-launch.c: (event_loop):
9598 Added extra field to STATE_CHANGE message with the pending
9599 state, which will be different from the new state soon.
9601 2005-10-08 Wim Taymans <wim@fluendo.com>
9603 * gst/gstbus.c: (gst_bus_pop):
9605 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9606 Small cleanups and doc updates.
9608 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9610 * gst/gst.c: (init_pre):
9611 * gst/gstbin.c: (gst_bin_add_func):
9612 log distributing clocks and base time
9613 * gst/gstregistry.c: (gst_registry_add_plugin),
9614 (gst_registry_scan_path_level), (gst_registry_scan_path):
9615 clean up the debugging output a little
9616 * gst/gstutils.c: (gst_element_state_get_name):
9617 warn about a memleak (I've actually seen this be used, though
9618 it was probably a bug)
9620 2005-10-07 Wim Taymans <wim@fluendo.com>
9622 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9623 (gst_base_src_init), (gst_base_src_default_newsegment),
9624 (gst_base_src_newsegment), (gst_base_src_do_seek),
9625 (gst_base_src_loop), (gst_base_src_start):
9626 * gst/base/gstbasesrc.h:
9627 Make the newsegment event customizable by subclasses.
9629 2005-10-07 Wim Taymans <wim@fluendo.com>
9631 * gst/gstevent.c: (gst_event_new_buffersize),
9632 (gst_event_parse_buffersize):
9634 New event for future idea.
9636 2005-10-07 Andy Wingo <wingo@pobox.com>
9638 * gst/gstelement.c (gst_element_post_message): Doc update.
9640 * docs/gst/gstreamer-sections.txt: Update.
9642 * gst/gstmessage.c (gst_message_new_application): Made into a
9643 function like honest API calls.
9644 (gst_message_new_element): New message type.
9646 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9648 * check/elements/fakesrc.c (test_no_preroll): New check, checks
9649 that setting a live fakesrc to PAUSED returns NO_PREROLL both
9652 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9653 NO_PREROLL from gst_element_change_state to fall through.
9655 2005-10-07 Wim Taymans <wim@fluendo.com>
9657 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9658 (gst_ghost_pad_do_activate_push):
9659 Activating a ghostpad with no internal pad in push mode
9662 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
9665 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9666 Fixes compilation on Windows.
9668 2005-10-07 Michael Smith <msmith@fluendo.com>
9670 * tools/gst-inspect.c:
9671 Print out feature and plugin count at the end when printing out
9674 2005-10-04 Michael Smith <msmith@fluendo.com>
9676 * gst/gsterror.c: (_gst_stream_errors_init):
9677 Add another error string used in a few existing plugins.
9680 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9681 * tools/gst-inspect.c: (print_element_info):
9682 When a feature disappears from a plugin (and the feature exists in
9683 the cached registry file), things went horribly wrong. This isn't a
9684 complete fix, we should actually be removing the 'missing' features
9685 from the features list when we load the actual plugin. That's not
9688 2005-10-04 Johan Dahlin <johan@gnome.org>
9690 * check/gst/gstiterator.c: (GST_START_TEST):
9691 * gst/gstbin.c: (gst_bin_iterate_elements),
9692 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9693 * gst/gstelement.c: (gst_element_iterate_pads):
9694 * gst/gstformat.c: (gst_format_iterate_definitions):
9695 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9696 (gst_iterator_new_list), (gst_iterator_filter):
9697 * gst/gstiterator.h:
9698 * gst/gstquery.c: (gst_query_type_iterate_definitions):
9699 Add a GType to GstIterator, update callsites and tests.
9701 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9703 * gst/gstpad.c: (gst_pad_event_default_dispatch):
9704 give events a chance to be handled by event probes when the pad
9707 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9709 * gst/gstevent.c: (gst_event_type_get_name),
9710 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9712 add string representations for event types
9714 2005-10-06 Wim Taymans <wim@fluendo.com>
9716 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9717 Don't use NULL pointers.
9719 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9721 * gst/gst_private.h:
9725 * gst/gstpluginfeature.c:
9726 widen the debug category in output to fit the biggest one we have
9727 add a bus category and use it
9728 play with the colors
9729 fix up some categories
9731 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9733 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9734 add push activation of sink ghost pads.
9735 Andye, please verify
9737 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
9739 * gst/gstutils.c: (gst_element_link_pads):
9740 fix a bug in the case where neither element has a pad
9741 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9742 add a test for that case
9744 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
9746 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9747 emit have-data before checking for peers. This allows
9748 for probe handlers to connect elements. This helps autopluggers.
9749 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9751 add six checks, linked/unlinked with no/true/false probe
9753 2005-10-04 Wim Taymans <wim@fluendo.com>
9755 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9756 (gst_fake_sink_event), (gst_fake_sink_preroll),
9757 (gst_fake_sink_render), (gst_fake_sink_change_state):
9758 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9759 (gst_fake_src_get_property), (gst_fake_src_create),
9760 (gst_fake_src_stop):
9761 * gst/elements/gstidentity.c: (gst_identity_stop):
9762 Protect last_message with lock.
9764 2005-10-04 Edward Hervey <edward@fluendo.com>
9767 Added precision in the comments for GST_FORMAT_DEFAULT
9769 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
9771 * tools/gst-launch.c: (main):
9772 Don't try to run erroneous pipelines.
9774 2005-10-04 Julien MOUTTE <julien@moutte.net>
9776 * gst/gstbus.c: We don't need this header.
9778 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
9783 === release 0.9.3 ===
9785 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
9789 Releasing 0.9.3, "Unregistered"
9791 2005-10-03 Andy Wingo <wingo@pobox.com>
9793 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9794 whereby calling a pad's activatepush() function can start a thread
9795 that starts to push or pull before the pad gets the FLUSHING flag
9796 unset. Hack around it by holding the stream lock until the flag is
9797 set. Need to replace this with a proper solution. Together with
9798 the ghost pad fixes, this fixes mp3 playing/tagreading.
9800 * docs/design/part-gstghostpad.txt: Add a note about activation of
9801 proxy pads outside of ghost pads.
9803 * gst/gstghostpad.c: Implement the ghost pad activation design.
9805 2005-10-02 Andy Wingo <wingo@pobox.com>
9807 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9808 It is volatile, after all.
9810 * docs/design/part-gstghostpad.txt: Flesh out activation with
9813 * gst/base/gstbasesrc.c (gst_base_src_init): Use
9816 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
9819 Fix (unused) AM_CONDITIONAL tests.
9821 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
9823 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9825 * gst/gstutils.c: (gst_pad_query_convert):
9826 Add assertion that makes sure src_val is >=0, just like
9827 gst_query_new_convert() has. (#315895)
9829 2005-09-30 Edward Hervey <edward@fluendo.com>
9831 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9832 Let's not iterate pads we're not interested in, it avoids getting
9833 sky-high refcounts on sinkpad.
9835 2005-09-30 Wim Taymans <wim@fluendo.com>
9837 * gst/gstelement.c: (gst_element_set_state),
9838 (gst_element_change_state):
9839 Small tweak, element in ASYNC remains ASYNC.
9841 2005-09-30 Wim Taymans <wim@fluendo.com>
9843 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9844 Only error is an error.
9846 * gst/gstbin.c: (gst_bin_change_state):
9849 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9850 Also call pad_block in pad alloc.
9852 * gst/gstutils.c: (gst_flow_get_name):
9855 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
9857 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9858 (gst_base_src_get_range):
9859 Fix documentation typos. Add some more debug info.
9861 2005-09-29 David Schleef <ds@schleef.org>
9863 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9864 more end-user friendly.
9865 * tools/gst-inspect.c: (main): Check if command-line argument is
9866 a file and attempt to load that file as a plugin.
9868 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
9870 * check/gst/gstbin.c:
9871 * check/states/sinks.c:
9872 fix tests for the new warning
9873 * check/gst/gstpipeline.c:
9874 add a test for pipeline and bus interaction
9876 elements should be NULL if they get disposed; add a warning if not
9878 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
9881 for 2.6 refcounting, make debug log more correct by printing
9882 the actual refcounts at the time of swap (Wim)
9884 2005-09-29 Andy Wingo <wingo@pobox.com>
9886 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9887 removes signal watches previously added via
9888 gst_bus_add_signal_watch.
9889 (gst_bus_add_signal_watch): Don't return the source id, just store
9890 it on the bus if there wasn't an id already.
9892 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9893 add_signal_watch and remove_signal_watch.
9895 2005-09-29 Edward Hervey <edward@fluendo.com>
9897 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
9898 Better if we actually iterate the list :)
9900 2005-09-29 Wim Taymans <wim@fluendo.com>
9902 * check/gst/gstbin.c: (GST_START_TEST):
9903 Change for new bus API.
9905 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9906 (send_messages), (GST_START_TEST), (gstbus_suite):
9907 Change for new bus signal API.
9909 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9910 (gst_bus_source_prepare), (gst_bus_source_check),
9911 (gst_bus_create_watch), (gst_bus_add_watch_full),
9912 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9913 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9915 Remove support for multiple GSources operating on different
9916 message types as it is too complex and unneeded when using
9918 Added support for receiving signals from the bus.
9920 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
9922 * docs/libs/tmpl/gstdataprotocol.sgml:
9923 * docs/manual/advanced-dataaccess.xml:
9924 * gst/elements/gstcapsfilter.c:
9926 rename filter-caps to caps property
9928 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
9930 * gst/gstvalue.c: (gst_value_deserialize_fraction):
9931 More robust fraction string parsing.
9933 * docs/pwg/appendix-porting.xml:
9934 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9936 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
9938 * gst/gstcaps.c: (gst_caps_do_simplify):
9939 Thou shalt not free a structure and then continue using it
9940 in the next loop iteration.
9942 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9944 Add test case for caps simplification.
9946 2005-09-29 Wim Taymans <wim@fluendo.com>
9948 * check/gst/gstbin.c: (GST_START_TEST):
9951 2005-09-29 Wim Taymans <wim@fluendo.com>
9953 * check/gst/gstbin.c: (GST_START_TEST):
9956 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9957 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9958 (find_element), (gst_bin_sort_iterator_next),
9959 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9960 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9961 (gst_bin_change_state), (gst_bin_dispose):
9962 A bin does not have a bus, it gets the bus from the parent.
9964 * gst/gstelement.c: (gst_element_requires_clock),
9965 (gst_element_provides_clock), (gst_element_is_indexable),
9966 (gst_element_is_locked_state), (gst_element_change_state),
9967 (gst_element_set_bus_func):
9970 * gst/gstpipeline.c: (gst_pipeline_class_init),
9971 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9972 The pipeline provides a bus.
9974 2005-09-28 Johan Dahlin <johan@gnome.org>
9976 * gst/gstmessage.c (gst_message_parse_state_changed): Use
9977 gst_structure_get_enum instead of gst_structure_get_int
9979 * gst/gststructure.c (gst_structure_get_enum): Impl.
9981 * gst/gststructure.h (gst_structure_get_enum): Add
9983 * docs/gst/gstreamer-sections.txt: Ditto
9985 * gst/gstmessage.c (gst_message_new_state_changed): Use
9986 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9987 which does introspection.
9988 Reviewed by Christian Schaller
9990 2005-09-28 Stefan Kost <ensonic@users.sf.net>
9992 * gst/gstinfo.c: (gst_debug_log_default):
9993 don't do dummy g_strdup()s
9994 * libs/gst/controller/gstcontroller.c:
9995 (on_object_controlled_property_changed),
9996 (gst_controlled_property_new), (gst_controller_new_valist),
9997 (gst_controller_new_list),
9998 (gst_controller_remove_properties_valist), (gst_controller_set),
9999 (gst_controller_get), (gst_controller_sync_values),
10000 (gst_controller_get_value_array), (_gst_controller_class_init),
10001 (gst_controller_get_type):
10002 * libs/gst/controller/gstcontroller.h:
10003 * libs/gst/controller/gstinterpolation.c:
10004 (gst_controlled_property_find_timed_value_node):
10005 convert // to /**/ comments
10007 2005-09-28 Wim Taymans <wim@fluendo.com>
10009 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10010 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10011 (gst_bus_sync_signal_handler):
10013 Added async-message and sync-message signals to the bus.
10014 Added helper BusFunc to emit signals for all posted messages.
10016 * gst/gstmessage.c: (gst_message_type_get_name),
10017 (gst_message_type_to_quark), (gst_message_get_type):
10018 * gst/gstmessage.h:
10019 Register quarks for message names.
10021 2005-09-28 Stefan Kost <ensonic@users.sf.net>
10023 * docs/libs/gstreamer-libs-sections.txt:
10024 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10025 (gst_controller_new_list):
10026 * libs/gst/controller/gstcontroller.h:
10027 added another constructor for language bindings
10029 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
10031 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10035 * gst/gstinfo.c: (_gst_debug_init):
10036 slightly more readable color for refcount debugging
10038 2005-09-28 Wim Taymans <wim@fluendo.com>
10040 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10041 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10042 (find_element), (gst_bin_sort_iterator_next),
10043 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10044 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10045 (gst_bin_change_state), (gst_bin_dispose):
10046 Small doc fixes. get_clock -> provide_clock.
10048 * gst/gstelement.c: (gst_element_class_init),
10049 (gst_element_provides_clock), (gst_element_provide_clock),
10050 (gst_element_get_clock), (gst_element_commit_state),
10051 (gst_element_lost_state):
10052 * gst/gstelement.h:
10053 Make get/set_clock() symetric. Add provide_clock vmethod since
10054 that is actually what this function does.
10056 * gst/gstpipeline.c: (gst_pipeline_class_init),
10057 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10058 (gst_pipeline_get_clock):
10059 get_clock -> provide_clock.
10061 2005-09-28 Andy Wingo <wingo@pobox.com>
10063 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10064 lieu of real docs...
10066 * gst/elements/gstfdsrc.c: Cleaned up a bit.
10068 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
10070 * gst/elements/gstcapsfilter.c:
10071 * gst/elements/gstfakesink.c:
10072 * gst/elements/gstfakesrc.c:
10073 * gst/elements/gstfdsink.c:
10074 * gst/elements/gstfdsrc.c:
10075 * gst/elements/gstfilesink.c:
10076 * gst/elements/gstfilesrc.c:
10077 * gst/elements/gstidentity.c:
10078 * gst/elements/gsttee.c:
10079 * gst/elements/gsttypefindelement.c:
10080 Make element details static.
10082 2005-09-28 Wim Taymans <wim@fluendo.com>
10084 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10085 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10086 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10087 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10088 (gst_bin_change_state), (gst_bin_dispose):
10089 Some documentation updates.
10090 Clean up dispose handlers.
10092 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10093 * gst/gstpad.c: (gst_pad_dispose):
10094 Clean up dispose handler.
10096 * gst/gstpipeline.c: (gst_pipeline_change_state):
10097 Removed spurious UNLOCK.
10099 2005-09-27 Stefan Kost <ensonic@users.sf.net>
10101 * docs/gst/gstreamer-sections.txt:
10102 * gst/base/gstbasesrc.h:
10103 * gst/gstelement.h:
10107 * gst/gstpipeline.c:
10108 * gst/gstpipeline.h:
10111 added two new functions to the docs
10112 documents all undocumented GstXXXFlags
10113 completed some incomplete docs
10115 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
10117 * gst/gstbin.c: (gst_bin_dispose):
10118 * gst/gstelement.c: (gst_element_dispose):
10119 remove now useless and leaky resurrection code in dispose
10120 * gst/base/gstbasesrc.c: (gst_base_src_init):
10121 * gst/gstelementfactory.c: (gst_element_factory_create):
10122 * gst/gstobject.c: (gst_object_set_parent):
10125 2005-09-27 Wim Taymans <wim@fluendo.com>
10127 * docs/design/part-TODO.txt:
10130 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10131 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10132 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10133 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10134 (gst_bin_change_state):
10135 * gst/gstelement.h:
10136 Remove element variable, we keep element info in the iterator now.
10138 2005-09-27 Andy Wingo <wingo@pobox.com>
10140 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10143 2005-09-27 Wim Taymans <wim@fluendo.com>
10145 * check/gst/gstbin.c: (GST_START_TEST):
10146 Enable check that works now.
10148 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10149 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10150 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10151 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10152 (gst_bin_change_state):
10154 Redid the state change algorithm using a topological sort algo.
10155 Handles all cases correctly.
10156 Exposed iterator for state change order.
10158 * gst/gstelement.h:
10159 Temp storage for state changes. Need to get rid of this soon.
10161 2005-09-27 Wim Taymans <wim@fluendo.com>
10163 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10164 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10165 (link_fold_func), (gst_pad_proxy_setcaps):
10166 Leak fixes, the fold functions need to unref the passed object and
10167 _get_parent_*() returns ref to parent.
10169 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10171 * check/gst/gstbuffer.c: (test_make_writable):
10172 Plug leak in test case and fix 'make check-valgrind'
10174 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10176 * gst/gstbuffer.c: (gst_subbuffer_init):
10177 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10178 works correctly in all circumstances (we could have just copied
10179 the parent buffer's readonly flag, but conceptually it seems
10180 cleaner to mark all subbuffers as read-only). (based on patch
10181 by Alessandro Decina, #314710).
10183 * check/gst/gstbuffer.c: (create_read_only_buffer),
10184 (test_make_writable), (test_subbuffer_make_writable),
10186 Add some tests for gst_buffer_make_writable().
10188 2005-09-27 Wim Taymans <wim@fluendo.com>
10190 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10191 use gst_object_has_ancestor().
10193 * gst/gstobject.c: (gst_object_has_ancestor):
10195 gst_object_has_ancestor() copied from gstbin.c as it is a
10198 * tests/instantiate/create.c: (create_all_elements):
10199 * tests/lat.c: (handoff_src), (handoff_sink):
10200 * tests/sched/runxml.c: (main):
10201 * tests/seeking/seeking1.c: (main):
10202 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10204 Fix compilation of some tests.
10206 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10209 Remove comment. GST_TYPE_G_ERROR is here to stay,
10210 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10211 (#316961, #300610).
10213 2005-09-26 Wim Taymans <wim@fluendo.com>
10215 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10216 Added check that shows error in state change order.
10218 2005-09-26 Wim Taymans <wim@fluendo.com>
10220 * gst/gstbin.c: (gst_bin_change_state):
10221 Make state change function use 3 queues again, we were
10222 adding elements in the wrong order.
10224 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10227 * gst/gstpad.c: (gst_pad_dispose):
10228 Added some debug info first.
10230 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
10232 * docs/design/draft-push-pull.txt:
10233 * docs/design/part-events.txt:
10234 * docs/design/part-overview.txt:
10235 * docs/design/part-scheduling.txt:
10236 Replace all _pull_region() with _pull_range()
10238 2005-09-26 Andy Wingo <wingo@pobox.com>
10240 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10242 * check/gst-libs/controller.c: Update for controller api change.
10245 * tests/Makefile.am:
10246 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10247 over by GLib bug 118439.
10249 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10250 routines to a function.
10252 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10254 * libs/gst/controller/gsthelper.c:
10255 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10256 (gst_object_sync_values): Renamed from sink_values. Ugh.
10258 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10260 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10261 Renamed from controller_key, as it is exported.
10263 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10265 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
10270 * gst/gstpadtemplate.h:
10273 * gst/gstqueryutils.c:
10274 * gst/gstqueryutils.h:
10275 remove queryutils headers after moving the two used functions
10276 to gstquery. also fixes build problem for gstsiddec
10278 2005-09-26 Michael Smith <msmith@fluendo.com>
10280 * tools/gst-launch.1.in:
10281 Correct documentation in manpage of debug syntax
10283 2005-09-26 Wim Taymans <wim@fluendo.com>
10285 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10286 (gst_base_src_is_seekable), (gst_base_src_change_state):
10287 Some more debugging info.
10289 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10291 * docs/gst/gstreamer-sections.txt:
10292 * gst/base/gstbasetransform.h:
10296 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10298 * docs/gst/.cvsignore:
10299 * docs/gst/tmpl/.cvsignore:
10300 * docs/gst/tmpl/gstpipeline.sgml:
10301 * docs/gst/tmpl/gstplugin.sgml:
10302 * gst/gstpipeline.c:
10305 inlined the last two docs files
10306 removed the tmpl directory from cvs (no more conflicts here!)
10308 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10310 * docs/gst/gstreamer-sections.txt:
10311 * docs/gst/tmpl/.cvsignore:
10312 * docs/gst/tmpl/gstpad.sgml:
10313 * docs/gst/tmpl/gstpadtemplate.sgml:
10315 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10316 (gst_pad_finalize), (gst_pad_set_pad_template):
10318 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10319 (gst_pad_template_class_init), (gst_pad_template_init),
10320 (gst_pad_template_dispose), (name_is_valid),
10321 (gst_static_pad_template_get), (gst_pad_template_new),
10322 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10323 (gst_pad_template_pad_created):
10324 * gst/gstpadtemplate.h:
10325 inlined two more docs
10326 factored gstpadtemplate out of gstpad
10328 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
10330 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10331 (test_children_state_change_order_semi_sink):
10332 Fix test case: we can't rely on a fixed state change order when
10333 going from READY => PAUSED because the sink might commit its
10334 new state first when the first buffer created by the source
10335 reaches the sink before the source has finished its change state.
10336 (Test case still fails at times, see #316856, comment 5 onwards)
10338 2005-09-24 Wim Taymans <wim@fluendo.com>
10340 * docs/design/part-events.txt:
10341 * docs/design/part-gstbus.txt:
10342 * docs/design/part-gstpipeline.txt:
10343 * docs/design/part-messages.txt:
10344 * docs/design/part-overview.txt:
10345 * docs/design/part-segments.txt:
10349 * gst/gstelement.c:
10352 * gst/gstiterator.c:
10353 Various documentation updates.
10355 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
10358 Well, that's embarassing. Luckily we weren't using
10359 GST_CLOCK_DIFF anywhere.
10361 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10363 * common/gtk-doc.mak:
10364 don't fail on building XML, FC4 slave shows a bunch of doc
10365 missing bits that I don't get
10367 * gst/gstpipeline.c:
10368 * gst/gststructure.c:
10371 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10373 * docs/design/part-gstbin.txt:
10374 * docs/design/part-gstbus.txt:
10376 Add blurb about how the bus goes into flushing mode and
10377 drops all messages when its bin goes from READY into NULL
10380 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10382 * docs/gst/gstreamer-sections.txt:
10383 * gst/gststructure.c: (gst_structure_get_clock_time):
10384 * gst/gststructure.h:
10385 add a method to get a GstClockTime out of a structure
10387 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10389 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10390 (test_children_state_change_order_semi_sink), (gst_bin_suite):
10391 Added test to check state change order in bins (can still be made
10392 to fail here under heavy disk load; bails out with 'Push on pad
10393 fakesink:sink0, but it was not activated in push mode').
10395 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10396 Fix state change order when there is only a semi sink (#316856)
10398 * gst/gstbus.c: (gst_bus_class_init):
10399 Use _class_peek_parent(), not _class_ref(); fix docs to say
10400 'default main context' instead of 'mainloop' where that is
10403 * gst/gstelement.c: (gst_element_commit_state),
10404 (gst_element_set_state):
10405 Fix typos in debug messages
10407 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10410 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10411 * gst/gstpluginfeature.c:
10413 various doc updates
10414 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10415 change an assert into an error until it gets fixed properly
10417 2005-09-23 Stefan Kost <ensonic@users.sf.net>
10419 * docs/gst/gstreamer-sections.txt:
10420 * docs/gst/tmpl/.cvsignore:
10421 * docs/gst/tmpl/gstelement.sgml:
10422 * docs/gst/tmpl/gstinfo.sgml:
10423 * docs/gst/tmpl/gstobject.sgml:
10424 * gst/gstelement.c:
10425 * gst/gstelement.h:
10428 * gst/gstobject.c: (gst_object_class_init):
10430 inlined 3 more biiiig doc files and added some missing docs on the fly
10432 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10434 * check/gst/.cvsignore:
10435 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10436 * gst/gstregistryxml.c: (load_plugin),
10437 (gst_registry_xml_save_plugin):
10438 put back source in registry. add checks for find_plugin.
10439 * testsuite/states/bin.c: (assert_state), (empty_bin),
10440 (test_adding_one_element), (main):
10441 * testsuite/states/locked.c: (main):
10442 some compile/run fixes
10444 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
10446 * check/gst/gstvalue.c: (GST_START_TEST):
10447 fix leaks in the test itself
10449 2005-09-22 Wim Taymans <wim@fluendo.com>
10451 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10452 (gst_base_sink_send_event), (gst_base_sink_peer_query),
10453 (gst_base_sink_query):
10454 Prepare for more accurate position reporting and query
10457 * gst/gstelement.c: (gst_element_send_event),
10458 (gst_element_set_state):
10461 2005-09-22 Wim Taymans <wim@fluendo.com>
10463 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10464 (gst_query_parse_segment):
10466 More documentation.
10467 Add segment query for future use.
10469 2005-09-22 Wim Taymans <wim@fluendo.com>
10471 * gst/gstbin.c: (gst_bin_add_func):
10472 Some more debug info.
10474 * gst/gstelement.c: (gst_element_send_event):
10475 Simplify send_event
10477 * gst/gstelement.h:
10478 Don't know how flags got broken.
10483 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10485 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10486 Add simplistic test suite for GST_TYPE_DATE serialisation and
10489 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10491 * docs/gst/gstreamer-sections.txt:
10492 * gst/gststructure.c: (gst_structure_set_valist),
10493 (gst_structure_get_date):
10494 * gst/gststructure.h:
10495 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10496 (gst_date_copy), (gst_value_compare_date),
10497 (gst_value_serialize_date), (gst_value_deserialize_date),
10498 (gst_value_transform_date_string),
10499 (gst_value_transform_string_date), (_gst_value_initialize):
10501 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10502 bunch of utility functions along with a hack that checks that
10503 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10504 is required. Part of the grand scheme in #170777.
10506 2005-09-22 Andy Wingo <wingo@pobox.com>
10508 * gst/gstconfig.h.in: Psych out gtk-doc.
10510 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10512 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10514 * tools/gst-inspect.c (print_element_list): Plug some
10515 inconsequential leaks.
10517 * gst/gstregistry.c (gst_registry_get_default): Doc.
10519 * check/gst/gstplugin.c:
10520 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10521 * gst/gstelementfactory.c (gst_element_factory_create):
10522 * gst/gstindexfactory.c (gst_index_factory_create): Update for
10525 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10526 (gst_plugin_feature_load): Doc, don't eat refs.
10528 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10529 (gst_plugin_list_free): Doc.
10530 (gst_plugin_load_file): Doc updates.
10532 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10533 accessors returning refcounted objects, return a ref.
10535 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10536 accessor for caps. IDEMPOTENCE. Oh yes.
10538 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
10540 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10542 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10543 (_gst_debug_register_funcptr):
10544 Add mutex to serialise access to the hash table with
10545 the function pointer => function name string mapping;
10546 make that hash table static scope (#316809).
10548 * gst/registries/.cvsignore:
10549 Remove left-over file.
10551 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
10553 * docs/pwg/appendix-porting.xml:
10554 And something about newsegment events and caps-on-buffers to
10555 the porting guide (feel free to improve).
10557 2005-09-21 Andy Wingo <wingo@pobox.com>
10559 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10560 data and event probes on the same pad.
10561 (test_buffer_probe_once): Test that removing probes from within
10562 the probe functions works.
10564 2005-09-21 Andy Wingo <wingo@pobox.com>
10566 * check/gst/gstutils.c: New file.
10567 (test_buffer_probe_n_times): A simple buffer probe test. More to
10570 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10571 have-data::buffer, not have-data.
10572 (gst_pad_add_event_probe): Likewise for have-data::event.
10573 (gst_pad_add_data_probe): More docs. The part about 'resolving the
10574 peer' isn't quite right yet though.
10575 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
10576 (gst_pad_remove_data_probe): Change to take the guint handler_id
10577 as their arg, not the function+data, which is more glib-like.
10579 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10580 the signal emission to indicate if the data is a buffer or an
10582 (gst_pad_get_type): Initialize buffer and event quarks.
10583 (gst_pad_class_init): have-data is now a detailed signal, yes it
10586 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
10588 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10589 * gst/gstutils.c: (gst_util_set_value_from_string),
10590 (gst_util_set_object_arg):
10591 Don't put functional code in g_return_if_fail() or
10592 g_return_val_if_fail() statements, otherwise things will
10593 break when G_DISABLE_CHECKS is defined during compilation.
10595 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10597 * docs/gst/tmpl/.cvsignore:
10598 * docs/gst/tmpl/gstvalue.sgml:
10601 inlied another one and added some obvious docs
10603 2005-09-21 Wim Taymans <wim@fluendo.com>
10605 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10606 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10607 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10608 (gst_fdsrc_get_property), (gst_fdsrc_create):
10609 * gst/elements/gstfdsrc.h:
10610 Properly implement fdsrc. Removed signal and timeout,
10611 better implemented somewhere else.
10613 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10615 * docs/gst/tmpl/.cvsignore:
10616 * docs/gst/tmpl/gstimplementsinterface.sgml:
10617 * gst/gstinterface.c:
10620 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10622 * docs/gst/gstreamer-sections.txt:
10623 * docs/gst/tmpl/.cvsignore:
10624 * docs/gst/tmpl/gstenumtypes.sgml:
10625 remove obsolete doc file
10627 2005-09-21 David Schleef <ds@schleef.org>
10629 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10630 little beer, fix a little leak.
10632 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10634 * docs/gst/gstreamer-docs.sgml:
10635 * docs/gst/gstreamer-sections.txt:
10636 * docs/gst/tmpl/.cvsignore:
10640 * gst/gstelement.h:
10641 * gst/gstindex.c: (gst_index_class_init):
10643 * gst/gstindexfactory.c: (gst_index_factory_get_type),
10644 (gst_index_factory_class_init), (gst_index_factory_init),
10645 (gst_index_factory_finalize), (gst_index_factory_new),
10646 (gst_index_factory_destroy), (gst_index_factory_find),
10647 (gst_index_factory_create), (gst_index_factory_make):
10648 * gst/gstindexfactory.h:
10649 * gst/gstpluginfeature.c:
10650 * gst/gstpluginfeature.h:
10651 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10652 more docs inlined, splitted gstindex.{c,h}
10654 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10656 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10659 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
10661 * gst/elements/gstfilesink.c: (gst_file_sink_init):
10662 Set sync to FALSE by default.
10664 2005-09-20 Wim Taymans <wim@fluendo.com>
10666 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10667 (gst_base_sink_init):
10668 Make sync property settable from subclass.
10670 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10671 (gst_fake_sink_change_state):
10672 Set sync to FALSE by default.
10674 2005-09-20 Wim Taymans <wim@fluendo.com>
10676 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10677 * tools/gst-launch.c: (main):
10678 The timeout handler should have lower priority than the source
10679 so we don't timeout before popping a message with 0 timeout.
10680 Dump error messages after failed state change.
10682 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
10684 * tools/gst-inspect.c: (print_element_properties_info):
10687 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10689 * check/gst/gstevent.c:
10690 * gst/elements/gstfakesink.c:
10691 * gst/elements/gstfakesink.h:
10692 remove the sync property from fakesink.
10693 has the side effect of setting sync TRUE
10694 for fakesink, which is a change. Anyone who knows how
10695 to fix this nicely in a GObject-y way, feel free.
10697 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10699 * docs/gst/gstreamer-docs.sgml:
10700 remove probe refsection
10702 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10704 * check/Makefile.am:
10705 disable valgrinding the controller test again
10706 * docs/gst/gstreamer-sections.txt:
10707 update for api-changes
10709 2005-09-20 Wim Taymans <wim@fluendo.com>
10711 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10712 (gst_base_sink_set_property), (gst_base_sink_get_property),
10713 (gst_base_sink_do_sync):
10714 * gst/base/gstbasesink.h:
10715 Added sync property to basesink to disable clock sync.
10717 2005-09-20 Andy Wingo <wingo@pobox.com>
10719 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10720 eating the caller's refcount.
10722 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
10723 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10726 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10727 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10728 of GLib 2.8 public, so we can know which refcount to check in
10731 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10732 (gst_object_init): Only set the gst refcount if we're going ahead
10733 with the refcount hack.
10735 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10737 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10738 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10739 more leaks plumbed, added more debug-logging
10743 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10745 * gst/gstmessage.c:
10746 remove include of gstmemchunk.h
10748 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10750 * gst/gstclock.c: (_gst_clock_id_free):
10751 Commit from the Political Party For More Atomic CVS Commits,
10752 so that people don't waste too much of their day fishing
10753 out obvious leaks out of massive commits.
10754 Oh, and fix a pretty damn obvious leak in the memchunk
10757 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10759 * check/Makefile.am:
10760 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10761 plug mem-leak, re-add to valgrindable tests
10763 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10766 unbreak the build for those who have chronic arthritis
10767 and typing "make check" is just too taxing on the hands
10769 2005-09-20 Andy Wingo <wingo@pobox.com>
10771 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10772 really want it out, you should fix plugins at the same time.
10774 2005-09-19 Stefan Kost <ensonic@users.sf.net>
10777 * docs/gst/gstreamer-sections.txt:
10779 added missing symbols to api docs
10780 disable ref-count hack if we have glib >= 2.8
10782 2005-09-19 David Schleef <ds@schleef.org>
10784 * docs/gst/Makefile.am: Ignore a few more internal headers
10785 * docs/gst/gstreamer-docs.sgml: Remove old sections
10786 * docs/gst/gstreamer-sections.txt: Remove old sections
10787 * docs/gst/tmpl/gstobject.sgml: update
10788 * docs/gst/tmpl/gstplugin.sgml: update
10789 * docs/gst/tmpl/gstpluginfeature.sgml: update
10790 * docs/random/ds/0.9-suggested-changes: update.
10791 * gst/Makefile.am: remove memchunk and trashstack, since they're
10793 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10794 * gst/gst.h: don't include some headers
10795 * gst/gstchildproxy.c: add gstmarshal.h
10796 * gst/gstclock.c: Don't use memchunks
10797 * gst/gstminiobject.c: Add some docs
10798 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10799 * gst/gstobject.h: same
10800 * gst/gstplugin.c: include gstmacros.h
10801 * gst/gstplugin.h: don't include gstmacros.h, since it's private
10802 * gst/gstquery.c: don't use memchunks
10803 * gst/gstregistry.c: rename gst_registry_deinit()
10804 * gst/gstregistry.h: same
10806 2005-09-19 David Schleef <ds@schleef.org>
10808 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10809 * docs/libs/gstreamer-libs-sections.txt:
10810 * docs/libs/tmpl/gstgetbits.sgml:
10811 * docs/libs/tmpl/gstputbits.sgml:
10813 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
10815 * win32/gstenumtypes.c:
10816 * win32/gstenumtypes.h:
10819 2005-09-19 Wim Taymans <wim@fluendo.com>
10821 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10822 Automatically PAUSE and RESUME a pipeline when a flushing seek
10825 2005-09-19 Andy Wingo <wingo@pobox.com>
10827 * gst/gstregistry.h: Spacing fixen.
10829 2005-09-19 Wim Taymans <wim@fluendo.com>
10831 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10832 Handle state change failure more correctly.
10834 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
10836 * check/Makefile.am:
10837 * check/pipelines/cleanup.c: (run_pipeline):
10838 * check/pipelines/simple_launch_lines.c: (run_pipeline),
10840 enable cleanup again after fixing the leak
10842 some more info on docs
10844 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
10846 * check/Makefile.am:
10847 re-enable tests now that leaks are plugged
10849 * check/gst/gstbin.c:
10850 * check/gst/gstpipeline.c:
10851 add some more tests while fixing leaks
10852 * common/check.mak:
10853 make sure binaries are uptodate when valgrinding/gdbing
10855 * gst/gstelementfactory.c:
10856 remove a ref too many, and add a FIXME for when we get
10857 round to disposing of classes
10859 fix the refcounting when loading a plugin from a file and
10860 the code pretends that the pointer is the same even though
10861 of course it can change
10862 * gst/gstpluginfeature.c:
10863 unref plugins marked cached (a bit confusing as a name)
10864 as the docs state should be done
10865 various doc additions to explain refcounting
10866 * gst/gstregistry.c:
10867 * gst/gstregistryxml.c:
10870 2005-09-19 Wim Taymans <wim@fluendo.com>
10872 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10873 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10874 (send_messages), (GST_START_TEST), (gstbus_suite):
10875 * check/gst/gstpipeline.c: (GST_START_TEST):
10876 * check/pipelines/cleanup.c: (run_pipeline):
10877 * check/pipelines/simple_launch_lines.c: (run_pipeline),
10879 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10880 (gst_bus_source_check), (gst_bus_source_dispatch),
10881 (gst_bus_create_watch), (gst_bus_add_watch_full),
10882 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10884 * tools/gst-launch.c: (event_loop):
10885 * tools/gst-md5sum.c: (event_loop):
10886 GstBusHandler -> GstBusFunc, return value has the same meaning as
10887 any other GSource (FALSE == remove source).
10888 _add_watch() and _add_watch_full() now take a MessageType mask to
10889 only handle specific types of messages.
10890 _poll() returns the GstMessage instead of the message type to avoid
10892 _have_pending() takes a MessageType mask now too.
10893 Added testsuite for multiple bus watches.
10894 Fix testsuites and applications for new bus API.
10896 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
10898 * check/Makefile.am:
10899 mark a bunch of the tests as to fix until we fix them
10901 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
10903 * common/check.mak:
10904 use GST_PLUGIN settings for valgrind tests as well, so we're
10905 valgrinding the correct thing
10906 * gst/gst.c: (init_post):
10909 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
10911 * gst/gst.c: (init_post), (gst_deinit):
10912 * gst/gstelementfactory.c: (gst_element_factory_class_init),
10913 (gst_element_factory_finalize), (gst_element_factory_cleanup):
10914 * gst/gstindex.c: (gst_index_factory_class_init),
10915 (gst_index_factory_finalize):
10916 * gst/gstobject.c: (gst_object_dispose):
10917 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10918 (gst_plugin_load_file), (gst_plugin_desc_free):
10919 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10920 (gst_plugin_feature_finalize):
10921 * gst/gstregistry.c: (gst_registry_class_init),
10922 (gst_registry_init), (gst_registry_finalize),
10923 (gst_registry_get_default), (gst_registry_deinit):
10924 * gst/gstregistry.h:
10925 * gst/gstregistryxml.c: (load_feature), (load_plugin):
10926 various cleanups and memleak plugging. make valgrind is happy now.
10928 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
10930 * common/check.mak:
10931 add a check-valgrind target
10933 2005-09-18 David Schleef <ds@schleef.org>
10935 * tools/gst-inspect.c: Revert the GOption code.
10937 2005-09-17 David Schleef <ds@schleef.org>
10939 * check/Makefile.am: Fix environment variables.
10940 * check/gst/gstplugin.c: Fix for API changes.
10941 * tools/gst-inspect.c: Fix for API changes.
10942 * tools/gst-xmlinspect.c: Fix for API changes.
10943 * gst/gstelementfactory.c:
10946 * gst/gstpluginfeature.c:
10947 * gst/gstpluginfeature.h:
10948 * gst/gstregistry.c:
10949 * gst/gstregistry.h:
10950 * gst/gstregistryxml.c:
10951 * gst/gsttypefind.c:
10952 * gst/gsttypefindfactory.c:
10953 * gst/indexers/gstfileindex.c:
10954 * gst/indexers/gstmemindex.c:
10955 * gst/schedulers/Makefile.am:
10956 Change registry to keep track of both plugins and features,
10957 removing the feature tracking from plugins themselves.
10959 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
10961 * check/Makefile.am:
10962 * tools/gst-register.1.in:
10963 remove gst-register
10965 2005-09-15 David Schleef <ds@schleef.org>
10967 * check/gst/gstplugin.c:
10968 * gst/gstelementfactory.c:
10970 * gst/gstpluginfeature.c:
10971 * gst/gstregistry.c:
10972 Getting tired of debugging. Disabled all the unreffing of
10973 plugins and features, which fixes the segfaults, but of
10974 course leaks like crazy. At least playbin works.
10976 2005-09-15 David Schleef <ds@schleef.org>
10978 * check/gst/gstplugin.c: (register_check_elements),
10979 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10981 * gst/elements/gsttypefindelement.c: Fix refcounting.
10982 * gst/gsttypefind.c:
10983 * gst/gsttypefindfactory.c:
10984 * gst/gsttypefindfactory.h:
10986 2005-09-15 David Schleef <ds@schleef.org>
10988 * gst/gstindex.c: get refcounting correct.
10989 * gst/gstregistry.c: Handle the case where a feature/plugin is
10992 2005-09-15 David Schleef <ds@schleef.org>
10994 * check/Makefile.am:
10995 * check/gst/gstplugin.c: Add test
10996 * gst/gstplugin.c: Fix problems noticed by testsuite
10998 * gst/gstregistry.c:
10999 * gst/gstregistry.h:
11001 2005-09-15 David Schleef <ds@schleef.org>
11003 * gst/gstplugin.c: Implement semi-decent recounting and locking
11004 in plugins and plugin features.
11006 * gst/gstpluginfeature.c:
11007 * gst/gstpluginfeature.h:
11008 * gst/gstregistry.c:
11010 2005-09-15 Michael Smith <msmith@fluendo.com>
11012 * gst/gstregistry.c: (gst_registry_get_feature_list):
11013 Implement this. Makes oggdemux work; decodebin still broken.
11015 2005-09-14 David Schleef <ds@schleef.org>
11017 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11019 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11020 * gst/check/Makefile.am:
11021 * libs/gst/controller/Makefile.am:
11022 * libs/gst/dataprotocol/Makefile.am:
11024 2005-09-14 David Schleef <ds@schleef.org>
11026 * configure.ac: Remove getbits library. Nothing uses it, and
11027 it should be in something like liboil if someone did want
11029 * libs/gst/Makefile.am:
11030 * libs/gst/getbits/Makefile.am:
11031 * libs/gst/getbits/gbtest.c:
11032 * libs/gst/getbits/getbits.c:
11033 * libs/gst/getbits/getbits.h:
11034 * libs/gst/getbits/gstgetbits_generic.c:
11035 * libs/gst/getbits/gstgetbits_i386.s:
11036 * libs/gst/getbits/gstgetbits_inl.h:
11038 2005-09-14 David Schleef <ds@schleef.org>
11040 * gst/Makefile.am: Dist glib-compat.h
11042 2005-09-14 David Schleef <ds@schleef.org>
11044 * configure.ac: Remove gst/registries, since it's no longer used.
11045 * gst/registries/Makefile.am:
11046 * gst/registries/gstlibxmlregistry.c:
11047 * gst/registries/gstlibxmlregistry.h:
11048 * gst/registries/gstxmlregistry.c:
11049 * gst/registries/gstxmlregistry.h:
11050 * gst/registries/registrytest.c:
11052 2005-09-14 David Schleef <ds@schleef.org>
11054 * gst/glib-compat.h:
11055 * gst/gstregistryxml.c:
11056 Convergence is near. Seriously.
11058 2005-09-14 David Schleef <ds@schleef.org>
11060 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11061 * gst/glib-compat.h:
11062 Attempt #4 to appease the buildbots.
11064 2005-09-14 David Schleef <ds@schleef.org>
11066 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11069 2005-09-14 David Schleef <ds@schleef.org>
11071 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11074 2005-09-14 David Schleef <ds@schleef.org>
11076 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11079 2005-09-14 David Schleef <ds@schleef.org>
11081 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11082 * gst/glib-compat.h: Add some functions that are in newer versions
11083 of glib than we care to require.
11084 * gst/gstregistryxml.c: Use them.
11086 2005-09-14 David Schleef <ds@schleef.org>
11088 * po/POTFILES.in: remove gst-register.c
11090 2005-09-14 David Schleef <ds@schleef.org>
11092 * docs/gst/gstreamer-docs.sgml:
11093 * docs/gst/gstreamer-sections.txt:
11094 * docs/gst/gstreamer.types:
11095 * docs/gst/tmpl/gstelement.sgml:
11096 * docs/gst/tmpl/gstplugin.sgml:
11097 * docs/gst/tmpl/gstpluginfeature.sgml:
11098 Documentation updates for registry changes.
11100 2005-09-14 David Schleef <ds@schleef.org>
11102 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11103 because we don't require glib-2.8.
11105 2005-09-14 David Schleef <ds@schleef.org>
11107 * gst/gstregistryxml.c: Added. Essentially moved out of the
11108 registries directory.
11110 2005-09-14 David Schleef <ds@schleef.org>
11112 * check/Makefile.am:
11113 * check/generic/states.c:
11117 * gst/gst_private.h:
11118 * gst/gstelementfactory.c:
11123 * gst/gstpluginfeature.c:
11124 * gst/gstpluginfeature.h:
11125 * gst/gstregistry.c:
11126 * gst/gstregistry.h:
11127 * gst/gstregistrypool.c: remove
11128 * gst/gstregistrypool.h: remove
11129 * gst/gsttypefind.c:
11130 * gst/gsttypefindfactory.c:
11132 * tools/Makefile.am:
11133 * tools/gst-compprep.c:
11134 * tools/gst-inspect.c:
11135 * tools/gst-register.c: remove
11136 * tools/gst-xmlinspect.c:
11137 Registry rewrite. Changes registry from being a file created
11138 by a tool into a simple cache file created automatically by
11139 libgstreamer. Removed gst-register (because it's no longer
11140 needed). Remove registry pools, because we only have one
11141 registry implementation (XML). Fix up other subsystems as
11144 2005-09-13 Michael Smith <msmith@fluendo.com>
11146 * gst/gstconfig.h.in:
11147 Don't Use windows linking attributes for MinGW. Fixes #316157
11149 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
11151 * gst/gstutils.c: (set_state_async_thread_func),
11152 (gst_element_set_state_async):
11153 Apparently people think it's better if this function doesn't
11154 try to set the state to whatever state was asked for on the first
11155 call to this function for any object. Seriously.
11157 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11159 * check/gst/gstpipeline.c: (GST_START_TEST):
11160 * docs/gst/gstreamer-sections.txt:
11161 * gst/gstutils.c: (set_state_async_thread_func),
11162 (gst_element_set_state_async):
11164 add a "gst_element_set_state_async" method that
11165 sets the state and starts a thread to make sure the state
11166 change completes as best as it can
11168 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11170 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11171 codify design+behaviour in testsuite after discussion
11173 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11175 * docs/gst/tmpl/gstelement.sgml:
11176 * docs/manual/appendix-quotes.xml:
11178 * gst/gstelement.c: (gst_element_set_state):
11181 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
11183 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11184 (gst_base_transform_prepare_output_buf),
11185 (gst_base_transform_handle_buffer):
11186 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11187 (gst_capsfilter_prepare_buf):
11188 Remove the requirement for sub-classes to call the parent
11189 implementation of prepare_output_buffer with a wrapper function.
11191 * gst/gsttaglist.h:
11192 * gst/gsttagsetter.h:
11193 Fix #define wrapper
11195 2005-09-11 Stefan Kost <ensonic@users.sf.net>
11197 * docs/gst/gstreamer-sections.txt:
11200 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11202 * docs/gst/gstreamer-sections.txt:
11203 * docs/gst/tmpl/gstelement.sgml:
11204 * docs/gst/tmpl/gstplugin.sgml:
11205 * gst/gstminiobject.c:
11207 docs now stop throwing warnings
11209 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11211 * docs/gst/gstreamer-sections.txt:
11212 * docs/gst/gstreamer.types:
11213 * docs/gst/tmpl/gstpad.sgml:
11214 * docs/gst/tmpl/gsttypes.sgml:
11215 * gst/base/gstadapter.h:
11216 * gst/base/gstbasesink.h:
11217 * gst/base/gstbasesrc.h:
11223 * gst/gstelement.h:
11225 * gst/gstmessage.h:
11227 * gst/gststructure.c:
11228 * gst/registries/gstlibxmlregistry.h:
11229 various documentation fixes
11231 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11233 * docs/gst/gstreamer-sections.txt:
11234 * docs/gst/tmpl/gstvalue.sgml:
11235 rearrange gstvalue section
11236 * gst/gstutils.c: (gst_element_state_get_name):
11238 * gst/gstvalue.c: (_gst_value_initialize):
11242 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
11244 * check/gst-libs/controller.c:
11245 Header include fix.
11246 * gst/base/gstbasetransform.c:
11247 (gst_base_transform_default_prepare_buf),
11248 (gst_base_transform_handle_buffer):
11249 * gst/base/gstbasetransform.h:
11250 Some more basetransform changes and fixes to enable sub-classes
11251 that modify buffer metadata only.
11252 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11253 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11254 (gst_capsfilter_prepare_buf):
11255 If the output pad has fixed allowed caps and input buffers
11256 don't have any, set the fixed caps on outgoing buffers.
11258 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
11259 * check/elements/identity.c: (GST_START_TEST):
11260 Make the error a little clearer when the test fails because
11261 identity made a copy of the buffer.
11262 * docs/gst/gstreamer-sections.txt:
11263 New symbols in gstbasetransform.h
11264 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11265 (gst_base_transform_init), (gst_base_transform_transform_size),
11266 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11267 (gst_base_transform_default_prepare_buf),
11268 (gst_base_transform_get_unit_size),
11269 (gst_base_transform_buffer_alloc),
11270 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11271 (gst_base_transform_change_state),
11272 (gst_base_transform_set_passthrough),
11273 (gst_base_transform_set_in_place),
11274 (gst_base_transform_is_in_place):
11275 * gst/base/gstbasetransform.h:
11276 Change BaseTransform to separate in_place operate from same_caps
11277 output. in_place implies that the element can perform the transform
11278 on incoming buffers in-place, even if the caps on the output are
11280 Sub-class elements can now implement special buffer allocation
11281 methods for outgoing buffers if they wish to.
11282 Big documentation addition.
11283 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11284 * gst/elements/gstelements.c:
11285 Changes for basetransform modifications.
11286 * gst/elements/Makefile.am:
11287 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11288 Compile fix. Extra debug output.
11290 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11292 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11294 add tests for valid pad naming
11295 * gst/check/gstcheck.c: (gst_check_log_message_func),
11296 (gst_check_log_critical_func):
11298 remove printing of code, it is fragile when the code contains
11299 % and the line number is enough info
11300 * gst/check/gstcheck.h:
11301 * gst/gstpad.c: (gst_pad_template_new):
11304 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11307 say what CHECK flags we use
11308 * docs/libs/gstreamer-libs.types:
11309 * libs/gst/controller/Makefile.am:
11310 * libs/gst/controller/gst-controller.c:
11311 * libs/gst/controller/gst-controller.h:
11312 * libs/gst/controller/gst-helper.c:
11313 * libs/gst/controller/gst-interpolation.c:
11314 * libs/gst/controller/gstcontroller.c:
11315 * libs/gst/controller/gsthelper.c:
11316 * libs/gst/controller/gstinterpolation.c:
11317 * tools/gst-inspect.c: (print_plugin_info):
11318 we don't use dashes in header names
11320 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11322 * check/Makefile.am:
11323 * check/gst/.cvsignore:
11324 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11325 (gst_pipeline_suite), (main):
11326 adding a test for pipelines and state changes
11327 * gst/gstutils.c: (get_state_func):
11329 * gstreamer.spec.in:
11332 2005-09-08 Michael Smith <msmith@fluendo.com>
11334 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11335 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11336 (gst_file_src_is_seekable), (gst_file_src_get_size),
11337 (gst_file_src_start):
11338 * gst/elements/gstfilesrc.h:
11339 Various fixes for unseekable, unmmapable, and non-normal files, so
11340 that fallback to read() rather than mmap() works.
11341 * gst/gstevent.c: (gst_event_new_newsegment):
11342 Allow newsegment events with segment_start == segment_end, as will
11343 correctly happen if you use filesrc on a zero-size file, for
11346 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11348 * gst/gstplugin.c: (gst_plugin_load_file):
11349 Call g_module_close when we don't load the module
11351 * gst/registries/gstlibxmlregistry.c:
11352 (gst_xml_registry_get_property):
11353 Port leak fix from 0.8
11355 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11357 * docs/gst/gstreamer-docs.sgml:
11358 * docs/gst/tmpl/.cvsignore:
11359 * docs/gst/tmpl/gsttrace.sgml:
11360 * docs/gst/tmpl/gsttrashstack.sgml:
11363 * gst/gstelement.h:
11365 * gst/gstmessage.c:
11366 * gst/gstmessage.h:
11369 * gst/gsttaginterface.c:
11370 * gst/gsttaginterface.h:
11371 * gst/gsttaglist.c:
11372 * gst/gsttaglist.h:
11373 * gst/gsttagsetter.c:
11374 * gst/gsttagsetter.h:
11377 * gst/gsttrashstack.c:
11378 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11379 inlined docs for gsttrace, gsttrashstack
11381 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11384 * gst/elements/gstbufferstore.h:
11385 * gst/elements/gsttypefindelement.c:
11386 * gst/elements/gsttypefindelement.h:
11388 * gst/gsttypefind.c:
11389 * gst/gsttypefind.h:
11390 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11391 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11392 (gst_type_find_factory_dispose),
11393 (gst_type_find_factory_unload_thyself),
11394 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11395 (gst_type_find_factory_get_caps),
11396 (gst_type_find_factory_get_extensions),
11397 (gst_type_find_factory_call_function):
11398 * gst/gsttypefindfactory.h:
11399 * gst/registries/gstlibxmlregistry.c:
11400 * gst/registries/gstxmlregistry.c:
11401 splitted gsttypefind into gsttypefind, gsttypefindfactory
11403 2005-09-07 Andy Wingo <wingo@pobox.com>
11405 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11406 condition whereby the pad's task function is entered before the
11407 pad_mode variable was set.
11409 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11411 * gst/gstpad.c: (gst_pad_alloc_buffer):
11412 Catch misbehaving pad_alloc functions that don't
11413 set up caps and do it for them.
11415 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11417 * check/pipelines/simple_launch_lines.c: (run_pipeline):
11418 test for pipe!=NULL
11419 * docs/gst/tmpl/.cvsignore:
11420 * docs/gst/tmpl/gstmemchunk.sgml:
11421 * docs/gst/tmpl/gstparse.sgml:
11422 * docs/gst/tmpl/gsttaglist.sgml:
11423 * docs/gst/tmpl/gsttagsetter.sgml:
11424 * docs/gst/tmpl/gsttypefind.sgml:
11425 * docs/gst/tmpl/gsttypefindfactory.sgml:
11426 * gst/gstmemchunk.c:
11429 * gst/gsttaginterface.c:
11430 * gst/gsttypefind.c:
11431 * gst/gsttypefind.h:
11434 === release 0.9.2 ===
11436 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
11441 releasing 0.9.2, "South"
11443 2005-09-05 Andy Wingo <wingo@pobox.com>
11445 * gst/registries/gstxmlregistry.h:
11446 * gst/registries/gstxmlregistry.c: Um... resurrect...
11448 * gst/registries/gstxmlregistry.h:
11449 * gst/registries/gstxmlregistry.c: and update to newer API.
11450 Incidentally they should be a bit faster now that they don't have
11453 2005-09-05 Andy Wingo <wingo@pobox.com>
11455 * gst/registries/gstxmlregistry.h:
11456 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11457 replaced by the libxml registry a while back
11459 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11461 * docs/gst/tmpl/gstplugin.sgml:
11462 * gst/elements/gstelements.c:
11464 * gst/gstplugin.c: (gst_plugin_register_func),
11465 (gst_plugin_desc_copy), (gst_plugin_desc_free),
11466 (gst_plugin_get_source):
11468 * gst/registries/gstlibxmlregistry.c: (load_plugin),
11469 (gst_xml_registry_save_plugin):
11470 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11471 (gst_xml_registry_save_plugin):
11472 * tools/gst-inspect.c: (print_plugin_info):
11473 add a "source" plugin description field, to represent the source
11474 module this plugin is a part of. By default GST_PLUGIN_DEFINE
11475 will set it to PACKAGE, which is automake's idea of the name of
11476 the source project.
11478 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11483 * docs/Makefile.am:
11484 * docs/faq/Makefile.am:
11485 * docs/gst/tmpl/gstelement.sgml:
11486 * docs/gst/tmpl/gsttypes.sgml:
11487 * docs/htmlinstall.mak:
11488 * docs/manual/Makefile.am:
11489 * docs/pwg/Makefile.am:
11490 reorganize doc build a little
11491 split out docbook and gtk-doc stuff
11492 have two separate --enable's and enable them through autogen
11493 but disable by default in configure (to be similar to other
11495 * gstreamer.spec.in:
11496 clean up docs install
11514 translation updates
11516 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
11518 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11521 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11522 (gst_fake_sink_change_state):
11523 Make state change function thread-safe.
11525 * gst/gstpad.c: (gst_pad_alloc_buffer):
11526 Set offset on generic buffer allocated by fallback.
11528 2005-09-03 Stefan Kost <ensonic@users.sf.net>
11530 * docs/gst/gstreamer-sections.txt:
11531 * docs/gst/tmpl/gstelement.sgml:
11533 * libs/gst/controller/gst-controller.c:
11534 (gst_controlled_property_set_interpolation_mode),
11535 (gst_controlled_property_new),
11536 (gst_controller_find_controlled_property):
11537 run the wingo-magic script against the docs
11539 2005-09-02 Stefan Kost <ensonic@users.sf.net>
11541 * docs/gst/gstreamer-docs.sgml:
11542 * docs/gst/gstreamer-sections.txt:
11543 * docs/gst/tmpl/.cvsignore:
11544 * docs/gst/tmpl/gstelementdetails.sgml:
11545 * docs/gst/tmpl/gstelementfactory.sgml:
11548 * gst/gstelementfactory.c:
11549 * gst/gstelementfactory.h:
11550 merged elementdetails docs into elementfactory docs
11553 2005-09-02 Andy Wingo <wingo@pobox.com>
11555 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11556 consider this enum an enum and not a flags.
11558 2005-09-02 Stefan Kost <ensonic@users.sf.net>
11560 * docs/gst/gstreamer-docs.sgml:
11561 * docs/gst/tmpl/.cvsignore:
11562 * docs/gst/tmpl/gstghostpad.sgml:
11563 * docs/gst/tmpl/gstiterator.sgml:
11564 * docs/gst/tmpl/gstmacros.sgml:
11565 * docs/gst/tmpl/gstrealpad.sgml:
11566 * docs/gst/tmpl/gstregistry.sgml:
11567 * docs/gst/tmpl/gstregistrypool.sgml:
11568 * docs/gst/tmpl/gststructure.sgml:
11569 * docs/gst/tmpl/gstsystemclock.sgml:
11570 * docs/gst/tmpl/gsttrace.sgml:
11571 * gst/gstghostpad.c:
11573 * gst/gstmemchunk.c:
11574 * gst/gstmemchunk.h:
11576 * gst/gstregistry.c:
11577 * gst/gstregistrypool.c:
11578 * gst/gststructure.c:
11579 * gst/gstsystemclock.c:
11582 2005-09-02 Andy Wingo <wingo@pobox.com>
11584 * gst/gstelement.h (GstState): Renamed from GstElementState,
11585 changed to be a normal enum instead of flags.
11586 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11587 munged to be GST_STATE_CHANGE_*.
11588 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11589 work with the new state representation.
11590 (GstStateChange): New enumeration of possible state transitions.
11591 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11592 (GstElementClass::change_state): Pass the GstStateChange along as
11593 an argument. Helps language bindings, so they don't have to use
11594 tricky lock-needing macros like GST_STATE_CHANGE ().
11596 * scripts/update-states (file): New script. Run it on a file to
11597 update it for state naming and API changes. Updates files in
11600 * All files updated for the new API.
11602 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
11604 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11605 * gst/gstutils.c: (gst_util_set_value_from_string),
11606 (gst_util_set_object_arg):
11607 fix a bunch of unchecked return values
11608 * tools/gst-complete.c: (main):
11609 * gstreamer.spec.in:
11612 2005-09-01 Wim Taymans <wim@fluendo.com>
11614 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11615 (gst_base_sink_event), (gst_base_sink_do_sync),
11616 (gst_base_sink_handle_event):
11617 * gst/base/gstbasesink.h:
11618 Handle newsegments more correctly.
11623 * gst/gstevent.c: (gst_event_new_newsegment):
11624 A newsegment cannot have a start_time of -1
11626 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
11628 * win32/gstenumtypes.c:
11629 * win32/gstenumtypes.h:
11632 2005-08-31 Stefan Kost <ensonic@users.sf.net>
11634 * libs/gst/controller/gst-controller.c:
11635 (gst_controlled_property_set_interpolation_mode),
11636 (gst_controlled_property_new):
11637 fixed boolean again
11639 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
11641 * docs/faq/gst-uninstalled:
11646 * gst/gstutils.c: (gst_element_link_filtered):
11648 add gst_element_link_filtered
11650 2005-08-31 Stefan Kost <ensonic@users.sf.net>
11652 * docs/gst/gstreamer-docs.sgml:
11653 * docs/gst/gstreamer-sections.txt:
11654 * docs/gst/tmpl/.cvsignore:
11655 * docs/gst/tmpl/gsterror.sgml:
11656 * docs/gst/tmpl/gstfilter.sgml:
11657 * docs/gst/tmpl/gsturihandler.sgml:
11658 * docs/gst/tmpl/gsturitype.sgml:
11659 * docs/gst/tmpl/gstutils.sgml:
11660 * docs/gst/tmpl/gstxml.sgml:
11665 * gst/gsturitype.c:
11668 inlined more docs, fixed double id-ref
11670 2005-08-31 Wim Taymans <wim@fluendo.com>
11672 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11673 (gst_base_transform_handle_buffer):
11674 Passthrough elements don't need the caps as they don't care.
11676 2005-08-31 Wim Taymans <wim@fluendo.com>
11678 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11679 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11680 Don't leak refcounts on buffers.
11682 2005-08-31 Wim Taymans <wim@fluendo.com>
11684 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11685 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11686 (gst_base_transform_chain), (gst_base_transform_change_state):
11687 * gst/base/gstbasetransform.h:
11688 Handle the case where we are not negotiated more gracefully.
11690 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
11692 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11693 (gst_file_src_map_region):
11694 Set READONLY flag on mmap'ed buffers, otherwise
11695 gst_buffer_make_writable() won't work properly (#314708).
11697 2005-08-31 Wim Taymans <wim@fluendo.com>
11699 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11700 passthrough elements can even do inplace on non writable
11701 buffers (as they don't touch them).
11703 2005-08-31 Stefan Kost <ensonic@users.sf.net>
11705 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11706 (gst_test_mono_source_set_property),
11707 (gst_test_mono_source_class_init), (GST_START_TEST),
11708 (gst_controller_suite):
11709 more tests (hehe I have the most)
11711 describe popping messages whenusing mulltiple sources
11712 * libs/gst/controller/gst-controller.c:
11713 (gst_controlled_property_set_interpolation_mode),
11714 (gst_controlled_property_new):
11715 * libs/gst/controller/gst-controller.h:
11716 * libs/gst/controller/gst-interpolation.c:
11717 implement boolean properties
11719 2005-08-31 Wim Taymans <wim@fluendo.com>
11721 * gst/gstminiobject.c: (gst_mini_object_ref):
11722 Cannot assert that the refcount has to be positive
11723 since a disposed object can be resurrected.
11725 2005-08-31 Wim Taymans <wim@fluendo.com>
11727 * gst/gstpad.c: (gst_pad_init):
11728 Revert change, need to first fix badly behaving
11731 2005-08-30 Wim Taymans <wim@fluendo.com>
11733 * check/elements/fakesrc.c: (setup_fakesrc):
11734 * check/elements/identity.c: (setup_identity):
11735 Activate pads before using them.
11737 2005-08-30 Wim Taymans <wim@fluendo.com>
11739 * gst/base/gstadapter.c: (gst_adapter_flush):
11740 Flushing out 0 bytes is ok for this function.
11742 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11743 no newsegment gives a warning and sets the start/stop to
11746 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11747 (gst_base_transform_set_passthrough):
11750 * gst/gstminiobject.c: (gst_mini_object_ref):
11751 Check refcount here too.
11753 * gst/gstpad.c: (gst_pad_init):
11754 Pads are initially flushing and refusing data.
11756 * gst/gstutils.c: (gst_element_link_pads_filtered):
11757 When adding a capsfilter element make sure it has the
11758 same state as the parent bin.
11760 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11762 * docs/gst/tmpl/.cvsignore:
11763 * docs/gst/tmpl/gstformat.sgml:
11764 * docs/gst/tmpl/gstversion.sgml:
11768 * gst/gstversion.h.in:
11769 more docs and two more inlined
11771 2005-08-30 Wim Taymans <wim@fluendo.com>
11773 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11774 Don't sync to clock.
11776 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11778 * docs/gst/gstreamer-sections.txt:
11779 ultral33t func10ns deserve to appear in the docs actually
11780 * docs/gst/tmpl/.cvsignore:
11781 * docs/gst/tmpl/gstcompat.sgml:
11782 * docs/gst/tmpl/gstconfig.sgml:
11783 * gst/check/gstcheck.c:
11785 * gst/gstconfig.h.in:
11788 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11790 * docs/gst/tmpl/.cvsignore:
11791 * docs/gst/tmpl/gstquery.sgml:
11792 * docs/gst/tmpl/gstutils.sgml:
11795 inlined and extended docs
11797 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11799 * check/gst-libs/controller.c: (GST_START_TEST),
11800 (gst_controller_suite):
11802 * docs/gst/tmpl/gstutils.sgml:
11803 * docs/libs/gstreamer-libs-sections.txt:
11804 * docs/libs/tmpl/gstdataprotocol.sgml:
11806 * examples/controller/audio-example.c: (main):
11807 controller example works now
11810 * tools/gst-inspect.c: (print_element_properties_info):
11811 show param spec flags
11813 2005-08-29 Andy Wingo <wingo@pobox.com>
11815 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11817 2005-08-28 Andy Wingo <wingo@pobox.com>
11819 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11820 as having two arguments instead of just one. Allows superclasses
11821 to access information on subclasses -- see the terrible for() loop
11822 in gtype.c:g_type_create_instance for the reason why. All callers
11825 2005-08-27 Stefan Kost <ensonic@users.sf.net>
11827 * docs/design/part-messages.txt:
11829 * docs/gst/tmpl/.cvsignore:
11830 * docs/gst/tmpl/gstcaps.sgml:
11831 * docs/gst/tmpl/gstclock.sgml:
11837 * gst/gstmessage.c:
11838 added descriptions for bus and message
11839 inline caps and clock docs
11841 2005-08-27 Stefan Kost <ensonic@users.sf.net>
11843 * gst/gstmessage.c:
11844 * gst/gstmessage.h:
11847 2005-08-27 Stefan Kost <ensonic@users.sf.net>
11849 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11852 2005-08-26 Andy Wingo <wingo@pobox.com>
11854 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11855 element_set_state's return val.
11856 (test_2_elements): Add test that's been disabled for months.
11858 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11859 can-activate-pull properties.
11861 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11862 can-activate-pull properties. Implement is_seekable so fakesrc can
11863 operate in pull mode.
11865 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11867 (gst_base_sink_activate, gst_base_sink_activate_pull)
11868 (gst_base_sink_activate_push): Make activation mode choosing work.
11870 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11871 is right. Make pull mode work. Post an eos before pausing in pull
11873 (gst_base_sink_change_state): Pay attention to the core's
11874 change_state() return val.
11876 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11877 has-getrange properties. Cleanups.
11879 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11880 has_getrange and replace with can_activate_pull and
11883 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11884 locking comments. Remove has_loop, has_chain and replace with
11885 can_activate_pull and can_activate_push.
11887 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
11890 * examples/Makefile.am:
11891 * examples/metadata/Makefile.am:
11892 * examples/metadata/read-metadata.c: (message_loop),
11893 (have_pad_handler), (make_pipeline), (print_tag), (main):
11894 Add metadata reading example that loops over a list of filenames,
11895 dumping any tags found.
11897 * gst/gstbus.c: (gst_bus_dispose):
11898 * gst/gstelement.c: (gst_element_dispose):
11899 Release a few potentially-held references in dispose.
11901 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11903 * docs/gst/tmpl/gstminiobject.sgml:
11904 do *not* add tmpl/*.sgml files to CVS!
11906 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11908 * libs/gst/bytestream/.cvsignore:
11909 * libs/gst/bytestream/Makefile.am:
11910 * libs/gst/bytestream/adapter.c:
11911 * libs/gst/bytestream/adapter.h:
11912 * libs/gst/bytestream/bytestream.c:
11913 * libs/gst/bytestream/bytestream.h:
11914 * libs/gst/bytestream/filepad.c:
11915 * libs/gst/bytestream/filepad.h:
11916 removing obsolete files
11918 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11920 * docs/gst/gstreamer-docs.sgml:
11921 * docs/libs/gstreamer-libs-docs.sgml:
11922 disabed additional index entries again, as this makes docs-gen just
11923 slow and they aren't useful yet
11924 * docs/libs/gstreamer-libs-sections.txt:
11925 little -section.txt cleanup for libs
11927 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
11929 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11930 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11931 fix up some debugging
11932 (gst_base_transform_get_unit_size),
11933 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11934 (gst_base_transform_handle_buffer):
11935 * gst/base/gstbasetransform.h:
11936 handle and store timed NEWSEGMENT events so that subclasses that
11937 calculate time by counting samples have a segment_start time they
11938 need to add to their timestamps - see audioresample
11940 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11943 removed ';' from the end of macro defs
11944 * docs/gst/gstreamer-docs.sgml:
11945 * docs/gst/gstreamer-sections.txt:
11946 * docs/gst/tmpl/.cvsignore:
11948 * gst/gstelement.c: (gst_element_class_init),
11949 (gst_element_set_state), (activate_pads),
11950 (gst_element_save_thyself):
11951 * gst/gstevent.c: (gst_event_new_newsegment):
11953 * gst/gstiterator.c:
11954 * gst/gstiterator.h:
11957 * gst/gstutils.c: (gst_pad_query_convert):
11959 fixed parameter name mismatches between source, header and docs
11960 added some more docs, resolved the last batch of unused elements in
11961 docs (now someone needs to doc them)
11963 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
11965 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11966 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11967 don't walk through the plugins backwards. Where is all this
11968 reversed logic coming from ?
11970 2005-08-25 Wim Taymans <wim@fluendo.com>
11972 * gst/base/gstbasetransform.c: (gst_base_transform_init),
11973 (gst_base_transform_transform_size),
11974 (gst_base_transform_configure_caps),
11975 (gst_base_transform_get_unit_size),
11976 (gst_base_transform_buffer_alloc),
11977 (gst_base_transform_change_state):
11978 * gst/base/gstbasetransform.h:
11979 Cache caps unit_size.
11980 Make sure we cannot negotiate up and downstream at the
11983 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
11985 * gst/gst.c: (init_pre), (init_post):
11986 register the installed plugin path after the env var
11987 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11988 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11989 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11990 directories, so the tests can prefer uninstalled over installed
11992 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
11994 * gst/base/gstbasetransform.h:
11999 2005-08-25 Wim Taymans <wim@fluendo.com>
12001 * gst/gstbin.c: (bin_bus_handler):
12002 Be a bit more conservative about the posted message.
12004 * gst/gstbus.c: (gst_bus_post):
12005 Some cleanups, warn wrong return values.
12007 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
12009 * check/gst/gstbin.c: (GST_START_TEST):
12010 * gst/gstbin.c: (bin_bus_handler):
12011 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12012 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12013 (gst_message_new_warning), (gst_message_new_tag),
12014 (gst_message_new_state_changed), (gst_message_new_segment_start),
12015 (gst_message_new_segment_done), (gst_message_new_custom):
12016 * gst/gstmessage.h:
12017 * tools/gst-launch.c: (event_loop):
12018 * tools/gst-md5sum.c: (event_loop):
12019 Revert unpopular change for GST_MESSAGE_SRC to GObject.
12021 2005-08-25 Wim Taymans <wim@fluendo.com>
12023 * check/generic/states.c: (GST_START_TEST):
12024 Cleanup can be done at the end.
12026 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12027 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12028 (gst_task_get_state), (gst_task_start), (gst_task_pause):
12029 Oh boy.. Thanks for finding this, Thomas.
12031 2005-08-25 Stefan Kost <ensonic@users.sf.net>
12033 * docs/gst/gstreamer.types:
12034 added missing types
12036 2005-08-25 Stefan Kost <ensonic@users.sf.net>
12038 * docs/gst/gstreamer-docs.sgml:
12039 * docs/gst/gstreamer-sections.txt:
12040 * docs/gst/tmpl/.cvsignore:
12042 * gst/gstiterator.c:
12044 * gst/registries/gstxmlregistry.h:
12045 added missing classes and symbols (123 more to go)
12046 removed removed symbols from section file
12047 fixed many doc-comments
12049 2005-08-24 Wim Taymans <wim@fluendo.com>
12051 * check/generic/states.c: (GST_START_TEST):
12052 Make sure all tasks are stopped.
12054 * check/gst/gstbin.c: (GST_START_TEST):
12055 Unref after usage for proper valgrinding.
12057 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12058 Really wait for the task to stop before destroying the
12061 * gst/gstqueue.c: (gst_queue_sink_activate_push),
12062 (gst_queue_src_activate_push):
12063 Small cleanups. Don't stop the task when we did not start
12066 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12067 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12068 (gst_task_get_state), (gst_task_start), (gst_task_pause),
12071 Protect the stream lock with the object lock.
12072 Disallow setting the stream lock when running.
12073 Add cleanup_all to wait for the threadpool to finish.
12074 Remove code to autoallocate a mutex if none was provided.
12075 Add _join() to wait for a task to stop.
12076 Protect the thread pool with a global lock.
12078 2005-08-24 Wim Taymans <wim@fluendo.com>
12080 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12081 (gst_base_sink_get_times), (gst_base_sink_do_sync),
12082 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12083 * gst/base/gstbasesink.h:
12084 Handle newsegment events correctly.
12085 Drop buffers out of the segment range.
12087 2005-08-22 Andy Wingo <wingo@pobox.com>
12089 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12090 macro, implements an interface and gstimplementsinterface for a
12093 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
12095 * check/Makefile.am:
12096 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12097 add a test that does a bunch of state changes on elements
12098 needs some fixing for valgrind
12099 * check/states/sinks.c: (gst_object_suite):
12102 add prototype for gst_caps_is_equal_fixed
12104 * gst/gstregistrypool.c:
12107 2005-08-24 Andy Wingo <wingo@pobox.com>
12109 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12110 convert a negative value. Doesn't make much sense. Mostly this is
12111 here to force callers to ensure -1 maps to -1.
12113 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
12115 * docs/pwg/advanced-types.xml:
12116 Well done to Michael for catching my deliberate introduction
12117 of this spelling mistake.
12118 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12119 * gst/gstelement.h:
12120 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12121 unlink pads before removing the element from the bin.
12123 2005-08-24 Andy Wingo <wingo@pobox.com>
12125 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12126 the same thing as GST_DEBUG=*:4.
12127 (parse_debug_level, parse_debug_category): New helper parsers.
12129 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
12131 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12132 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12133 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12134 (gst_base_transform_buffer_alloc),
12135 (gst_base_transform_handle_buffer):
12136 use gboolean return values and pointers to size so we can use the
12137 full GST_BUFFER_SIZE range (guint) for buffer sizes
12138 use GstPadDirection for transform_caps
12139 * gst/base/gstbasetransform.h:
12140 rename get_size to get_unit_size since that's what it is
12141 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12142 use GstPadDirection for transform_caps
12143 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12145 cleanup and debugging
12147 2005-08-24 Stefan Kost <ensonic@users.sf.net>
12149 * gst/gstelement.c: (gst_element_class_init),
12150 (gst_element_set_state), (activate_pads),
12151 (gst_element_save_thyself):
12152 * tools/gst-compprep.c: (main):
12153 * tools/gst-inspect.c: (print_element_properties_info):
12154 * tools/gst-xmlinspect.c: (print_element_properties):
12155 Fixed long standing mem-leak
12157 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
12159 * check/gst/gstbin.c: (GST_START_TEST):
12160 * gst/gstbin.c: (bin_bus_handler):
12161 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12162 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12163 (gst_message_new_warning), (gst_message_new_tag),
12164 (gst_message_new_state_changed), (gst_message_new_segment_start),
12165 (gst_message_new_segment_done), (gst_message_new_custom):
12166 * gst/gstmessage.h:
12167 * tools/gst-launch.c: (event_loop):
12168 * tools/gst-md5sum.c: (event_loop):
12169 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12170 that applications can sensibly post custom messages with references
12171 to their own objects.
12173 2005-08-24 Andy Wingo <wingo@pobox.com>
12175 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12178 2005-08-24 Wim Taymans <wim@fluendo.com>
12180 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12181 (gst_base_transform_transform_caps),
12182 (gst_base_transform_transform_size),
12183 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12184 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12185 (gst_base_transform_handle_buffer):
12186 * gst/base/gstbasetransform.h:
12187 Many fixes and new features added by Thomas. Can now also do
12188 transforms with variable sizes and a custom fixate_caps function.
12190 2005-08-24 Wim Taymans <wim@fluendo.com>
12192 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12196 Cast to ClockTime before formatting to time.
12201 2005-08-24 Stefan Kost <ensonic@users.sf.net>
12203 * check/gst-libs/controller.c: (GST_START_TEST),
12204 (gst_controller_suite):
12205 * docs/gst/tmpl/gstcaps.sgml:
12206 * docs/gst/tmpl/gstghostpad.sgml:
12207 * docs/gst/tmpl/gstquery.sgml:
12208 * docs/gst/tmpl/gstutils.sgml:
12209 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12210 (gst_object_sink_values), (gst_object_get_value_arrays),
12211 (gst_object_get_value_array):
12212 gracefully handle helper method calls to objects that are not beeing
12213 controlled, added test case for that
12215 2005-08-23 Wim Taymans <wim@fluendo.com>
12217 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12218 (gst_event_new_newsegment), (gst_event_parse_newsegment),
12219 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12220 (gst_event_parse_qos), (gst_event_new_seek),
12221 (gst_event_parse_seek):
12223 Some more debugging output and doc cleanups.
12225 * gst/gstqueue.c: (gst_queue_handle_sink_event):
12226 Fix possible deadlock.
12228 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12230 * docs/gst/gstreamer-docs.sgml:
12231 * docs/gst/gstreamer-sections.txt:
12232 * docs/gst/gstreamer.types:
12233 * docs/gst/tmpl/.cvsignore:
12236 * gst/gstelement.c:
12238 added 100 symbols from gstreamer-unused.txt to the right sections
12239 fixed more broken comments
12240 added GstBus to docs
12242 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12244 * docs/gst/gstreamer-sections.txt:
12245 * docs/gst/tmpl/.cvsignore:
12246 * docs/gst/tmpl/gstbin.sgml:
12247 * docs/gst/tmpl/gstbuffer.sgml:
12248 * gst/base/gstbasesrc.c:
12249 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12252 * tools/gst-launch.1.in:
12253 inlined more doc comments, added missing comments and fixed comments
12256 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
12258 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12262 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12264 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12265 * gst/gststructure.h:
12266 add a fixate function for booleans; add a FIXME that these func
12267 names should probably be gst_structure_fixate_*
12269 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12271 * docs/gst/gstreamer-docs.sgml:
12272 * docs/gst/gstreamer-sections.txt:
12274 * gst/gstbin.c: (gst_bin_get_type),
12275 (gst_bin_child_proxy_get_child_by_index),
12276 (gst_bin_child_proxy_get_children_count),
12277 (gst_bin_child_proxy_init):
12278 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12279 (gst_child_proxy_get_child_by_index),
12280 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12281 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12282 (gst_child_proxy_get), (gst_child_proxy_set_property),
12283 (gst_child_proxy_set_valist), (gst_child_proxy_set),
12284 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12285 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12286 * gst/gstchildproxy.h:
12287 * gst/parse/grammar.y:
12288 * tools/gst-inspect.c: (print_interfaces),
12289 (print_element_properties_info), (print_element_info):
12290 ported gstchildproxy over from 0.8
12291 ported gst-inspect fixes and enhancements over from 0.8
12293 2005-08-22 Wim Taymans <wim@fluendo.com>
12295 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12296 (gst_base_transform_handle_buffer):
12297 Also call the transform function if we have ANY caps.
12299 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12302 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12304 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12305 Don't pretend to handle seek events if the source is not seekable
12307 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12309 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12310 Remove extra parameter to debug output
12312 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12313 (gst_base_src_do_seek), (gst_base_src_activate_push):
12314 Fix seek event handling.
12316 * gst/gstpipeline.c: (gst_pipeline_change_state):
12317 * gst/gstqueue.c: (gst_queue_handle_sink_event),
12318 (gst_queue_src_activate_push):
12319 Don't start the src pad task on FLUSH_STOP if the pad
12323 2005-08-22 Wim Taymans <wim@fluendo.com>
12325 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12326 Added check for gst_static_caps_get() refcounting.
12328 2005-08-22 Wim Taymans <wim@fluendo.com>
12330 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12331 Make _static_caps_get() refcounting sane.
12333 * gst/gstelement.c: (gst_element_set_state):
12334 Add g_return_val_if_fail() to protect against segfaults.
12336 2005-08-22 Stefan Kost <ensonic@users.sf.net>
12338 * docs/gst/tmpl/gstevent.sgml:
12341 inlined remaining docs, added missing doc comments
12343 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
12345 * check/gst/gstbin.c: (GST_START_TEST):
12346 since we don't know when preroll is done, use refcount range
12348 * gst/check/gstcheck.h:
12349 add macro for checking refcount range
12351 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12353 * check/Makefile.am:
12354 clean up environment for when registry gets built versus
12355 when actual tests are run; valgrind seems to not report
12356 leaks if GST_PLUGIN_PATH is set to some specific values
12357 * check/gst/gstbin.c: (GST_START_TEST):
12358 add more refcounting checks; maybe this exposes a
12360 * common/check.mak:
12361 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12362 * gst/check/gstcheck.h:
12363 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12364 (gst_bin_change_state):
12365 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12366 add/fix debugging/whitespace
12368 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12370 * check/gst/gstevent.c: (event_probe), (test_event),
12372 Er, don't call gst_bin_watch_for_state_change you idiot.
12374 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12376 * check/Makefile.am:
12377 Use CHECK_CFLAGS and CHECK_LIBS
12378 * check/gst/gstevent.c: (event_probe), (test_event),
12381 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12382 (gst_base_src_start), (gst_base_src_stop),
12383 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12384 (gst_base_src_change_state):
12385 Sprinkle gst_base_src_stop liberally around error paths to fix
12386 problems reusing a source after failed state changes.
12387 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12388 (helper_find_suggest), (gst_type_find_helper):
12389 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12391 * docs/gst/tmpl/gstevent.sgml:
12392 Migrate part of the docs from the SGML file. Wait for ensonic to
12393 tell me how I did it wrong ;)
12394 * tools/gst-typefind.c: (main):
12395 Extra robustness to state changes between files.
12397 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12399 * check/Makefile.am:
12400 don't valgrind the controller test - it's leaking - Stefan, HELP
12401 * gst/check/gstcheck.c: (gst_check_message_error),
12402 (gst_check_chain_func), (gst_check_setup_element),
12403 (gst_check_teardown_element), (gst_check_setup_src_pad),
12404 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12405 (gst_check_teardown_sink_pad):
12406 * gst/check/gstcheck.h:
12407 add a bunch of methods to set up elements, and src and sink pads
12408 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12409 * check/elements/identity.c: (setup_identity), (cleanup_identity),
12412 * gst/gstmessage.c:
12414 whitespace/doc fixes
12416 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12418 * gst/gstelement.h:
12419 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12420 be handled by the application and not always printed as well
12422 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12424 * check/Makefile.am:
12426 * gst/check/gstcheck.c: (gst_check_message_error):
12427 * gst/check/gstcheck.h:
12428 add a fail_unless_equals_int
12429 add fail_unless for error messages
12431 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12433 * check/Makefile.am:
12435 * common/Makefile.am:
12436 * common/check.mak:
12438 factor out some of the common stuff so we can use it
12440 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12442 * check/Makefile.am:
12443 * check/gst/gstiterator.c: (GST_START_TEST):
12444 * check/gst/gstsystemclock.c: (GST_START_TEST),
12445 (gst_systemclock_suite):
12446 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12448 valgrind more tests
12450 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12452 * check/elements/.cvsignore:
12453 * check/elements/gstfakesrc.c:
12454 rename to name of element
12455 * check/elements/identity.c: (chain_func), (event_func),
12456 (setup_identity), (cleanup_identity), (GST_START_TEST),
12457 (identity_suite), (main):
12458 add a test for identity
12459 * check/Makefile.am:
12460 * pkgconfig/Makefile.am:
12461 * pkgconfig/gstreamer-check.pc.in:
12462 * pkgconfig/gstreamer-check-uninstalled.pc.in:
12466 move the check stuff to a library that gets installed
12467 * check/gst-libs/controller.c: (GST_START_TEST):
12468 * check/gst-libs/gdp.c:
12469 * check/gst/gst.c: (GST_START_TEST):
12470 * check/gst/gstbin.c:
12471 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12472 * check/gst/gstbus.c:
12473 * check/gst/gstcaps.c: (GST_START_TEST):
12474 * check/gst/gstelement.c:
12475 * check/gst/gstghostpad.c:
12476 * check/gst/gstiterator.c:
12477 * check/gst/gstmessage.c:
12478 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12479 * check/gst/gstobject.c:
12480 * check/gst/gstpad.c: (GST_START_TEST):
12481 * check/gst/gststructure.c: (GST_START_TEST):
12482 * check/gst/gstsystemclock.c: (GST_START_TEST),
12483 (gst_systemclock_suite):
12484 * check/gst/gsttag.c: (gst_tag_suite):
12485 * check/gst/gstvalue.c:
12486 * check/pipelines/cleanup.c:
12487 * check/pipelines/simple_launch_lines.c:
12488 * check/states/sinks.c:
12489 change include statement
12491 * docs/gst/gstreamer-sections.txt:
12492 * docs/gst/tmpl/gstpad.sgml:
12493 document more pad stuff
12494 * gst/gstminiobject.c: (gst_mini_object_ref),
12495 (gst_mini_object_unref):
12498 2005-08-19 Stefan Kost <ensonic@users.sf.net>
12500 * docs/gst/tmpl/gst.sgml:
12502 eliminate another tmpl file, fix spelling in the long-description
12504 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12506 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12507 (test_event), (timediff), (gstevents_suite):
12508 Should fix build on 64-bit arch's
12510 2005-08-18 Andy Wingo <wingo@pobox.com>
12512 Make sure that when a pipeline goes to PLAYING, that data has
12513 actually hit the sink.
12515 * check/states/sinks.c (test_sink): A sink that doesn't get any
12516 data shouldn't return SUCCESS for going to either PLAYING or
12517 PAUSED. Test also the return values on the way back down.
12519 * gst/gstelement.c (gst_element_set_state): When changing the
12520 state of an element currently changing state asynchronously, go to
12521 lost-state after commiting the pending state. Makes future calls
12522 to get_state continue to return ASYNC.
12524 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12525 ASYNC when going to PLAYING if we still don't have preroll, as can
12526 happen with live sources.
12528 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12530 * docs/pwg/advanced-types.xml:
12531 Hack long paragraph into 2 chunks as a workaround for buggy
12532 jadetex version in sid and breezy that loops infinitely and
12535 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12537 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12538 (test_event), (timediff), (gstevents_suite):
12539 Provide more error margin in clock measurements to allow for
12540 g_get_current_time inaccuracies.
12542 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12544 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12545 (test_event), (timediff), (gstevents_suite):
12546 Fix error message output so I might be able to tell why the
12547 test works here but fails on the build farm.
12549 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12551 * check/Makefile.am:
12552 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12553 (test_event), (timediff), (gstevents_suite), (main):
12556 * docs/design/part-seeking.txt:
12557 Spelling correction
12559 * docs/gst/tmpl/gstevent.sgml:
12560 * docs/gst/tmpl/gstfakesrc.sgml:
12563 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12564 Treat a buffer-without-newsegment the same as a receiving
12565 a newsegment not in time format, and disable syncing to the clock
12568 * gst/gstbus.c: (gst_bus_set_sync_handler):
12569 Assert if anyone tries to replace the existing sync_handler for bus,
12570 as only the owner should be setting it.
12573 Have a fixed set of custom event enums with events identified by
12574 their structure name (as in 0.8), rather than a free-for-all
12575 allowing collisions between enum values from different plugins.
12577 * gst/gstpad.c: (gst_pad_class_init):
12580 * gst/gstqueue.c: (gst_queue_handle_sink_event):
12581 Handle out-of-band downstream events from the sending thread.
12583 2005-08-17 Andy Wingo <wingo@pobox.com>
12585 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12586 play-timeout==0 to mean no timeout at all. In that case, don't
12587 bother with a get_state or a warning, just return directly, even
12590 * gst/base/gstbasetransform.c: Debug changes.
12593 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12594 ensure bins post state change messages. A bit of a hack but I can't
12595 think of a way to avoid it.
12597 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12599 2005-08-16 Andy Wingo <wingo@pobox.com>
12601 * gst/base/gstadapter.h:
12602 * gst/base/gstadapter.c (gst_adapter_take): New function, like
12603 peek() but you own the data. Not terribly efficient atm.
12605 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12607 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12608 (gst_element_found_tags):
12610 Add two utility functions for tag handling.
12612 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12614 * docs/manual/advanced-dataaccess.xml:
12615 * docs/manual/basics-helloworld.xml:
12616 Fix docs to use _bin_add() before _link(), which fixes the examples
12617 with recent core versions (reported by Madhan Raj M
12618 <raj_madan@rediffmail.com>, #313199).
12620 2005-08-16 Wim Taymans <wim@fluendo.com>
12622 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12623 Added subtract checks.
12625 * docs/design/part-events.txt:
12626 Some more docs about newsegment
12628 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12631 * gst/gstcaps.c: (gst_caps_to_string):
12632 Add comments, cleanups.
12634 * gst/gstelement.c: (gst_element_save_thyself):
12637 * gst/gstvalue.c: (gst_value_collect_int_range),
12638 (gst_string_unwrap), (gst_value_union_int_int_range),
12639 (gst_value_union_int_range_int_range),
12640 (gst_value_intersect_int_int_range),
12641 (gst_value_intersect_int_range_int_range),
12642 (gst_value_intersect_double_double_range),
12643 (gst_value_intersect_double_range_double_range),
12644 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12645 (gst_value_subtract_int_range_int),
12646 (gst_value_subtract_double_range_double),
12647 (gst_value_subtract_double_range_double_range),
12648 (gst_value_subtract_from_list), (gst_value_subtract_list),
12649 (gst_value_can_compare), (gst_value_compare_fraction):
12650 Cleanups, add comments, remove unneeded asserts.
12652 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
12654 * tools/gst-launch.c: (event_loop):
12655 don't convert NULL structures to strings
12657 2005-08-15 Stefan Kost <ensonic@users.sf.net>
12659 * docs/gst/gstreamer-sections.txt:
12660 made some defines private
12661 * docs/gst/tmpl/gstconfig.sgml:
12662 * docs/gst/tmpl/gstqueue.sgml:
12663 * docs/gst/tmpl/gsttaglist.sgml:
12664 * docs/gst/tmpl/gsttypes.sgml:
12665 * docs/gst/tmpl/gstutils.sgml:
12666 * docs/pwg/appendix-porting.xml:
12667 * gst/base/gstbasesink.h:
12668 * gst/base/gstbasesrc.c:
12669 * gst/base/gstbasesrc.h:
12670 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12671 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12672 * gst/gstelement.c: (gst_element_class_init):
12673 * gst/gstpad.c: (gst_pad_class_init):
12674 * gst/gstqueue.c: (gst_queue_class_init):
12675 * gst/gstxml.c: (gst_xml_class_init):
12676 documented all undocumented signal inline
12677 * libs/gst/controller/gst-controller.h:
12680 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12682 * docs/pwg/appendix-porting.xml:
12683 Document _set_link_function -> _set_setcaps_function.
12685 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
12687 * check/Makefile.am:
12688 add a .check target for running the check
12689 * check/gst-libs/controller.c: (GST_START_TEST):
12691 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12692 complete checks for gstbuffer; would be nice if I could get the
12693 gcov stuff to work so I can see if I actually completed gstbuffer.c
12694 * check/gstcheck.h:
12695 add ASSERT_BUFFER_REFCOUNT
12697 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
12699 * docs/gst/gstreamer-sections.txt:
12700 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12702 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12703 spew out a warning if a tag that is already registered
12704 is re-registered, unless it is re-registered with a
12705 different type (#308438).
12707 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
12709 * docs/pwg/appendix-porting.xml:
12710 * docs/pwg/building-state.xml:
12711 Add some paragraphs about state changes in 0.9 to the PWG
12712 and the porting guide, in particular about the new meaning
12713 of GST_STATE_PAUSED and how to write state change functions
12714 with concurrent access by multiple threads in mind.
12716 2005-08-11 Stefan Kost <ensonic@users.sf.net>
12718 * docs/gst/gstreamer-docs.sgml:
12719 * docs/libs/gstreamer-libs-docs.sgml:
12720 added deprecation and since indexes
12721 * libs/gst/controller/gst-controller.c:
12722 * libs/gst/controller/gst-helper.c:
12726 2005-08-11 Wim Taymans <wim@fluendo.com>
12728 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12729 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12730 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12731 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12732 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12733 (gst_ghost_pad_set_target):
12734 Actually implement (re)setting the target on a ghostpad
12735 as described in the docs.
12737 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
12739 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12740 Check whether GST_DEBUG_NO_COLOR environment variable is
12741 set and disable coloured debug output if that is the case.
12743 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
12745 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12746 (gst_type_find_helper):
12747 The memory returned by gst_type_find_peek() needs to
12748 stay valid until the end of a typefind function, and
12749 typefind functions may keep results from different
12750 offsets around, so we can't just unref the buffer from
12751 the previous _peek(), but have to save all buffers
12752 returned by _peek() until typefinding is done and only
12755 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
12757 * docs/gst/gstreamer-sections.txt:
12759 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12761 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12763 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12764 Fix a pretty good memleak.
12766 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
12768 * gst/gstiterator.h:
12769 Fix wrong include and 'make distcheck'.
12771 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12773 * gst/gstbin.c: (bin_bus_handler):
12774 Use gst_element_post_message() instead.
12776 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
12778 * gst/base/gstadapter.h:
12779 * gst/base/gstbasesink.h:
12780 * gst/base/gstbasesrc.h:
12781 * gst/base/gstbasetransform.h:
12782 * gst/base/gstcollectpads.h:
12783 * gst/base/gstpushsrc.h:
12784 * gst/gstiterator.h:
12785 Add padding to our base elements' class and instance structs and
12786 to GstIterator (you will need to rebuild all plugins and apps!)
12788 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12790 * gst/gstbin.c: (bin_bus_handler):
12791 Make default message forwarding from child->bus to bin->bus
12792 threadsafe and make it not emit warnings if the parent has no bus.
12794 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12796 * gst/gstelement.c: (activate_pads):
12797 On paused->ready, set pad->caps to NULL, as is the documented
12798 behaviour in this state change. Fixes playback of series of
12799 media files when visualization is enabled in Totem.
12801 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12803 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12804 Allow NULL as filter-caps (which means "any").
12806 2005-08-05 Stefan Kost <ensonic@users.sf.net>
12808 * docs/libs/gstreamer-libs-sections.txt:
12809 * libs/gst/controller/gst-controller.c:
12810 * libs/gst/controller/gst-controller.h:
12811 * libs/gst/controller/gst-helper.c:
12812 adding more entries to the docs and fix small doc-bugs
12814 2005-08-05 Stefan Kost <ensonic@users.sf.net>
12816 * docs/gst/gstreamer-docs.sgml:
12817 * docs/gst/gstreamer-sections.txt:
12818 * docs/gst/gstreamer.types:
12819 * docs/gst/tmpl/gstbasesink.sgml:
12820 * docs/gst/tmpl/gstbasesrc.sgml:
12821 * docs/gst/tmpl/gstbasetransform.sgml:
12822 * docs/gst/tmpl/gstfakesrc.sgml:
12823 * gst/base/gstcollectpads.c:
12824 * gst/base/gstcollectpads.h:
12825 * libs/gst/controller/gst-controller.c:
12826 * libs/gst/controller/gst-controller.h:
12827 * libs/gst/controller/gst-helper.c:
12828 * libs/gst/controller/gst-interpolation.c:
12829 * libs/gst/controller/lib.c:
12830 added long/short desc for controller docs
12831 added collectpads base class docs
12832 added correct includes to base-class docs
12834 2005-08-05 Stefan Kost <ensonic@users.sf.net>
12836 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12837 (gst_test_mono_source_set_property),
12838 (gst_test_mono_source_class_init), (GST_START_TEST),
12839 (gst_controller_suite):
12840 * docs/gst/gstreamer-docs.sgml:
12841 * docs/gst/gstreamer-sections.txt:
12842 * docs/gst/gstreamer.types:
12843 * docs/libs/gstreamer-libs-docs.sgml:
12844 * docs/libs/gstreamer-libs-sections.txt:
12845 * gst/base/gstadapter.c:
12846 * libs/gst/controller/gst-controller.c:
12847 (gst_controlled_property_new), (gst_controlled_property_free),
12848 (gst_controller_new_valist),
12849 (gst_controller_remove_properties_valist),
12850 (gst_controller_sink_values), (_gst_controller_finalize):
12851 * libs/gst/controller/gst-controller.h:
12852 * libs/gst/controller/gst-helper.c:
12853 (gst_object_control_properties), (gst_object_uncontrol_properties),
12854 (gst_object_get_controller), (gst_object_set_controller),
12855 (gst_object_sink_values), (gst_object_get_value_arrays),
12856 (gst_object_get_value_array):
12857 more tests (and fixes) for the controller
12858 more docs for the controller
12859 integrated companies docs for the adapter
12861 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
12863 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12864 (GST_START_TEST), (fakesrc_suite):
12865 add tests for sizetype
12867 2005-08-04 Andy Wingo <wingo@pobox.com>
12869 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12870 fixes buffer_alloc proxying among other things.
12872 * gst/base/gstbasetransform.c:
12873 * gst/base/gstbasetransform.h:
12874 Revert patch to gstbasetransform from 7-28 removing
12877 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12878 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12879 Semantics changed, should return not the size of the output buffer
12880 but the byte size of a buffer with a given caps.
12882 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12884 (gst_base_transform_configure_caps): Don't set out_size here: (in,
12885 out) are not the pad caps until setcaps finishes.
12886 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12887 not-in-place case as well. Deal with changing from in-place to
12888 not-in-place within calling pad_alloc_buffer. Still a bit
12889 concerned about the overhead here...
12891 2005-08-03 Andy Wingo <wingo@pobox.com>
12893 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12894 fixating is an error.
12896 2005-08-04 Edward Hervey <edward@fluendo.com>
12898 * gst/base/gstadapter.h:
12899 Added gst_adapter_get_type() to the header
12901 2005-08-03 Stefan Kost <ensonic@users.sf.net>
12903 * check/Makefile.am:
12904 * check/gst-libs/controller.c:
12905 * libs/gst/controller/gst-controller.c:
12906 (gst_controller_new_valist):
12907 added check test suite for the controller
12908 * gst/base/gstpushsrc.c:
12911 2005-08-03 Stefan Kost <ensonic@users.sf.net>
12913 * docs/gst/Makefile.am:
12914 * docs/gst/gstreamer-docs.sgml:
12915 * docs/gst/gstreamer-sections.txt:
12916 * docs/gst/gstreamer.types:
12917 * docs/gst/tmpl/gstfakesrc.sgml:
12919 * gst/base/gstbasesink.c:
12920 * gst/base/gstbasesink.h:
12921 * gst/base/gstbasesrc.c:
12922 * gst/base/gstbasesrc.h:
12923 * gst/base/gstbasetransform.c:
12924 * gst/base/gstpushsrc.c:
12925 * gst/base/gstpushsrc.h:
12926 add short/long description docs to base classes
12927 add pushsrc to the docs
12928 remove consolidated doc fragments
12930 2005-08-03 Stefan Kost <ensonic@users.sf.net>
12933 * docs/libs/Makefile.am:
12934 * docs/libs/gstreamer-libs-docs.sgml:
12935 * docs/libs/gstreamer-libs-sections.txt:
12936 * docs/libs/gstreamer-libs.types:
12937 * examples/Makefile.am:
12938 * examples/controller/.cvsignore:
12939 * examples/controller/Makefile.am:
12940 * examples/controller/audio-example.c: (main):
12941 * libs/gst/Makefile.am:
12942 * libs/gst/controller/.cvsignore:
12943 * libs/gst/controller/Makefile.am:
12944 * libs/gst/controller/gst-controller.c:
12945 (on_object_controlled_property_changed), (gst_timed_value_compare),
12946 (gst_timed_value_find),
12947 (gst_controlled_property_set_interpolation_mode),
12948 (gst_controlled_property_new), (gst_controlled_property_free),
12949 (gst_controller_find_controlled_property),
12950 (gst_controller_new_valist), (gst_controller_new),
12951 (gst_controller_remove_properties_valist),
12952 (gst_controller_remove_properties), (gst_controller_set),
12953 (gst_controller_set_from_list), (gst_controller_unset),
12954 (gst_controller_get), (gst_controller_get_all),
12955 (gst_controller_sink_values), (gst_controller_get_value_arrays),
12956 (gst_controller_get_value_array),
12957 (gst_controller_set_interpolation_mode),
12958 (_gst_controller_finalize), (_gst_controller_init),
12959 (_gst_controller_class_init), (gst_controller_get_type):
12960 * libs/gst/controller/gst-controller.h:
12961 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12962 (g_object_uncontrol_properties), (g_object_get_controller),
12963 (g_object_set_controller), (g_object_sink_values),
12964 (g_object_get_value_arrays), (g_object_get_value_array):
12965 * libs/gst/controller/gst-interpolation.c:
12966 (gst_controlled_property_find_timed_value_node),
12967 (interpolate_none_get), (interpolate_trigger_get),
12968 (interpolate_trigger_get_value_array):
12969 * libs/gst/controller/lib.c: (gst_controller_init):
12970 * pkgconfig/Makefile.am:
12971 * pkgconfig/gstreamer-control-uninstalled.pc.in:
12972 * pkgconfig/gstreamer-control.pc.in:
12973 * testsuite/Makefile.am:
12974 * testsuite/controller/.cvsignore:
12975 * testsuite/controller/Makefile.am:
12976 * testsuite/controller/interpolator.c: (main):
12977 added controller code
12978 removed dparam pc files
12980 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
12981 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12982 (gst_collectpads_stop):
12983 Broadcast the condition when shutting down, to make sure we wake all
12984 threads up. Shut down pads on finalize, for safety.
12986 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
12987 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12988 (gst_base_transform_handle_buffer),
12989 (gst_base_transform_change_state):
12990 Handle PAUSED->READY->PAUSED transition after negotiation
12992 * gst/gstmessage.c: (gst_message_init):
12993 Extra piece of debug for new messages.
12995 2005-08-01 Stefan Kost <ensonic@users.sf.net>
12998 * docs/gst/tmpl/gstbasesrc.sgml:
12999 * docs/gst/tmpl/gstelement.sgml:
13000 * docs/gst/tmpl/gstevent.sgml:
13001 * docs/gst/tmpl/gstfakesrc.sgml:
13002 * docs/gst/tmpl/gstformat.sgml:
13003 * docs/gst/tmpl/gstghostpad.sgml:
13004 * docs/gst/tmpl/gstpad.sgml:
13005 * docs/gst/tmpl/gstquery.sgml:
13006 * docs/gst/tmpl/gststructure.sgml:
13007 * docs/gst/tmpl/gsttaglist.sgml:
13008 * docs/gst/tmpl/gstvalue.sgml:
13009 * docs/libs/gstreamer-libs-docs.sgml:
13010 * docs/libs/gstreamer-libs-sections.txt:
13011 * docs/libs/gstreamer-libs.types:
13012 * libs/gst/Makefile.am:
13013 * libs/gst/control/.cvsignore:
13014 * libs/gst/control/Makefile.am:
13015 * libs/gst/control/control.c:
13016 * libs/gst/control/control.h:
13017 * libs/gst/control/dparam.c:
13018 * libs/gst/control/dparam.h:
13019 * libs/gst/control/dparam_smooth.c:
13020 * libs/gst/control/dparam_smooth.h:
13021 * libs/gst/control/dparamcommon.h:
13022 * libs/gst/control/dparammanager.c:
13023 * libs/gst/control/dparammanager.h:
13024 * libs/gst/control/dplinearinterp.c:
13025 * libs/gst/control/dplinearinterp.h:
13026 * libs/gst/control/unitconvert.c:
13027 * libs/gst/control/unitconvert.h:
13028 * testsuite/Makefile.am:
13029 * testsuite/dynparams/.cvsignore:
13030 * testsuite/dynparams/Makefile.am:
13031 * testsuite/dynparams/dparamstest.c:
13032 * tools/Makefile.am:
13033 * tools/gst-inspect.c: (print_element_info), (main):
13034 * tools/gst-xmlinspect.c: (print_element_info), (main):
13035 deactivate and remove dparams (libgstcontrol)
13037 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13039 * gst/elements/gsttypefindelement.c:
13040 (gst_type_find_element_have_type), (gst_type_find_element_init),
13041 (stop_typefinding), (gst_type_find_element_handle_event),
13042 (gst_type_find_element_chain), (gst_type_find_element_getrange):
13043 * gst/elements/gsttypefindelement.h:
13044 Set caps on all outgoing buffers, not just the first one.
13046 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13048 * gst/elements/gsttypefindelement.c:
13049 (gst_type_find_element_have_type),
13050 (gst_type_find_element_check_set_buffer_caps),
13051 (gst_type_find_element_init), (stop_typefinding),
13052 (gst_type_find_element_handle_event),
13053 (gst_type_find_element_chain), (gst_type_find_element_getrange):
13054 * gst/elements/gsttypefindelement.h:
13055 Set caps on first outgoing buffer when we've found the type.
13057 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13059 * docs/gst/gstreamer-docs.sgml:
13060 * docs/gst/gstreamer-sections.txt:
13061 * docs/gst/tmpl/gstscheduler.sgml:
13062 * docs/gst/tmpl/gstschedulerfactory.sgml:
13063 Remove some old cruft from docs.
13065 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
13068 Fix inline docs for GstPadLinkReturn.
13070 * gst/gststructure.c: (gst_structure_has_name):
13071 * gst/gststructure.h:
13072 * docs/gst/gstreamer-sections.txt:
13073 New API: gst_structure_has_name().
13075 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
13078 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13079 and _LARGEFILE_SOURCE in config.h as required. Do not
13080 export those flags in our .pc files any longer (#142209).
13082 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13084 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13085 (gst_file_sink_do_seek), (gst_file_sink_event),
13086 (gst_file_sink_get_current_offset), (gst_file_sink_render):
13087 Redo seek/tell calls with large file support in mind; add some
13088 debugging messages; add log message that tells us when large
13089 file support is unavailable or not enabled for some reason.
13091 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13092 Add log message that tells us when large file support
13093 is unavailable or not enabled for some reason.
13095 2005-07-29 Wim Taymans <wim@fluendo.com>
13097 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13098 Added test for removing an element with ghostpad from a bin.
13099 Fixed test as current implementation does the right thing.
13101 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13102 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13103 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13104 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13105 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13106 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13107 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13108 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13109 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13110 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13111 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13112 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13113 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13114 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13115 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13116 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13117 * gst/gstghostpad.h:
13118 Clean up ghostpads, remove properties for internal stuff.
13121 Prepare for switching targets, not all use cases work yet.
13123 2005-07-29 Wim Taymans <wim@fluendo.com>
13125 * docs/design/part-gstghostpad.txt:
13128 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13129 (gst_bin_remove_func):
13130 Unlinking pads while holding the bin LOCK is not a good
13133 * gst/gstpad.c: (gst_pad_class_init),
13134 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13135 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13136 No prob setting template after creating the pad.
13138 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
13140 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13141 (gst_bus_peek), (gst_bus_source_dispatch),
13142 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13143 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13144 gst_bus_poll may be called from other threads. Handle
13145 this nicely by not making poll_data disappear off the
13146 stack once gst_bus_poll returns.
13147 gst_bus_peek now increments the refcount on the returned
13150 2005-07-29 Wim Taymans <wim@fluendo.com>
13152 * docs/design/part-gstghostpad.txt:
13153 Overview of current GhostPad datastructures and use
13154 cases for changing the target.
13156 2005-07-28 Wim Taymans <wim@fluendo.com>
13158 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13159 Added checks for hierarchy consistency whan adding linked
13162 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13163 Added check to test element scheduling without bin/pipeline.
13165 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13166 First add elements to bin, then link.
13168 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13169 (gst_bin_remove_func):
13170 Unlink pads from elements added/removed from bin to maintain
13171 hierarchy consistency.
13173 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13175 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13176 (gst_base_transform_handle_buffer):
13177 * gst/base/gstbasetransform.h:
13178 Remove broken delay_configure (fixes renegotiation of software
13179 scaling pipelines); remove some leftover printf()s.
13181 2005-07-28 Wim Taymans <wim@fluendo.com>
13183 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13184 Added some more tests for wrong hierarchy
13186 * docs/design/part-overview.txt:
13189 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13192 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13193 (gst_element_dispose):
13194 Some more cleanups.
13196 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13197 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13198 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13199 (gst_pad_set_caps), (gst_pad_send_event):
13200 Check for correct hierarchy when linking pads. Moving to
13201 strict requirement for ghostpads when linking elements in
13205 Clean ups. Added WRONG_HIERARCHY return value.
13207 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13209 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13210 Better debug if no transform is possible.
13212 2005-07-27 Wim Taymans <wim@fluendo.com>
13214 * docs/random/wtay/network-transp:
13215 Some old doc I had.
13217 2005-07-27 Wim Taymans <wim@fluendo.com>
13219 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13220 (gst_dp_event_from_packet):
13221 Fix serialization of seek events.
13223 2005-07-27 Wim Taymans <wim@fluendo.com>
13225 * check/gst-libs/gdp.c: (GST_START_TEST):
13226 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13227 Fix compilation and fix event serialization.
13229 2005-07-27 Wim Taymans <wim@fluendo.com>
13232 * docs/design/part-TODO.txt:
13233 * docs/design/part-events.txt:
13236 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13237 (gst_base_sink_event), (gst_base_sink_do_sync),
13238 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13239 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13240 (gst_base_src_do_seek), (gst_base_src_event_handler),
13241 (gst_base_src_loop):
13242 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13243 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13244 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13245 (gst_base_transform_event), (gst_base_transform_handle_buffer),
13246 (gst_base_transform_set_passthrough),
13247 (gst_base_transform_is_passthrough):
13248 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13249 * gst/elements/gstfilesink.c: (gst_file_sink_event):
13255 * gst/gstelement.c: (gst_element_seek):
13256 * gst/gstelement.h:
13257 Update gst_element_seek.
13259 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13260 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13261 (gst_event_new_flush_start), (gst_event_new_flush_stop),
13262 (gst_event_new_eos), (gst_event_new_newsegment),
13263 (gst_event_parse_newsegment), (gst_event_new_tag),
13264 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13265 (gst_event_parse_qos), (gst_event_new_seek),
13266 (gst_event_parse_seek), (gst_event_new_navigation):
13268 Make GstEvent use GstStructure. Add parsing code, make sure the
13269 API is sufficiently generic.
13270 Mark possible directions of events and serialization.
13272 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13273 (_gst_message_copy), (gst_message_new_segment_start),
13274 (gst_message_new_segment_done), (gst_message_new_custom),
13275 (gst_message_parse_segment_start),
13276 (gst_message_parse_segment_done):
13279 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13280 (gst_pad_set_caps), (gst_pad_send_event):
13281 Update for new events.
13282 Catch events sent in wrong directions.
13284 * gst/gstqueue.c: (gst_queue_link_src),
13285 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13286 (gst_queue_handle_src_query):
13291 Remove event code from this file.
13293 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13294 (gst_dp_event_from_packet):
13297 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13299 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13300 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13301 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13302 Make debugging actually useful.
13304 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13306 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13307 (gst_pad_fixate_caps):
13308 Implement default fixation once again, so that gst_pad_fixate()
13309 actually does anything at all. This probably needs to be some
13310 sort of a last resort, and use profile-based fixation first, but
13311 since that doesn't exist yet, this is the best we have. Fixes
13312 visualization in Totem.
13314 2005-07-22 Wim Taymans <wim@fluendo.com>
13316 * docs/design/part-events.txt:
13319 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13320 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13321 (gst_base_sink_activate_pull):
13322 Some more comments.
13324 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13325 (gst_fake_src_create):
13326 Fix handoff marshall.
13328 * gst/elements/gstidentity.c: (gst_identity_class_init),
13329 (gst_identity_transform_ip):
13330 We're a real inplace element.
13332 * gst/gstbus.c: (gst_bus_post):
13333 Added some comments.
13335 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13336 * tests/muxing/case1.c: (main):
13337 * tests/sched/dynamic-pipeline.c: (main):
13338 * tests/sched/interrupt1.c: (main):
13339 * tests/sched/interrupt2.c: (main):
13340 * tests/sched/interrupt3.c: (main):
13341 * tests/sched/runxml.c: (main):
13342 * tests/sched/sched-stress.c: (main):
13343 * tests/seeking/seeking1.c: (event_received), (main):
13344 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13346 * tests/threadstate/threadstate3.c: (main):
13347 * tests/threadstate/threadstate4.c: (main):
13348 * tests/threadstate/threadstate5.c: (main):
13351 2005-07-21 Wim Taymans <wim@fluendo.com>
13353 * docs/design/part-seeking.txt:
13354 Some small additions.
13356 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13357 (gst_base_sink_get_times), (gst_base_sink_do_sync),
13358 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13359 * gst/base/gstbasesink.h:
13360 discont values are gint64, handle the math correctly.
13362 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13363 Make the basesrc report error if the source pad is not linked.
13365 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13366 (gst_queue_loop), (gst_queue_handle_src_query),
13367 (gst_queue_src_activate_push):
13368 Make queue collect data even if the srcpad is not linked.
13369 Start pushing out data as soon as it is linked.
13371 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13373 Added gst_flow_get_name() to ease error reporting.
13375 2005-07-20 Wim Taymans <wim@fluendo.com>
13377 * gst/gstmessage.c: (gst_message_new_segment_start),
13378 (gst_message_new_segment_done), (gst_message_parse_segment_start),
13379 (gst_message_parse_segment_done):
13380 * gst/gstmessage.h:
13381 Added a bunch of messages for advanced seeking.
13383 * gst/parse/grammar.y:
13384 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13385 (gst_dpman_state_changed):
13386 Fix some new-pad -> pad-added signals
13388 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13390 * docs/manual/appendix-porting.xml:
13391 * docs/pwg/appendix-porting.xml:
13392 Document new-pad/state-change signal renames and the FixedList
13395 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13397 * docs/manual/advanced-autoplugging.xml:
13398 * docs/manual/basics-helloworld.xml:
13399 * docs/manual/basics-pads.xml:
13400 * docs/random/ds/0.9-suggested-changes:
13401 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13402 * gst/gstelement.h:
13406 * gst/gststructure.c: (gst_structure_value_get_generic_type),
13407 (gst_structure_parse_array), (gst_structure_parse_value):
13408 * gst/gstvalue.c: (gst_type_is_fixed),
13409 (gst_value_list_prepend_value), (gst_value_list_append_value),
13410 (gst_value_list_get_size), (gst_value_list_get_value),
13411 (gst_value_transform_array_string), (gst_value_serialize_array),
13412 (gst_value_deserialize_array), (gst_value_intersect_array),
13413 (gst_value_is_fixed), (_gst_value_initialize):
13415 GstElement::new-pad -> pad-added, GstElement::state-change ->
13416 state-changed, GstValueFixedList -> GstValueArray, add format and
13417 flags as their own arguments in gst_element_seek() (should improve
13418 "bindeability"), remove function generators since they don't work
13419 under a whole bunch of compilers (they were deprecated already
13422 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13424 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13425 (_gst_debug_register_funcptr):
13427 Fix illegal cast on some platforms (#309253).
13429 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13431 * gst/gstmessage.c: (gst_message_new_custom):
13432 * gst/gstmessage.h:
13433 Add _new_custom, make _new_application a macro to _new_custom.
13435 2005-07-20 Wim Taymans <wim@fluendo.com>
13437 * gst/base/gstbasesrc.c: (gst_base_src_init),
13438 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13439 * gst/base/gstbasesrc.h:
13440 Add a gboolean to decide when to push out a discont.
13442 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13443 (gst_queue_loop), (gst_queue_handle_src_query),
13444 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13445 (gst_queue_set_property), (gst_queue_get_property):
13448 * tests/threadstate/threadstate1.c: (main):
13449 Make a thread test compile and run... very silly..
13452 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13454 * docs/manual/appendix-porting.xml:
13455 Mention removal of libgstgconf-0.9.la and existence of gconf
13458 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13460 * docs/pwg/advanced-clock.xml:
13461 * docs/pwg/appendix-porting.xml:
13462 * docs/pwg/intro-preface.xml:
13463 * docs/pwg/other-base.xml:
13464 * docs/pwg/other-manager.xml:
13465 * docs/pwg/other-nton.xml:
13466 * docs/pwg/other-ntoone.xml:
13467 * docs/pwg/other-oneton.xml:
13468 * docs/pwg/pwg.xml:
13469 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13470 demuxer), remove n-to-n (was never written), fix some code examples
13471 and links and update the porting section to include all this.
13473 2005-07-19 Wim Taymans <wim@fluendo.com>
13475 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13476 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13477 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13478 (gst_queue_src_activate_push), (gst_queue_change_state),
13479 (gst_queue_get_property):
13481 Propagate GstFlowReturn more intelligently upstream and output
13482 an ERROR/EOS when streaming stopped due to fatal error.
13484 2005-07-19 Wim Taymans <wim@fluendo.com>
13486 * tools/gst-launch.c: (check_intr), (event_loop), (main):
13487 Don't block forever for the state change to complete, the
13488 pipeline already did with a sensible timeout.
13490 2005-07-19 Wim Taymans <wim@fluendo.com>
13492 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13493 Make sure we never call the create function is we
13496 2005-07-19 Andy Wingo <wingo@pobox.com>
13498 * gst/parse/parse.l: Attempt to solve bug #172815.
13500 2005-07-19 Wim Taymans <wim@fluendo.com>
13502 * docs/design/part-clocks.txt:
13503 * docs/design/part-events.txt:
13504 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13505 Small docs updates.
13506 Only update the seeking values when we are not
13509 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13511 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13512 Oops, ignore the result of gst_pad_push_event here.
13514 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13516 * gst/base/gstbasesrc.c: (gst_base_src_loop),
13517 (gst_base_src_activate_push):
13518 Send discont event from the loop function, as pads
13519 aren't activated yet in the activate_push handler.
13521 * gst/gstbin.c: (bin_bus_handler):
13522 Don't leak element name.
13524 2005-07-18 Andy Wingo <wingo@pobox.com>
13526 * configure.ac: Use AS_LIBTOOL_TAGS.
13528 2005-07-18 Wim Taymans <wim@fluendo.com>
13530 * docs/gst/gstreamer.types:
13531 Remove deleted types.
13533 2005-07-18 Wim Taymans <wim@fluendo.com>
13535 * check/elements/gstfakesrc.c: (GST_START_TEST):
13538 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13539 (init_popt_callback):
13541 * gst/gst_private.h:
13542 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13543 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13546 * gst/gstconfig.h.in:
13547 * gst/gstelement.c: (gst_element_class_init),
13548 (gst_element_set_base_time), (gst_element_get_base_time),
13549 (iterator_fold_with_resync), (gst_element_change_state),
13550 (gst_element_dispose), (gst_element_get_bus):
13551 * gst/gstelement.h:
13552 * gst/gstelementfactory.h:
13553 * gst/gsterror.c: (_gst_core_errors_init):
13556 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13558 * gst/gstinfo.c: (_gst_debug_init):
13559 * gst/gstmessage.c: (_gst_message_copy):
13560 * gst/gstmessage.h:
13561 * gst/gstminiobject.h:
13564 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13565 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13568 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13569 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13570 (gst_pipeline_get_last_stream_time):
13571 * gst/gstpipeline.h:
13572 * gst/gstpluginfeature.h:
13574 * gst/gstscheduler.c:
13575 * gst/gstscheduler.h:
13576 * gst/gststructure.h:
13577 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13578 (gst_task_finalize), (gst_task_func), (gst_task_create),
13579 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13580 (gst_task_stop), (gst_task_pause):
13582 * gst/gsttypefind.h:
13584 * gst/registries/gstlibxmlregistry.c: (load_feature),
13585 (gst_xml_registry_load), (gst_xml_registry_save_feature):
13586 * gst/registries/gstxmlregistry.c:
13587 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13588 * gst/schedulers/threadscheduler.c:
13589 * libs/gst/control/dparammanager.h:
13590 * tools/gst-inspect.c: (print_element_list),
13591 (print_plugin_features), (print_element_features):
13592 * tools/gst-xmlinspect.c: (print_element_list),
13593 (print_plugin_info), (main):
13594 Removed plugable schedulers.
13595 Removed Scheduler/Manager from elements.
13596 Removed gsttypes.h, rearranged includes.
13597 Removed dependency pad<->element, element<>pipeline, and
13598 various others, fix includes.
13599 implement gst_pad_get_parent() with gst_object_get_parent()
13600 Make GstTask sefcontained.
13601 Fix _get_state() on GstBin, it did not return ASYNC with a 0
13603 Fix endless loop in iterator_fold_with_resync.
13606 2005-07-18 Wim Taymans <wim@fluendo.com>
13612 2005-07-18 Wim Taymans <wim@fluendo.com>
13615 No more cothreads.h
13617 2005-07-18 Wim Taymans <wim@fluendo.com>
13621 Let's remove these.
13623 2005-07-18 Wim Taymans <wim@fluendo.com>
13625 * docs/design/part-dynamic.txt:
13626 * docs/design/part-events.txt:
13627 * docs/design/part-seeking.txt:
13628 Some more docs in the works.
13630 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13631 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13632 (gst_base_transform_setcaps), (gst_base_transform_get_size),
13633 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13634 (gst_base_transform_handle_buffer),
13635 (gst_base_transform_sink_activate_push),
13636 (gst_base_transform_src_activate_pull),
13637 (gst_base_transform_set_passthrough),
13638 (gst_base_transform_is_passthrough):
13641 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13644 * gst/gstevent.c: (gst_event_finalize):
13647 * gst/gstutils.c: (gst_element_unlink),
13648 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13649 (gst_pad_proxy_setcaps):
13651 Add _get_parent_element() to get a pads parent as an element.
13653 2005-07-18 Wim Taymans <wim@fluendo.com>
13655 * check/gst/gstbin.c: (GST_START_TEST):
13658 2005-07-18 Wim Taymans <wim@fluendo.com>
13660 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13661 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13662 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13663 (gst_base_sink_event), (gst_base_sink_do_sync),
13664 (gst_base_sink_chain), (gst_base_sink_loop),
13665 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13666 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13668 Fix logic for returning ASYNC when not prerolled.
13670 2005-07-18 Wim Taymans <wim@fluendo.com>
13672 * gst/gstqueue.c: (gst_queue_handle_sink_event):
13673 Fix nasty refcount bug.
13675 2005-07-16 Philippe Khalaf <burger@speedy.org>
13677 * gst/elements/gstfdsrc.c:
13678 * gst/elements/gstfdsrc.h:
13679 * gst/elements/gstelements.c:
13680 * gst/elements/Makefile.am:
13681 Ported fdsrc to 0.9.
13683 2005-07-16 Wim Taymans <wim@fluendo.com>
13685 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13686 (gst_base_sink_do_sync):
13689 2005-07-16 Wim Taymans <wim@fluendo.com>
13691 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13692 (gst_base_sink_event), (gst_base_sink_get_times),
13693 (gst_base_sink_do_sync), (gst_base_sink_change_state):
13694 * gst/base/gstbasesink.h:
13695 Store and use discont values when syncing buffers as described
13698 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13699 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13700 (gst_base_src_activate_push):
13701 Push discont event when starting.
13703 * gst/elements/gstidentity.c: (gst_identity_transform):
13706 * gst/gstbin.c: (gst_bin_change_state):
13707 Small cleanups in base_time distribution.
13709 * gst/gstelement.c: (gst_element_set_base_time),
13710 (gst_element_get_base_time), (gst_element_change_state):
13711 * gst/gstelement.h:
13712 Added methods for the base_time of the element.
13715 * gst/gstpipeline.c: (gst_pipeline_send_event),
13716 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13717 (gst_pipeline_get_last_stream_time):
13718 * gst/gstpipeline.h:
13720 Handle seeking as described in design doc, remove stream_time
13722 Cleanups clock and stream_time selection code. Added accessors
13723 for the stream_time.
13726 2005-07-16 Andy Wingo <wingo@pobox.com>
13728 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13731 2005-07-16 Wim Taymans <wim@fluendo.com>
13733 * check/gst/gstbin.c: (GST_START_TEST):
13734 Make elements silent as the deep_notify refs the
13735 parent, which might make the test fail.
13737 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13738 Don't hold the lock for too long.
13740 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
13742 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13743 Don't unref the caps we passed to gst_caps_make_writable() after
13744 passing them. gst_caps_make_writable() will do that for us.
13746 2005-07-15 Andy Wingo <wingo@pobox.com>
13748 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13751 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13752 own marshalling function for the handoff signal. Properly type the
13753 buffer as a buffer. Fixes some warnings. Should do a more general
13755 (gst_identity_class_init): Plug into the right marshaller.
13757 2005-07-15 Wim Taymans <wim@fluendo.com>
13759 * docs/design/part-TODO.txt:
13760 * docs/design/part-clocks.txt:
13761 * docs/design/part-element-sink.txt:
13762 * docs/design/part-events.txt:
13763 * docs/design/part-gstpipeline.txt:
13764 Updated docs, mostly DISCONT related.
13766 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
13768 * docs/pwg/building-pads.xml:
13769 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13771 2005-07-15 Andy Wingo <wingo@pobox.com>
13773 * tools/gst-typefind.c: Update, add copyright block.
13775 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13776 Normalize and truncate caps before fixation.
13779 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13780 discards all but the first structure from its argument.
13782 2005-07-15 Wim Taymans <wim@fluendo.com>
13784 * gst/base/gstbasetransform.c: (gst_base_transform_init),
13785 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13786 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13787 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13788 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13789 (gst_base_transform_chain), (gst_base_transform_change_state),
13790 (gst_base_transform_set_passthrough),
13791 (gst_base_transform_is_passthrough):
13792 * gst/base/gstbasetransform.h:
13793 Make passthrough work using the bufferpools.
13794 Changed API a bit, subclasses have to write into a buffer
13795 provided by the base class.
13796 More debug info in nego functions.
13798 * gst/elements/gstidentity.c: (gst_identity_init),
13799 (gst_identity_transform):
13800 Port to new base class.
13802 2005-07-15 Wim Taymans <wim@fluendo.com>
13804 * gst/gstmessage.c: (gst_message_new_state_changed):
13805 * tools/gst-launch.c: (event_loop), (main):
13806 Totally dump messages in -launch with the -m option.
13807 Fix message name for State messages,
13809 2005-07-14 Wim Taymans <wim@fluendo.com>
13811 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13812 Post error messages on errors.
13814 2005-07-14 Wim Taymans <wim@fluendo.com>
13816 * gst/gstcaps.c: (gst_caps_do_simplify):
13820 Define error for stream stopped.
13822 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13823 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13824 Do proper return values.
13826 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13827 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13828 (gst_pad_get_range):
13829 Better return values.
13832 Reorganise return values, add macro to check for fatal errors.
13834 * gst/gstqueue.c: (gst_queue_chain):
13835 Return proper GstFlowReturn values,
13837 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
13839 * docs/gst/gstreamer-sections.txt:
13840 * docs/gst/gstreamer.types:
13841 * docs/gst/tmpl/gst.sgml:
13842 * docs/gst/tmpl/gstbasesink.sgml:
13843 * docs/gst/tmpl/gstbasesrc.sgml:
13844 * docs/gst/tmpl/gstbasetransform.sgml:
13845 * docs/gst/tmpl/gstbin.sgml:
13846 * docs/gst/tmpl/gstbuffer.sgml:
13847 * docs/gst/tmpl/gstcaps.sgml:
13848 * docs/gst/tmpl/gstclock.sgml:
13849 * docs/gst/tmpl/gstcompat.sgml:
13850 * docs/gst/tmpl/gstconfig.sgml:
13851 * docs/gst/tmpl/gstelement.sgml:
13852 * docs/gst/tmpl/gstelementdetails.sgml:
13853 * docs/gst/tmpl/gstelementfactory.sgml:
13854 * docs/gst/tmpl/gstenumtypes.sgml:
13855 * docs/gst/tmpl/gsterror.sgml:
13856 * docs/gst/tmpl/gstevent.sgml:
13857 * docs/gst/tmpl/gstfakesink.sgml:
13858 * docs/gst/tmpl/gstfakesrc.sgml:
13859 * docs/gst/tmpl/gstfilesink.sgml:
13860 * docs/gst/tmpl/gstfilesrc.sgml:
13861 * docs/gst/tmpl/gstfilter.sgml:
13862 * docs/gst/tmpl/gstformat.sgml:
13863 * docs/gst/tmpl/gstghostpad.sgml:
13864 * docs/gst/tmpl/gstimplementsinterface.sgml:
13865 * docs/gst/tmpl/gstindex.sgml:
13866 * docs/gst/tmpl/gstindexfactory.sgml:
13867 * docs/gst/tmpl/gstinfo.sgml:
13868 * docs/gst/tmpl/gstiterator.sgml:
13869 * docs/gst/tmpl/gstmacros.sgml:
13870 * docs/gst/tmpl/gstmemchunk.sgml:
13871 * docs/gst/tmpl/gstminiobject.sgml:
13872 * docs/gst/tmpl/gstobject.sgml:
13873 * docs/gst/tmpl/gstpad.sgml:
13874 * docs/gst/tmpl/gstpadtemplate.sgml:
13875 * docs/gst/tmpl/gstparse.sgml:
13876 * docs/gst/tmpl/gstpipeline.sgml:
13877 * docs/gst/tmpl/gstplugin.sgml:
13878 * docs/gst/tmpl/gstpluginfeature.sgml:
13879 * docs/gst/tmpl/gstquery.sgml:
13880 * docs/gst/tmpl/gstqueue.sgml:
13881 * docs/gst/tmpl/gstregistry.sgml:
13882 * docs/gst/tmpl/gstregistrypool.sgml:
13883 * docs/gst/tmpl/gstscheduler.sgml:
13884 * docs/gst/tmpl/gstschedulerfactory.sgml:
13885 * docs/gst/tmpl/gststructure.sgml:
13886 * docs/gst/tmpl/gstsystemclock.sgml:
13887 * docs/gst/tmpl/gsttaglist.sgml:
13888 * docs/gst/tmpl/gsttagsetter.sgml:
13889 * docs/gst/tmpl/gsttrace.sgml:
13890 * docs/gst/tmpl/gsttrashstack.sgml:
13891 * docs/gst/tmpl/gsttypefind.sgml:
13892 * docs/gst/tmpl/gsttypefindfactory.sgml:
13893 * docs/gst/tmpl/gsttypes.sgml:
13894 * docs/gst/tmpl/gsturihandler.sgml:
13895 * docs/gst/tmpl/gsturitype.sgml:
13896 * docs/gst/tmpl/gstutils.sgml:
13897 * docs/gst/tmpl/gstvalue.sgml:
13898 * docs/gst/tmpl/gstversion.sgml:
13899 * docs/gst/tmpl/gstxml.sgml:
13900 * docs/libs/tmpl/gstcontrol.sgml:
13901 * docs/libs/tmpl/gstdataprotocol.sgml:
13902 * docs/libs/tmpl/gstdparam.sgml:
13903 * docs/libs/tmpl/gstdplinint.sgml:
13904 * docs/libs/tmpl/gstdpman.sgml:
13905 * docs/libs/tmpl/gstdpsmooth.sgml:
13906 * docs/libs/tmpl/gstgetbits.sgml:
13907 * docs/libs/tmpl/gstunitconvert.sgml:
13908 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13909 (gst_push_src_base_init), (gst_push_src_class_init),
13910 (gst_push_src_init), (gst_push_src_create):
13911 * gst/base/gstpushsrc.h:
13912 * gst/elements/gstelements.c:
13913 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13914 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13915 (gst_fake_sink_init), (gst_fake_sink_set_property),
13916 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13917 (gst_fake_sink_event), (gst_fake_sink_preroll),
13918 (gst_fake_sink_render), (gst_fake_sink_change_state):
13919 * gst/elements/gstfakesink.h:
13920 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13921 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13922 (gst_fake_src_base_init), (gst_fake_src_class_init),
13923 (gst_fake_src_init), (gst_fake_src_event_handler),
13924 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13925 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13926 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13927 (gst_fake_src_create_buffer), (gst_fake_src_create),
13928 (gst_fake_src_start), (gst_fake_src_stop):
13929 * gst/elements/gstfakesrc.h:
13930 * gst/elements/gstfilesink.c: (_do_init),
13931 (gst_file_sink_base_init), (gst_file_sink_class_init),
13932 (gst_file_sink_init), (gst_file_sink_dispose),
13933 (gst_file_sink_set_location), (gst_file_sink_set_property),
13934 (gst_file_sink_get_property), (gst_file_sink_open_file),
13935 (gst_file_sink_close_file), (gst_file_sink_query),
13936 (gst_file_sink_event), (gst_file_sink_render),
13937 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13938 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13939 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13940 * gst/elements/gstfilesink.h:
13941 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13942 (gst_file_src_class_init), (gst_file_src_init),
13943 (gst_file_src_finalize), (gst_file_src_set_location),
13944 (gst_file_src_set_property), (gst_file_src_get_property),
13945 (gst_file_src_map_region), (gst_file_src_map_small_region),
13946 (gst_file_src_create_mmap), (gst_file_src_create_read),
13947 (gst_file_src_create), (gst_file_src_is_seekable),
13948 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13949 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13950 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13951 (gst_file_src_uri_handler_init):
13952 * gst/elements/gstfilesrc.h:
13953 more autistic cleanliness in functions/names/defines
13955 2005-07-13 Andy Wingo <wingo@pobox.com>
13957 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13958 source couldn't negotiate.
13960 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13964 * gst/gstutils.c (gst_element_link_pads_filtered): New old
13965 function. I am channeling Hades. Put your boots on suckers!!!
13967 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13969 * testsuite/caps/Makefile.am:
13970 * testsuite/caps/value_compare.c:
13971 * testsuite/caps/value_intersect.c:
13972 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13973 move two testsuite apps over to the check dir
13975 2005-07-12 Wim Taymans <wim@fluendo.com>
13977 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13978 Added more debug info in the negotiate process.
13980 * gst/gstmessage.h:
13981 Prepare for segment playback.
13983 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13989 * tools/gst-launch.c: (main):
13990 NULL pipeline on errors.
13992 2005-07-12 Andy Wingo <wingo@pobox.com>
13994 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13995 not it comes from a malloc region. Make sure our copy gets freed.
13997 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
13999 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14000 * check/gst/gstmessage.c: (GST_START_TEST):
14001 * check/gst/gststructure.c: (GST_START_TEST),
14002 (gst_structure_suite), (main):
14004 * gst/gstelement.c: (gst_element_message_full):
14005 clean up GError and debug string now that they get copied
14006 * gst/gstmessage.c: (gst_message_new_error),
14007 (gst_message_new_warning), (gst_message_parse_error),
14008 (gst_message_parse_warning):
14009 use GST_TYPE_G_ERROR for structure_new, and take copies of
14010 arguments, so that we don't mess up refcounting
14012 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14014 * check/Makefile.am:
14015 add per-test valgrind targets
14016 * check/gst-libs/gdp.c: (GST_START_TEST),
14017 (gst_data_protocol_suite), (main):
14020 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14022 * check/Makefile.am:
14023 instate more valgrindable tests
14024 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14025 (GST_START_TEST), (fakesrc_suite):
14026 * check/gst/gstpad.c: (GST_START_TEST):
14027 * check/gst/gststructure.c: (GST_START_TEST):
14029 * docs/gst/tmpl/gstminiobject.sgml:
14030 * gst/gstpad.c: (gst_pad_finalize):
14031 fix the static mutex leak
14033 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14035 * check/Makefile.am:
14036 add two more tests for valgrinding
14037 * check/gst/gstvalue.c: (GST_START_TEST):
14038 test refcount of deserialized buffer, found a leak
14039 * docs/gst/gstreamer-docs.sgml:
14040 * docs/gst/gstreamer-sections.txt:
14041 * docs/gst/gstreamer.types:
14042 * docs/gst/tmpl/gstminiobject.sgml:
14043 add miniobject to docs
14044 * gst/gstminiobject.c:
14046 * gst/gstvalue.c: (gst_value_deserialize_buffer),
14047 (gst_string_unwrap):
14048 fix a hard-to-find invalid write for one of the tests
14049 fix a leak for deserialized buffers
14051 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14053 * docs/pwg/advanced-events.xml:
14054 * docs/pwg/advanced-request.xml:
14055 * docs/pwg/advanced-scheduling.xml:
14056 * docs/pwg/appendix-porting.xml:
14057 * docs/pwg/building-boiler.xml:
14058 * docs/pwg/intro-preface.xml:
14059 * docs/pwg/other-ntoone.xml:
14060 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14061 of example code and explanation for pad activation, loop() and
14062 getrange() functions and a bit more. Remove old comments pointing
14064 * examples/pwg/Makefile.am:
14065 Add loop/getrange examples.
14067 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14070 check for valgrind binary + some fixes
14072 valgrind suppressions for the tests
14073 * check/Makefile.am:
14074 add a valgrind: target that valgrinds the unit tests
14075 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14076 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14077 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14078 * check/gst/gstghostpad.c:
14080 * check/gst/gstdata.c:
14082 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14083 (thread_unref), (gst_mini_object_suite), (main):
14085 * gst/gst.c: (gst_deinit):
14087 add a method to clean up.
14088 * gst/gstsystemclock.c: (gst_system_clock_dispose),
14089 (gst_system_clock_obtain):
14090 allow for disposing the system clock.
14091 * tools/gst-launch.c: (main):
14094 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14096 * docs/gst/tmpl/gstbasesrc.sgml:
14097 * docs/gst/tmpl/gstfakesrc.sgml:
14098 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14099 (gst_base_src_init), (gst_base_src_set_property),
14100 (gst_base_src_get_property), (gst_base_src_get_range),
14101 (gst_base_src_start):
14102 * gst/base/gstbasesrc.h:
14103 add num-buffers property
14104 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14105 (gst_fakesrc_init), (gst_fakesrc_set_property),
14106 (gst_fakesrc_get_property), (gst_fakesrc_create),
14107 (gst_fakesrc_start):
14108 remove num-buffers property
14110 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14112 * docs/gst/gstreamer-sections.txt:
14113 * docs/gst/tmpl/gstbasesink.sgml:
14114 * docs/gst/tmpl/gstbasesrc.sgml:
14115 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14116 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14117 (gst_base_sink_finalize), (gst_base_sink_set_clock),
14118 (gst_base_sink_set_property), (gst_base_sink_get_property),
14119 (gst_base_sink_handle_object), (gst_base_sink_event),
14120 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14121 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14122 (gst_base_sink_loop), (gst_base_sink_deactivate),
14123 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14124 (gst_base_sink_change_state):
14125 * gst/base/gstbasesink.h:
14126 * gst/base/gstbasesrc.h:
14127 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14128 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14129 (gst_filesink_init):
14130 more macro splitting
14132 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14134 * gst/gstelement.c: (gst_element_get_bus):
14136 * tools/gst-launch.c: (check_intr), (event_loop):
14139 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14141 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14144 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14146 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14147 (gst_base_src_finalize):
14148 add finalize method and clean up properly
14149 * gst/gstpipeline.c: (gst_pipeline_dispose):
14152 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14154 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14156 add more things to check
14157 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14158 * gst/gstelement.c:
14161 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14163 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14164 (GST_START_TEST), (fakesrc_suite):
14165 * check/gst-libs/gdp.c: (GST_START_TEST):
14166 * check/gst/gst.c: (GST_START_TEST):
14167 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14168 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14169 * check/gst/gstbus.c: (GST_START_TEST):
14170 * check/gst/gstcaps.c: (GST_START_TEST):
14171 * check/gst/gstdata.c: (GST_START_TEST):
14172 * check/gst/gstelement.c: (GST_START_TEST):
14173 * check/gst/gstghostpad.c: (GST_START_TEST):
14174 * check/gst/gstiterator.c: (GST_START_TEST):
14175 * check/gst/gstmessage.c: (GST_START_TEST):
14176 * check/gst/gstobject.c: (GST_START_TEST):
14177 * check/gst/gstpad.c: (GST_START_TEST):
14178 * check/gst/gststructure.c: (GST_START_TEST):
14179 * check/gst/gstsystemclock.c: (GST_START_TEST),
14180 (gst_systemclock_suite):
14181 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14182 * check/gst/gstvalue.c: (GST_START_TEST):
14183 * check/pipelines/cleanup.c: (GST_START_TEST):
14184 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14185 * check/states/sinks.c: (GST_START_TEST):
14186 * check/gstcheck.c: (gst_check_init):
14187 * check/gstcheck.h:
14188 add debugging category
14189 use GST_START_TEST now, so we add a debug line
14191 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14193 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14194 add test for state change message on a bin
14195 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14197 * gst/gstbin.c: (gst_bin_init):
14198 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14199 * gst/gstelement.c: (gst_element_post_message),
14200 (gst_element_set_state):
14201 * gst/gstelementfactory.c: (gst_element_factory_create):
14202 * gst/gstmessage.c: (gst_message_new):
14203 * gst/gstscheduler.c:
14204 various debugging additions and cleanups
14206 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14208 * check/Makefile.am:
14209 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14211 adding tests for elements
14212 * gst/gstelement.c: (gst_element_dispose):
14214 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14216 * gst/registries/gstlibxmlregistry.c: (load_feature):
14217 plug more leaks. A simple gst_init() now is leakfree, yay.
14219 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14221 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14222 (gst_xml_registry_load):
14223 plug another memleak
14225 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14228 use GST_SET_ERROR_CFLAGS
14229 * docs/faq/cvs.xml:
14230 change to ERROR_CFLAGS
14232 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14235 make GST_ERROR_CFLAGS overridable and re-enable Werror
14236 * docs/faq/cvs.xml:
14237 add a note about error CFLAGS
14238 * docs/gst/tmpl/gstfakesrc.sgml:
14239 * gst/elements/gstfakesrc.c:
14240 comment out some unused code
14241 * gst/gst.c: (split_and_iterate):
14242 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14246 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14248 * common/Makefile.am:
14249 * common/gtk-doc.mak:
14250 * docs/gst/Makefile.am:
14251 factor out gtk-doc.mak
14253 2005-07-07 Wim Taymans <wim@fluendo.com>
14255 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14256 (gst_thread_scheduler_dispose):
14257 Unlock the STREAM_LOCK completely.
14259 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14261 * check/Makefile.am:
14262 * check/elements/.cvsignore:
14263 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14264 (START_TEST), (fakesrc_suite), (main):
14265 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14266 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14267 (gst_fakesrc_create), (gst_fakesrc_start):
14268 * gst/elements/gstfakesrc.h:
14269 adding a first element test
14271 2005-07-07 Andy Wingo <wingo@pobox.com>
14273 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14276 2005-07-07 Wim Taymans <wim@fluendo.com>
14282 2005-07-07 Wim Taymans <wim@fluendo.com>
14284 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14285 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14286 Allow subclasses to implement their own negotiation.
14288 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14290 * docs/design/part-gstbin.txt:
14291 * docs/design/part-gstpipeline.txt:
14292 Update design notes to reflect the movement of
14293 responsibility for bus handling from GstPipeline to
14296 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14299 Remove unnecessary queue2/3/4 examples.
14301 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14303 * examples/Makefile.am:
14304 * examples/helloworld/helloworld.c: (event_loop), (main):
14305 * examples/queue/queue.c: (event_loop), (main):
14306 * examples/queue2/queue2.c: (main):
14307 Update a couple of the examples to work again.
14309 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14310 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14311 Spelling corrections and extra debug.
14313 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14314 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14315 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14317 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14318 (gst_pipeline_change_state):
14319 * gst/gstpipeline.h:
14320 Move the bus handler for children to the GstBin, and create a
14321 separate bus for receiving messages from children to the one the
14322 bus sends 'upwards' on.
14324 2005-07-06 Wim Taymans <wim@fluendo.com>
14327 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14328 (gst_base_sink_handle_object), (gst_base_sink_loop),
14329 (gst_base_sink_change_state):
14330 * gst/base/gstbasesink.h:
14331 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14332 (gst_base_src_init), (gst_base_src_setcaps),
14333 (gst_base_src_getcaps), (gst_base_src_loop),
14334 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14335 (gst_base_src_start), (gst_base_src_change_state):
14336 * gst/base/gstbasesrc.h:
14337 Make basesrc negotiate.
14338 Handle the case where preroll fails in basesink.
14341 2005-07-06 Wim Taymans <wim@fluendo.com>
14343 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14344 Implement the fixate function.
14345 Clean up acceptcaps.
14347 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14349 * docs/pwg/building-filterfactory.xml:
14350 * docs/pwg/pwg.xml:
14351 Remove never-written filter-factory chapter; I'll add the various
14352 base classes to part 4 ("other element types") later on.
14354 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14356 * docs/pwg/advanced-negotiation.xml:
14357 * docs/pwg/building-boiler.xml:
14358 * docs/pwg/building-pads.xml:
14359 * docs/pwg/pwg.xml:
14360 * examples/pwg/Makefile.am:
14361 Add a chapter on caps negotiation, simplify the original code
14362 samples a bit w.r.t. caps negotiation, add link to the advanced
14363 section. Add a bunch of examples showing different use cases of
14364 different types of caps negotiation. Upstream renegotiation isn't
14365 fully documented yet since nobody knows how that works.
14367 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
14369 * check/gst/gstpad.c:
14370 * check/gstcheck.c:
14371 * gst/gstpad.c: (gst_pad_get_internal_links_default):
14372 if pad has no parent, return NULL as list of internal links
14374 2005-07-05 Andy Wingo <wingo@pobox.com>
14376 * gst/elements/gstfilesrc.c:
14377 * gst/elements/gstfakesrc.c:
14378 * gst/base/gstpushsrc.c:
14379 * gst/base/gstbasesrc.h:
14380 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14382 2005-07-05 Stefan Kost <ensonic@users.sf.net>
14385 better report generation target (lcov needs a patch)
14387 2005-07-05 Andy Wingo <wingo@pobox.com>
14389 * gst/elements, testsuite: Null if we got it...
14391 2005-07-05 Wim Taymans <wim@fluendo.com>
14394 * libs/gst/dataprotocol/Makefile.am:
14395 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14396 * libs/gst/dataprotocol/dataprotocol.h:
14397 * pkgconfig/Makefile.am:
14398 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14399 * pkgconfig/gstreamer-dataprotocol.pc.in:
14400 Ported dataprotol to 0.9.
14401 Added pkgconfig files.
14403 2005-07-05 Andy Wingo <wingo@pobox.com>
14405 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14406 Default to returning TRUE for the case when tranform_caps returns
14407 a fixed caps, like for identity or volume.
14409 * check/gst/gstbus.c (pound_bus_with_messages):
14410 * check/gst/gstmessage.c (START_TEST):
14411 * check/pipelines/simple_launch_lines.c (got_handoff): Application
14412 message API change.
14414 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14415 logic weaks here: always run transform_caps, trying passthrough
14416 operation only if the original caps intersects with the transform.
14418 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14419 source and sink caps.
14421 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14422 Intersect the peer caps with the pad template before going into
14424 (gst_base_transform_transform_caps): More debugging.
14426 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14429 2005-07-04 Edward Hervey <edward@fluendo.com>
14433 (gst_pad_add_*_probe): now returns the signal id for better wrapping
14436 2005-07-04 Andy Wingo <wingo@pobox.com>
14438 * check/gst/gstpad.c: Only set explicit caps on pads.
14440 2005-07-01 Andy Wingo <wingo@pobox.com>
14442 * tests/network-clock.scm: Commentary update.
14444 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14445 Didn't really make sense, not implementable with basetransform,
14447 (gst_identity_transform): Unref inbuf via make_writable. Feeble
14448 attempt at implementing the sync property, needs an unlock method.
14450 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14451 New func, by default returns the same caps (the identity
14453 (gst_base_transform_getcaps): Uses transform_caps to return
14454 something sensible.
14455 (gst_base_transform_setcaps): Complicated logic to get caps on
14456 both pads, even if they are different, and to call set_caps once
14457 for every time both pads get their caps set.
14458 (gst_base_transform_handle_buffer): Give the ref to the transform
14459 function. Allows in-place modification of the buffer.
14461 * gst/base/gstbasetransform.h (transform_caps): New class method.
14462 Given caps on one side, what can I do on the other.
14463 (set_caps): Take two caps, one for each side of the element.
14466 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14467 caps in place. This is safe because we can check the mutability of
14468 the caps, and a good idea because fixate functions are just called
14469 as a matter of last resort. (Not actually implemented.)
14470 (gst_pad_set_caps): If the caps we're setting is actually the same
14471 as the existing pad caps, just update the pointer without calling
14472 setcaps. Assert that caps is either NULL or fixed, as per the
14475 * gst/gstghostpad.c: Update for fixate changes.
14477 2005-07-02 Andy Wingo <wingo@pobox.com>
14480 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14481 two refcounts makes it immutable, which is enough. Doc more.
14483 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
14485 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14486 Put the mini_object into GValue as a mini_object,
14487 not a gpointer, since that's how we declared
14490 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14492 * examples/pwg/Makefile.am:
14493 Fix buildbot again.
14495 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14497 * docs/pwg/building-testapp.xml:
14499 * examples/pwg/Makefile.am:
14502 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14505 * examples/Makefile.am:
14506 * examples/pwg/Makefile.am:
14507 * examples/pwg/extract.pl:
14508 Enable building the PWG examples.
14509 * docs/pwg/advanced-interfaces.xml:
14510 Add URI interface stub.
14511 * docs/pwg/advanced-types.xml:
14512 * docs/pwg/other-autoplugger.xml:
14513 * docs/pwg/appendix-porting.xml:
14514 * docs/pwg/pwg.xml:
14515 Add porting guide (mostly stubs), remove autoplugging (see ADM).
14516 * docs/pwg/building-boiler.xml:
14517 * docs/pwg/building-chainfn.xml:
14518 * docs/pwg/building-pads.xml:
14519 * docs/pwg/building-props.xml:
14520 * docs/pwg/building-state.xml:
14521 * docs/pwg/building-testapp.xml:
14522 Update the building-*.xml parts for 0.9 changes. All examples
14523 code blocks compile in examples/pwg/*.
14525 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14527 * docs/manual/advanced-autoplugging.xml:
14528 * docs/manual/appendix-checklist.xml:
14529 * docs/manual/appendix-integration.xml:
14530 * docs/manual/highlevel-components.xml:
14531 Fix playbin/decodebin examples, update docs a bit, mention bus
14532 instead of signals in various places, mention kmplayer and
14533 kaffeine since they have a working GStreamer backend in the KDE
14536 2005-06-30 Wim Taymans <wim@fluendo.com>
14539 * docs/design/draft-ghostpads.txt:
14540 * docs/design/draft-push-pull.txt:
14541 * docs/design/draft-query.txt:
14542 * docs/design/part-TODO.txt:
14543 * docs/design/part-query.txt:
14544 Added CHANGES-0.9 doc, updated status of other docs.
14549 2005-06-30 Wim Taymans <wim@fluendo.com>
14551 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14552 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14553 (gst_base_sink_change_state):
14554 * gst/base/gstbasesink.h:
14555 Some tweaks, only EOS and a buffer complete a preroll.
14557 2005-06-30 Andy Wingo <wingo@pobox.com>
14559 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14560 activate_push down to the internal pad as well.
14562 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
14564 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14566 * gst/gsttaginterface.c:
14567 Some documentation fixes (#307394 and #307397).
14569 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
14571 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14573 * gst/gstvalue.c: (gst_value_intersect_list):
14574 Fix memleak (#309125).
14576 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14578 * docs/manual/advanced-dataaccess.xml:
14579 Fix fakesrc example to compile; doesn't work, bug somewhere...?
14580 * docs/manual/basics-pads.xml:
14581 Add reference for filtered caps to above chapter.
14583 2005-06-30 Wim Taymans <wim@fluendo.com>
14585 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14586 (gst_bin_change_state):
14588 Lame attempt at making the state change function a bit
14591 2005-06-30 Wim Taymans <wim@fluendo.com>
14593 * docs/design/part-clocks.txt:
14594 * docs/design/part-element-sink.txt:
14595 * docs/design/part-events.txt:
14596 * docs/design/part-preroll.txt:
14597 * docs/design/part-states.txt:
14598 Some more tweeks and additions to the docs.
14600 2005-06-30 Wim Taymans <wim@fluendo.com>
14602 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14603 (default_have_data), (gst_pad_class_init), (gst_pad_init),
14604 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14605 (gst_pad_check_pull_range), (gst_pad_get_range),
14606 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14608 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14609 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14610 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14611 (gst_pad_remove_buffer_probe):
14612 Removed atomic operations, use existing LOCK.
14613 Move exception handling out of main code path.
14615 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14617 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14618 (silly_return_true_function), (gst_pad_class_init),
14619 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14620 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14621 (gst_pad_send_event):
14622 Fix accumulator, add default value by using _emitv() instead
14623 of _emit() for signal emission.
14625 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14627 * docs/manual/advanced-dataaccess.xml:
14628 * examples/manual/Makefile.am:
14630 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14633 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
14635 * gst/elements/gstfilesink.c: (gst_filesink_render):
14636 Simplify code so that we don't have to handle short
14637 writes and return GST_FLOW_ERROR if an error occured.
14639 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14641 * docs/gst/gstreamer-docs.sgml:
14642 Remove probes more.
14644 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14646 * docs/gst/gstreamer-sections.txt:
14647 * docs/gst/tmpl/gstpad.sgml:
14648 * docs/gst/tmpl/gstprobe.sgml:
14650 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14651 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14652 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14653 (gst_pad_push_event), (gst_pad_send_event):
14655 * gst/gstutils.c: (gst_pad_add_data_probe),
14656 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14657 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14658 (gst_pad_remove_buffer_probe):
14660 Remove old probes, add new g-signal-based probes and some utility
14663 2005-06-29 Edward Hervey <edward@fluendo.com>
14665 * gst/gstelementfactory.c:
14668 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14669 the definition to the header file.
14671 2005-06-29 Andy Wingo <wingo@pobox.com>
14673 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14674 plugins from the source directory.
14676 2005-06-29 Wim Taymans <wim@fluendo.com>
14678 * docs/gst/tmpl/gstbuffer.sgml:
14679 * docs/gst/tmpl/gstclock.sgml:
14680 Some fixings for blantently wrong text.
14682 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
14684 * check/Makefile.am:
14685 * gst/gst.c: (add_path_func), (init_pre):
14686 * gst/gstregistry.c: (gst_registry_add_path):
14687 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14688 only scan the GST_PLUGIN_PATH locations, and not add
14691 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
14693 * docs/gst/gstreamer-sections.txt:
14694 * docs/gst/tmpl/gstbasesrc.sgml:
14695 * gst/gstelement.c:
14696 * gst/gstelement.h:
14701 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14703 * docs/manual/advanced-autoplugging.xml:
14704 Fix autoplugging example.
14706 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14708 * docs/manual/advanced-autoplugging.xml:
14709 * docs/manual/mime-world.fig:
14710 Try to get autoplugging working, fix type detection. Fix text
14711 in hello-world image.
14713 2005-06-29 Wim Taymans <wim@fluendo.com>
14715 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14716 (gst_base_sink_change_state):
14720 map SIGNAL and BROADCAST to the right function.
14723 Remove redundant braces.
14725 * gst/gstpad.c: (gst_pad_set_caps):
14726 Don't call setcaps function when reseting caps to NULL.
14728 * gst/gstsystemclock.c: (gst_system_clock_dispose),
14729 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14730 (gst_system_clock_id_unschedule):
14731 Use BROADCAST as this is what we do.
14733 2005-06-29 Wim Taymans <wim@fluendo.com>
14735 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14736 We are actually prerolling before commiting the state
14739 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14741 * docs/manual/advanced-clocks.xml:
14742 * docs/manual/advanced-interfaces.xml:
14743 * docs/manual/advanced-metadata.xml:
14744 * docs/manual/advanced-position.xml:
14745 * docs/manual/advanced-schedulers.xml:
14746 * docs/manual/advanced-threads.xml:
14747 * docs/manual/appendix-porting.xml:
14748 * docs/manual/basics-bins.xml:
14749 * docs/manual/basics-bus.xml:
14750 * docs/manual/basics-elements.xml:
14751 * docs/manual/basics-helloworld.xml:
14752 * docs/manual/basics-pads.xml:
14753 * docs/manual/highlevel-components.xml:
14754 * docs/manual/manual.xml:
14755 * docs/manual/thread.fig:
14756 Update (until threads/scheduling) Application Development Manual;
14757 remove GstThread, add GstBus, add simple porting checklist, add
14758 documentation for tag writing, clocks, make all examples until this
14759 part compile and run.
14760 * examples/manual/Makefile.am:
14761 Update from changes to Application Development Manual; add bus
14762 example, remove thread example.
14764 2005-06-28 Wim Taymans <wim@fluendo.com>
14766 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14767 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14768 (gst_bus_source_dispatch):
14769 Add debugging messages.
14770 Make internal methods static.
14771 Handle the case where the bus is flushed in the handler.
14773 * gst/gstelement.c: (gst_element_get_bus):
14774 Fix refcount in _get_bus();
14776 * gst/gstpipeline.c: (gst_pipeline_change_state),
14777 (gst_pipeline_get_clock_func):
14778 Clock refcounting fixes.
14779 Handle the case where preroll timed out more gracefully.
14781 * gst/gstsystemclock.c: (gst_system_clock_dispose):
14782 Clean up the internal thread in dispose. This is needed
14783 for subclasses that actually get disposed.
14785 * gst/schedulers/threadscheduler.c:
14786 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14787 (gst_thread_scheduler_dispose):
14788 Free thread pool in dispose.
14790 2005-06-28 Andy Wingo <wingo@pobox.com>
14792 * tests/network-clock-utils.scm (debug, print-event): New utils.
14794 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14795 (*packet-loss*): Unified loss probability.
14796 (network-time): Report out-of-band events.
14798 * tests/plot-data: Add support for out-of-band events. Hack it
14799 into this script instead of passing it down the pipe; should fix
14802 2005-06-28 Wim Taymans <wim@fluendo.com>
14804 * docs/gst/gstreamer.types:
14805 * docs/gst/tmpl/gstbasesrc.sgml:
14806 * docs/gst/tmpl/gstpad.sgml:
14809 2005-06-28 Wim Taymans <wim@fluendo.com>
14811 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14812 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14813 (gst_proxy_pad_do_fixatecaps):
14814 Correctly proxy the check_pull_range function.
14816 2005-06-28 Andy Wingo <wingo@pobox.com>
14818 * tests/network-clock.scm: Removed need for slib.
14820 2005-06-28 Wim Taymans <wim@fluendo.com>
14822 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14823 (gst_basesink_preroll_queue_flush):
14824 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14825 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14826 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14827 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14828 (gst_proxy_pad_set_property):
14831 * gst/gstqueue.c: (gst_queue_init):
14832 The deprecated pad loop function is removed now.
14834 2005-06-28 Andy Wingo <wingo@pobox.com>
14836 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14837 New parameters, simulate network packet loss.
14839 * tests/network-clock-utils.scm: Initialize the RNG.
14841 2005-06-28 Wim Taymans <wim@fluendo.com>
14843 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14844 (gst_basesink_event), (gst_basesink_deactivate):
14845 Flushing the preroll queue always needs to unlock the waiters.
14847 2005-06-28 Edward Hervey <edward@fluendo.com>
14849 * gst/gstpipeline.c: (gst_pipeline_send_event):
14850 Wheen a seek was successful on a pipeline, set the stream_time to the
14851 seek offset in order to have a synchronized stream_time.
14853 2005-06-28 Wim Taymans <wim@fluendo.com>
14855 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14856 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14857 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14858 (gst_proxy_pad_do_fixatecaps):
14859 Call wrapper function instead of just calling the function
14860 pointers. This takes care of any locking and whatmore.
14862 2005-06-28 Wim Taymans <wim@fluendo.com>
14864 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14865 (gst_pad_pull_range):
14867 CONNECTED -> LINKED.
14869 2005-06-28 Andy Wingo <wingo@pobox.com>
14871 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14872 source-munging commit!!!
14874 * gst/gstobject.c (gst_object_unref, gst_object_ref)
14875 (gst_object_sink): Take gpointer arguments, not GstObject --
14876 avoids casts. Like GLib.
14878 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14881 2005-06-27 Andy Wingo <wingo@pobox.com>
14883 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14886 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14887 returns a sorted copy of the trace list.
14888 (gst_alloc_trace_print_live): New API, only prints traces with
14889 live objects. Sort the list.
14890 (gst_alloc_trace_print_all): Sort the list.
14891 (gst_alloc_trace_print): Align columns.
14893 * gst/elements/gstttypefindelement.c:
14894 * gst/elements/gsttee.c:
14895 * gst/base/gstbasesrc.c:
14896 * gst/base/gstbasesink.c:
14897 * gst/base/gstbasetransform.c:
14898 * gst/gstqueue.c: Adapt for pad activation changes.
14900 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14902 (gst_pipeline_dispose): Drop ref on sched.
14904 * gst/gstpad.c (gst_pad_init): Set the default activate func.
14905 (gst_pad_activate_default): Push mode by default.
14906 (pre_activate_switch, post_activate_switch): New stubs, things to
14907 do before and after switching activation modes on pads.
14908 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14909 the pad's activate function to choose which mode to activate.
14910 Shortcut on deactivation and call the right function directly.
14911 (gst_pad_activate_pull): New API, (de)activates a pad in pull
14913 (gst_pad_activate_push): New API, same for push mode.
14914 (gst_pad_set_activate_function)
14915 (gst_pad_set_activatepull_function)
14916 (gst_pad_set_activatepush_function): Setters for new API.
14918 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14919 Trace all miniobjects.
14920 (gst_mini_object_make_writable): Unref the arg if we copy, like
14921 gst_caps_make_writable.
14923 * gst/gstmessage.c (_gst_message_initialize): No trace init.
14925 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
14926 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14927 Adapt for new pad API.
14929 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14931 * gst/gstelement.h:
14932 * gst/gstelement.c (gst_element_iterate_src_pads)
14933 (gst_element_iterate_sink_pads): New API functions.
14935 * gst/gstelement.c (iterator_fold_with_resync): New utility,
14936 should fold into gstiterator.c in some form.
14937 (gst_element_pads_activate): Simplified via use of fold and
14938 delegation of decisions to gstpad->activate.
14940 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14943 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14944 class once in init, like gstmessage. Didn't run into this issue
14945 but it seems correct. Don't initialize a trace, gstminiobject does
14948 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14949 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14951 (assert_live_count): New util function, uses alloc traces to check
14954 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14955 To be modified when unlink drops the internal pad.
14957 2005-06-27 Wim Taymans <wim@fluendo.com>
14959 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14960 (gst_bin_change_state):
14961 Cleanup the get_state() function a little, make sure it
14962 iterates the same set of elements.
14963 Added stub iterate_state_order().
14965 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
14967 * docs/gst/gstreamer-docs.sgml:
14968 * docs/gst/gstreamer-sections.txt:
14969 * docs/gst/gstreamer.types:
14970 * docs/gst/tmpl/gstbasesink.sgml:
14971 * docs/gst/tmpl/gstbasesrc.sgml:
14972 * docs/gst/tmpl/gstbasetransform.sgml:
14973 * docs/gst/tmpl/gstelement.sgml:
14974 * docs/gst/tmpl/gstiterator.sgml:
14975 * gst/base/gstbasesrc.c:
14976 * gst/base/gstbasesrc.h:
14977 * gst/base/gstbasetransform.h:
14978 * gst/gstelement.c:
14979 * gst/gstiterator.h:
14980 adding basetransform and iterator docs
14982 2005-06-27 Andy Wingo <wingo@pobox.com>
14984 * docs/design/part-activation.txt: Notes on how activation should
14985 work -- not quite implemented yet.
14987 2005-06-25 Wim Taymans <wim@fluendo.com>
14989 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14990 At least get the chain function correct, needs more
14993 2005-06-25 Wim Taymans <wim@fluendo.com>
14995 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14996 (gst_basesink_handle_object), (gst_basesink_event),
14997 (gst_basesink_do_sync), (gst_basesink_handle_event),
14998 (gst_basesink_change_state):
15000 Right, two problems here: ghostpads don't take locks and
15001 glib _rec_mutex_lock_full() with depth==0 still locks.
15002 Catch illegal locking and g_warn them.
15004 2005-06-25 Wim Taymans <wim@fluendo.com>
15006 * check/states/sinks.c: (START_TEST), (gst_object_suite):
15007 Have to check for completion now...
15009 2005-06-25 Wim Taymans <wim@fluendo.com>
15011 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15012 (gst_basesink_handle_object), (gst_basesink_event),
15013 (gst_basesink_do_sync), (gst_basesink_handle_event),
15014 (gst_basesink_change_state):
15016 Unlock STREAM_LOCK whatever the recursion was.
15018 2005-06-25 Wim Taymans <wim@fluendo.com>
15020 * gst/base/gstbasesink.c: (gst_basesink_set_property),
15021 (gst_basesink_preroll_queue_empty),
15022 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15023 (gst_basesink_event), (gst_basesink_do_sync),
15024 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15025 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15026 (gst_basesink_change_state):
15027 Reworked the base sink, handle event and buffer serialisation
15028 correctly and removed possible deadlock.
15029 Handle EOS correctly.
15031 2005-06-25 Wim Taymans <wim@fluendo.com>
15033 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15034 (gst_pipeline_change_state):
15035 * tools/gst-launch.c: (check_intr), (event_loop), (main):
15036 Allow elements to post EOS in the state change function.
15037 Fix up -launch, make it exit the poll loop when the
15038 pipeline actually changed state.
15039 Fix up warning parsing in -launch.
15041 2005-06-25 Wim Taymans <wim@fluendo.com>
15043 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15044 (gst_tee_sink_activate):
15045 Core takes STREAM_LOCK for us now.
15047 2005-06-25 Wim Taymans <wim@fluendo.com>
15049 * gst/gstelement.c: (gst_element_get_state_func),
15050 (gst_element_set_state):
15051 * gst/gstelement.h:
15052 * gst/gstmessage.c: (gst_message_parse_error),
15053 (gst_message_parse_warning):
15054 Keep track of current target state while performing a state
15055 change so that subclasses can do something interesting.
15056 Fix parsing of warning/error messages when GError is NULL.
15058 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
15060 * docs/gst/Makefile.am:
15061 * docs/gst/gstreamer-docs.sgml:
15062 * docs/gst/gstreamer-sections.txt:
15063 * docs/gst/gstreamer.types:
15064 * docs/gst/tmpl/gstbasesink.sgml:
15065 * docs/gst/tmpl/gstbasesrc.sgml:
15066 * docs/gst/tmpl/gstbin.sgml:
15067 * docs/gst/tmpl/gstcompat.sgml:
15068 * docs/gst/tmpl/gstfakesink.sgml:
15069 * docs/gst/tmpl/gstfakesrc.sgml:
15070 * docs/gst/tmpl/gstfilesink.sgml:
15071 * docs/gst/tmpl/gstfilesrc.sgml:
15072 * docs/gst/tmpl/gstindex.sgml:
15073 * docs/manual/appendix-quotes.xml:
15074 * gst/base/gstbasesrc.h:
15075 * gst/elements/gstfakesrc.h:
15076 * gst/gstmessage.h:
15077 start pulling in base classes and elements in our docs
15079 2005-06-24 Stefan Kost <ensonic@users.sf.net>
15081 * docs/gst/Makefile.am:
15082 * docs/libs/Makefile.am:
15083 fixed make distcheck with gtk-doc 1.3
15085 2005-06-23 Wim Taymans <wim@fluendo.com>
15087 * gst/gstelement.c: (gst_element_get_state_func),
15088 (gst_element_set_state), (gst_element_change_state):
15089 When the state did not change, also report NO_PREROLL
15092 2005-06-23 Wim Taymans <wim@fluendo.com>
15094 * gst/gstpad.c: (gst_pad_event_default):
15095 * gst/gstqueue.c: (gst_queue_loop):
15096 No unsafe task pausing please.
15098 2005-06-23 Wim Taymans <wim@fluendo.com>
15100 * gst/schedulers/threadscheduler.c:
15101 (gst_thread_scheduler_task_start),
15102 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15103 Ref the task before pushing it on the threadpool. This
15104 makes sure that we have a ref when the threadfunction is
15107 2005-06-23 Andy Wingo <wingo@pobox.com>
15109 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15110 offset is greater than the file's size.
15112 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
15113 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15114 * gst/gstobject.c (gst_object_class_init): Make the class lock
15115 recursive. Wim won't let me drop deep_notify. Decodebin works
15116 again, whoopdy doo.
15118 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15119 internal pad, and hacks accordingly. Doesn't do it on the target
15120 pad because we change its caps. Probably catches all cases of
15122 (gst_ghost_pad_set_property): Connect to notify::caps as
15125 * tests/network-clock.scm (plot-simulation): Pipe data to the
15126 elite python skript.
15128 * tests/network-clock-utils.scm (define-parameter): New macro,
15129 defines a parameter that can be set via the command line.
15130 (set-parameter!, parse-parameter-arguments): Command line args
15133 * tests/plot-data: Simple matplotlib-based plotter, takes input on
15136 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
15138 * gst/elements/gsttypefindelement.c:
15139 (gst_type_find_element_handle_event):
15140 Don't restart typefinding on a discont.
15141 * gst/gstelement.c: (gst_element_set_state):
15142 Debug spelling fix.
15143 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15144 Allow changing mode of an active pad.
15145 Debug output fixes.
15146 * gst/registries/gstlibxmlregistry.c: (load_feature):
15147 Don't cast a static pad template to a normal pad template.
15149 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
15151 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15152 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15153 remove gst_strtoll completely, since it didn't actually do
15154 anything more than what g_ascii_strtoull already does.
15155 check for range errors when deserializing
15156 do a cast for the unsigned cases; but further fixing needs
15157 a decision on what the interpretation of "(int)" and
15158 deserialization should be for values that fall outside the
15159 type's boundaries (ie, refuse, or interpret as casting)
15161 2005-06-23 Wim Taymans <wim@fluendo.com>
15163 * check/Makefile.am:
15164 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15165 * docs/design/part-live-source.txt:
15166 * docs/design/part-states.txt:
15167 * gst/base/gstbasesrc.c: (gst_basesrc_init),
15168 (gst_basesrc_set_live), (gst_basesrc_is_live),
15169 (gst_basesrc_get_range), (gst_basesrc_activate),
15170 (gst_basesrc_change_state):
15171 * gst/base/gstbasesrc.h:
15172 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15173 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15174 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15175 * gst/gstelement.c: (gst_element_get_state_func),
15176 (gst_element_set_state):
15177 * gst/gstelement.h:
15179 * tools/gst-launch.c: (event_loop), (main):
15180 Added support for live sources and other elements that
15182 Updated design docs, added live-source design doc.
15183 Implemented live source functionality in basesrc
15184 Fix error condition in _bin_get_state()
15185 Implement live source handling in -launch.
15186 Added check for live sources.
15187 Fixed case in GstBin where elements were changed state
15191 2005-06-23 Andy Wingo <wingo@pobox.com>
15193 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15194 borken refcounting.
15196 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15197 gst_caps_replace takes care of this for us.
15199 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15200 gst_pad_set_caps on the target, not just its setcaps() function.
15202 * tests/network-clock.scm:
15203 * tests/network-clock-utils.scm: A network clock simulator.
15204 Something of an algorithmic testbed before doing something in C.
15206 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15208 * check/Makefile.am:
15209 * check/gst/capslist.h:
15210 copy over from 0.8, and add two with bitmasks specified with
15212 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15213 add test to parse everything from capslist.h
15214 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15216 add test for structure deserialization
15217 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15218 add tests for deserialization of strings to int types
15219 * gst/gststructure.c: (gst_structure_nth_field_name):
15220 * gst/gststructure.h:
15221 add a way to get the name of a field referenced by index
15222 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15223 instead of checking if the resulting long long lies between
15224 min and max, we check if the long long would fit into
15225 a number of bytes for the final type.
15226 This fixes cases where a string represents 2^32 - 1, which
15227 when cast to int would be the (valid) -1, but is bigger than
15230 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15232 * gst/parse/grammar.y:
15233 add a log line for type deserialization
15235 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15237 * check/gst/gstvalue.c: (START_TEST):
15238 * gst/gstvalue.c: (gst_value_deserialize):
15239 return long long, not int, so gint64 deserialization actually
15240 works. Is there any flag that makes the compiler check this ?
15243 2005-06-22 Wim Taymans <wim@fluendo.com>
15246 Added convenience macros for setting buffers in GValue.
15248 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15250 * check/gst/.cvsignore:
15251 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15252 add a test deserializing int64, and comment part out because
15255 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15257 * check/Makefile.am:
15258 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15259 * testsuite/Makefile.am:
15260 * testsuite/caps/Makefile.am:
15261 * testsuite/caps/value_serialize.c:
15262 * testsuite/test_gst_init.c:
15263 move a value_serialize test over
15265 2005-06-20 Wim Taymans <wim@fluendo.com>
15270 * gst/gstvalue.c: (gst_value_compare_buffer),
15271 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15272 (gst_value_compare_flags), (gst_value_serialize_flags),
15273 (gst_value_deserialize_flags), (_gst_value_initialize):
15274 Fix serialisation of buffers, they are not boxed types anymore
15276 2005-06-20 Wim Taymans <wim@fluendo.com>
15278 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15279 Testcase to show error in buffer-on-caps serialisation.
15281 2005-06-20 Andy Wingo <wingo@pobox.com>
15283 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15284 will be adding to later.
15286 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15287 if its socks fill with rocks.
15288 (gst_system_clock_obtain): Set the name on object construction.
15289 Avoid double-checked locking.
15291 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
15293 * gst/gsturi.c: (gst_element_make_from_uri):
15294 Fix potential endless loop.
15296 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15298 * check/Makefile.am:
15300 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15302 move over from testsuite dir and clean up
15305 * testsuite/Makefile.am:
15306 * testsuite/tags/.cvsignore:
15307 * testsuite/tags/Makefile.am:
15308 * testsuite/tags/merge.c:
15309 remove testsuite/tags
15311 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15313 * docs/gst/gstreamer-sections.txt:
15314 * docs/gst/tmpl/gstenumtypes.sgml:
15315 * win32/gstenumtypes.c:
15316 clean up documentation build a little
15318 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15320 * check/gstcheck.h:
15321 add macros for checking refcounts on objects and caps
15322 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15323 add some more unit tests
15324 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15325 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15326 fix leaked refcounts (I hope :)) so unittest works
15330 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15332 * configure.ac: back to HEAD
15334 === release 0.9.1 ===
15336 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
15342 2005-06-17 Andy Wingo <wingo@pobox.com>
15344 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15345 assert; it's always possible that the pad gets deactivated in
15346 between the checks in gstpad.c and the implementation. Rely on
15347 finish_preroll() to return a FLUSHING or similar instead of on the
15350 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15351 clock and post an EOS message if we come out of finish_preroll in
15354 2005-06-16 David Schleef <ds@schleef.org>
15356 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15357 (gst_capsfilter_set_property): Allow NULL as possible value
15358 for filter_caps property, indicating GST_CAPS_ANY.
15360 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15362 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15364 * gst/schedulers/Makefile.am:
15366 * gstreamer.spec.in:
15369 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15371 * gstreamer.spec.in:
15374 2005-06-08 Andy Wingo <wingo@pobox.com>
15376 * gst/gstutils.c: RPAD fixes all around.
15377 (gst_element_link_pads): Refcounting fixes.
15379 * tools/gst-inspect.c:
15380 * tools/gst-xmlinspect.c:
15382 * gst/base/gsttypefindhelper.c:
15383 * gst/base/gstbasesink.c:
15384 * gst/gstqueue.c: RPAD fixes.
15386 * gst/gstghostpad.h:
15387 * gst/gstghostpad.c: New ghost pad implementation as full proxy
15388 pads. The tricky thing is they provide both source and sink
15389 interfaces, since they proxy the internal pad for the external
15390 pad, and vice versa. Implement with lower-level ProxyPad objects,
15391 with the interior proxy pad as a child of the exterior ghost pad.
15392 Should write a doc on this.
15394 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15395 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15398 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15399 pads are real pads. No ghost pads in this file. Not documenting
15400 the myriad s/RPAD/PAD/ and REALIZE fixes.
15401 (gst_pad_class_init): Add properties for "direction" and
15402 "template". Both are construct-only, so they can't change during
15403 the life of the pad. Fixes properly deriving from GstPad.
15404 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15405 derived objects, just set properties when creating the objects via
15407 (gst_pad_get_parent): Implement as a function, return NULL if the
15408 parent is not an element.
15409 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15410 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15412 * gst/gstobject.c (gst_object_class_init): Make name a construct
15413 property. Don't set it in the object init.
15415 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15416 with UNKNOWN direction.
15417 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15418 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15419 (gst_element_remove_pad): Remove ghost-pad special cases.
15420 (gst_element_pads_activate): Remove rpad cruft.
15422 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15423 catch the pad's-parent-not-an-element case.
15425 * gst/gst.h: Include gstghostpad.h.
15427 * gst/gst.c (init_post): No more real, ghost pads.
15429 * gst/Makefile.am: Add gstghostpad.[ch].
15431 * check/Makefile.am:
15432 * check/gst/gstbin.c:
15433 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15434 into a bin creates ghost pads, and that the refcounts are right.
15435 Partly moved from gstbin.c.
15437 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15439 * check/gst-libs/.cvsignore:
15440 * check/gst/.cvsignore:
15441 * check/pipelines/.cvsignore:
15443 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15444 (START_TEST), (cleanup_suite), (main):
15445 add some tests related to cleanup after running pipelines
15447 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15449 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15450 add a testsuite for GstBuffer
15452 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15454 * gst/gstminiobject.h:
15455 add defines for accessing the refcount
15457 2005-06-03 Stefan Kost <ensonic@users.sf.net>
15459 * Makefile.am: added support for html unit test coverage reports
15461 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
15463 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15464 Free existing caps if the capsfilter changes. Add a FIXME about
15465 setting those caps on the pads.
15467 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15468 Before adding a ghost pad to a parent bin, check that there isn't
15469 already one for the element on the bin. Prevents infinite recursion
15470 when using decodebin in parse pipelines. Andy says he'll rewrite the
15471 way this works anyway, so ignore the hack.
15473 2005-06-02 Andy Wingo <wingo@pobox.com>
15475 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15476 file size, pass it on to the type find helper.
15478 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15479 segment_start and segment_end properly according to the seek
15480 method. Segment_end is still a bit flaky because offset can be
15481 negative for CUR and END cases, but it takes -1 as an "unset"
15484 2005-06-02 Wim Taymans <wim@fluendo.com>
15486 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15487 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15488 (gst_basesink_activate):
15489 * gst/base/gstbasesink.h:
15490 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15491 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15492 (gst_pad_query), (gst_pad_start_task):
15494 * gst/gstqueue.c: (gst_queue_bufferalloc),
15495 (gst_queue_handle_sink_event), (gst_queue_chain):
15496 Bufferalloc: return GstFlowReturn to more accuratly report
15497 why allocation failed.
15499 2005-06-02 Wim Taymans <wim@fluendo.com>
15501 * gst/gstpipeline.c: (gst_pipeline_send_event):
15502 Take snapshot of state without blocking.
15504 2005-06-02 Wim Taymans <wim@fluendo.com>
15506 * docs/design/part-TODO.txt:
15507 * docs/design/part-caps.txt:
15508 * docs/design/part-clocks.txt:
15509 * docs/design/part-negotiation.txt:
15510 * docs/design/part-preroll.txt:
15513 2005-05-30 Wim Taymans <wim@fluendo.com>
15515 * gst/elements/gstidentity.c: (gst_identity_event),
15516 (gst_identity_transform), (gst_identity_get_property):
15517 Protect last_message property as it is accessed from
15520 2005-05-30 Wim Taymans <wim@fluendo.com>
15522 * gst/gstelement.c: (gst_element_init),
15523 (gst_element_pads_activate), (gst_element_change_state):
15524 Slicker pad activation code.
15526 2005-05-30 Wim Taymans <wim@fluendo.com>
15529 * gst/gstelement.h:
15530 * gst/gstelementfactory.h:
15532 Move elementfactory methods to separate .h file.
15534 2005-05-30 Wim Taymans <wim@fluendo.com>
15536 * docs/design/part-overview.txt:
15537 * gst/gstsystemclock.h:
15538 Small typo fixes, doc updates.
15540 2005-05-30 Wim Taymans <wim@fluendo.com>
15542 * gst/gst.c: (gst_init_get_popt_table), (init_post),
15543 (init_popt_callback):
15544 Remove cpu-opt flag.
15546 2005-05-30 Wim Taymans <wim@fluendo.com>
15548 * gst/gstbuffer.c: (gst_subbuffer_finalize),
15549 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15551 Avoid typechecking in places where not needed.
15552 Added accessor for malloc_data.
15554 2005-05-30 Wim Taymans <wim@fluendo.com>
15556 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15557 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15558 (gst_pad_configure_sink), (gst_pad_configure_src),
15559 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15560 (gst_pad_start_task):
15561 Propagate errors from _set_caps() in configure_src/sink
15562 functions instead of returning TRUE.
15563 FLUSH events can travel up and downstream
15566 2005-05-30 Wim Taymans <wim@fluendo.com>
15568 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15569 (gst_basesink_activate):
15570 Handle EOS in preroll.
15572 2005-05-30 Wim Taymans <wim@fluendo.com>
15574 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15575 (gst_queue_loop), (gst_queue_handle_src_event):
15576 Remove old pieces of code
15577 Flushing the queue in an upstream event is a very bad idea.
15579 2005-05-26 Andy Wingo <wingo@pobox.com>
15581 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15582 gst_value_set_mini_object so as to add a ref on the object (which
15583 will be removed when the value is unset).
15585 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15586 arg type in ::handoff.
15588 * gst/gstelement.c (gst_element_change_state): Also deactivate
15589 pads in READY->NULL, just in case the element didn't make it to
15590 PAUSED. Wingo tested, Wim approved.
15592 2005-05-26 Wim Taymans <wim@fluendo.com>
15594 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15595 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15596 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15597 A flushing pad cannot be used to alloc_buffer from.
15599 2005-05-26 Wim Taymans <wim@fluendo.com>
15601 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15602 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15603 (gst_bus_source_dispatch), (gst_bus_source_finalize),
15604 (gst_bus_create_watch), (gst_bus_add_watch_full):
15606 Implement a real GSource and use g_main_context_wakeup() to
15607 signal new messages instead of the socketpair.
15609 2005-05-25 Wim Taymans <wim@fluendo.com>
15611 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15612 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15613 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15614 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15615 (gst_pad_send_event), (gst_pad_start_task):
15616 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15617 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15618 (gst_queue_sink_activate), (gst_queue_src_activate),
15619 (gst_queue_change_state):
15621 Fix state changes for non sinks. We now change sinks, then elements
15622 with unconnected srcpads, then the rest.
15623 More efficient queue unlocking in flush and state changes.
15624 Set the pad activate mode even if it does not have an activate
15627 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15629 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15630 Don't go in pull mode for non-seekable sources.
15631 * gst/elements/gsttypefindelement.h:
15632 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15633 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15634 (free_entry), (stop_typefinding),
15635 (gst_type_find_element_handle_event), (find_peek),
15636 (gst_type_find_element_chain), (do_pull_typefind),
15637 (gst_type_find_element_change_state):
15638 Allow typefinding (w/o seeking) in push-mode, simplified version
15639 of what was in 0.8.
15640 * gst/gstutils.c: (gst_buffer_join):
15642 gst_buffer_join() from 0.8.
15644 2005-05-25 Wim Taymans <wim@fluendo.com>
15646 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15647 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15648 (gst_pad_send_event), (gst_pad_start_task):
15649 Disable attempt at mode switching until it is figured out.
15651 2005-05-25 Wim Taymans <wim@fluendo.com>
15653 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15654 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15655 (gst_basesink_finish_preroll), (gst_basesink_chain),
15656 (gst_basesink_loop), (gst_basesink_activate),
15657 (gst_basesink_change_state):
15658 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15659 (gst_basesrc_get_range), (gst_basesrc_loop),
15660 (gst_basesrc_activate):
15661 * gst/elements/gsttee.c: (gst_tee_sink_activate):
15662 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15663 (gst_real_pad_init), (gst_real_pad_set_property),
15664 (gst_real_pad_get_property), (gst_pad_set_active),
15665 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15666 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15667 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15668 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15669 (gst_pad_event_default_dispatch), (gst_pad_event_default),
15670 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15671 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15672 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15673 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15674 (gst_pad_stop_task):
15676 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15677 (gst_queue_loop), (gst_queue_src_activate):
15678 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15679 (gst_task_get_state):
15681 * gst/schedulers/threadscheduler.c:
15682 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15683 Implement gst_pad_pause/start/stop_task(), take STREAM lock
15685 Remove ACTIVE pad flag, use FLUSHING everywhere
15686 Added _pad_chain(), _pad_get_range() to call chain/getrange
15688 Add locks around IS_FLUSHING when reading.
15689 Take STREAM lock in chain(), get_range() functions so plugins
15690 don't need to take it anymore.
15694 2005-05-25 Wim Taymans <wim@fluendo.com>
15696 * tools/gst-launch.c: (event_loop):
15697 Unref message after using its contents instead of
15700 2005-05-24 Wim Taymans <wim@fluendo.com>
15702 * docs/design/draft-ghostpads.txt:
15703 * docs/design/draft-push-pull.txt:
15704 * docs/design/draft-query.txt:
15705 * docs/design/part-overview.txt:
15706 Docs updates, added general overview doc.
15708 2005-05-21 David Schleef <ds@schleef.org>
15710 * docs/gst/tmpl/old/GstBin.sgml:
15711 * docs/gst/tmpl/old/GstBuffer.sgml:
15712 * docs/gst/tmpl/old/GstCaps.sgml:
15713 * docs/gst/tmpl/old/GstClock.sgml:
15714 * docs/gst/tmpl/old/GstCompat.sgml:
15715 * docs/gst/tmpl/old/GstData.sgml:
15716 * docs/gst/tmpl/old/GstElement.sgml:
15717 * docs/gst/tmpl/old/GstEvent.sgml:
15718 * docs/gst/tmpl/old/GstIndex.sgml:
15719 * docs/gst/tmpl/old/GstStructure.sgml:
15720 * docs/gst/tmpl/old/GstTag.sgml:
15721 * docs/gst/tmpl/old/cothreads.sgml:
15722 * docs/gst/tmpl/old/cothreads_compat.sgml:
15723 * docs/gst/tmpl/old/gettext.sgml:
15724 * docs/gst/tmpl/old/gobject2gtk.sgml:
15725 * docs/gst/tmpl/old/grammar.tab.sgml:
15726 * docs/gst/tmpl/old/gst-i18n-app.sgml:
15727 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15728 * docs/gst/tmpl/old/gst_private.sgml:
15729 * docs/gst/tmpl/old/gstaggregator.sgml:
15730 * docs/gst/tmpl/old/gstarch.sgml:
15731 * docs/gst/tmpl/old/gstatomic_impl.sgml:
15732 * docs/gst/tmpl/old/gstbufferstore.sgml:
15733 * docs/gst/tmpl/old/gstdata_private.sgml:
15734 * docs/gst/tmpl/old/gstdisksink.sgml:
15735 * docs/gst/tmpl/old/gstdisksrc.sgml:
15736 * docs/gst/tmpl/old/gstelementfactory.sgml:
15737 * docs/gst/tmpl/old/gstextratypes.sgml:
15738 * docs/gst/tmpl/old/gstfakesink.sgml:
15739 * docs/gst/tmpl/old/gstfakesrc.sgml:
15740 * docs/gst/tmpl/old/gstfdsink.sgml:
15741 * docs/gst/tmpl/old/gstfdsrc.sgml:
15742 * docs/gst/tmpl/old/gstfilesink.sgml:
15743 * docs/gst/tmpl/old/gstfilesrc.sgml:
15744 * docs/gst/tmpl/old/gsthttpsrc.sgml:
15745 * docs/gst/tmpl/old/gstidentity.sgml:
15746 * docs/gst/tmpl/old/gstindexfactory.sgml:
15747 * docs/gst/tmpl/old/gstmarshal.sgml:
15748 * docs/gst/tmpl/old/gstmd5sink.sgml:
15749 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15750 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15751 * docs/gst/tmpl/old/gstpadtemplate.sgml:
15752 * docs/gst/tmpl/old/gstpipefilter.sgml:
15753 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15754 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15755 * docs/gst/tmpl/old/gstshaper.sgml:
15756 * docs/gst/tmpl/old/gstspider.sgml:
15757 * docs/gst/tmpl/old/gstspideridentity.sgml:
15758 * docs/gst/tmpl/old/gststatistics.sgml:
15759 * docs/gst/tmpl/old/gsttee.sgml:
15760 * docs/gst/tmpl/old/gsttimecache.sgml:
15761 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15762 * docs/gst/tmpl/old/gstxmlregistry.sgml:
15763 * docs/gst/tmpl/old/gthread-cothreads.sgml:
15764 * docs/gst/tmpl/old/types.sgml:
15765 I didn't intend to add these or check them in.
15767 2005-05-19 David Schleef <ds@schleef.org>
15769 * configure.ac: Use -no-common everywhere. In a sane world, it
15770 would be the default in libtool, because without it, you can't
15771 build DLLs on Windows.
15772 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15773 * docs/gst/gstreamer-sections.txt:
15774 * docs/gst/tmpl/gstcpu.sgml:
15775 * docs/gst/tmpl/gstdata.sgml:
15776 * docs/gst/tmpl/gstthread.sgml:
15778 2005-05-19 David Schleef <ds@schleef.org>
15780 * gst/gstminiobject.c: (gst_value_set_mini_object),
15781 (gst_value_take_mini_object), (gst_value_get_mini_object):
15782 * gst/gstminiobject.h: Add GValue set/get functions.
15784 2005-05-19 Wim Taymans <wim@fluendo.com>
15786 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15787 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15788 (gst_subbuffer_init), (gst_buffer_is_span_fast):
15790 * gst/gstbus.c: (gst_bus_post):
15791 * gst/gstelement.c: (gst_element_get_random_pad):
15792 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15793 Make subbufer unref the parent in finalize.
15794 some more debugging info.
15797 2005-05-19 Wim Taymans <wim@fluendo.com>
15799 * gst/base/gstbasesink.c: (gst_basesink_class_init),
15800 (gst_basesink_init), (gst_basesink_finalize),
15801 (gst_basesink_activate), (gst_basesink_change_state):
15802 Don't free preroll queue too early.
15804 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15808 Hi, I'm outdated. Please shoot me.
15810 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15812 * gst/gstpipeline.c: (gst_pipeline_send_event):
15813 Do not access variables after they have been deleted.
15815 2005-05-19 Wim Taymans <wim@fluendo.com>
15817 * tools/gst-inspect.c: (print_plugin_features):
15818 A plugin feature does unfortunatly not use the
15821 2005-05-18 Wim Taymans <wim@fluendo.com>
15823 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15824 Port _span() functions to new subbuffers.
15826 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15828 * gst/gstbin.c: (gst_bin_add_func):
15829 Fix clock settery in bins when adding kids after the clock has
15832 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15834 * gst/elements/gstidentity.c: (gst_identity_class_init):
15835 Workaround until signals support GstMiniObject.
15837 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
15840 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15842 2005-05-18 Wim Taymans <wim@fluendo.com>
15844 * gst/base/Makefile.am:
15845 * gst/base/gstadapter.c: (gst_adapter_base_init),
15846 (gst_adapter_class_init), (gst_adapter_init),
15847 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15848 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15849 (gst_adapter_flush), (gst_adapter_available),
15850 (gst_adapter_available_fast):
15851 * gst/base/gstadapter.h:
15852 Ported and added adapter to the base classes.
15854 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15857 * gst/gstmessage.c:
15858 Make sure the class is reffed/unreffed once before threads can be
15859 used. Fixes #304551.
15861 2005-05-17 Wim Taymans <wim@fluendo.com>
15863 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15864 (gst_basesink_chain_unlocked), (gst_basesink_activate):
15865 * gst/gstminiobject.c: (gst_mini_object_get_type),
15866 (gst_mini_object_free):
15867 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15868 (gst_pad_push), (gst_pad_push_event):
15869 * gst/gstqueue.c: (gst_queue_change_state):
15870 Don't queue buffers in basesink when we are flushing.
15871 Unref buffer when flushing in basesink.
15872 Flush queue when going to READY
15873 Unref buffer when _push() returns an error.
15874 Don't free MiniObject instance when refcount is incremented
15875 in _finalize() so that we can recover objects.
15877 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
15879 * docs/manual/advanced-schedulers.xml:
15880 * docs/manual/appendix-checklist.xml:
15881 * docs/pwg/advanced-clock.xml:
15882 * docs/pwg/advanced-interfaces.xml:
15883 * docs/pwg/advanced-request.xml:
15884 * docs/pwg/advanced-types.xml:
15885 * docs/pwg/intro-preface.xml:
15886 * examples/plugins/example.c: (gst_example_get_type),
15887 (gst_example_class_init), (gst_example_chain),
15888 (gst_example_set_property), (gst_example_get_property),
15889 (gst_example_change_state), (plugin_init):
15890 * examples/plugins/example.h:
15893 2005-05-17 Wim Taymans <wim@fluendo.com>
15895 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15896 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15897 * gst/gstqueue.c: (gst_queue_change_state):
15898 Clear queue when going to READY.
15899 Remove IN_SETCAPS flag too.
15901 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
15903 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15904 Remove implicit cast from gboolean to GstElementStateReturn;
15905 make sure we still return failure in paused => ready case if
15906 the parent class fails to change state and our own stop
15909 2005-05-17 Wim Taymans <wim@fluendo.com>
15911 * tools/gst-launch.c: (event_loop):
15912 Message was unreffed too soon.
15914 2005-05-16 Andy Wingo <wingo@pobox.com>
15916 * gst/gstbin.c (sink_iterator_filter): Err... um...
15918 * check/gst/gstbin.c (test_ghost_pads): New test for the
15919 ghosting-if-elements-not-in-same-bin behavior.
15921 2005-05-16 David Schleef <ds@schleef.org>
15923 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15924 accessing refcount directly.
15926 2005-05-15 David Schleef <ds@schleef.org>
15928 * check/Makefile.am: remove GstData checks
15929 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15930 * gst/Makefile.am: add miniobject, remove data
15931 * gst/gst.h: add miniobject, remove data
15932 * gst/gstdata.c: remove
15933 * gst/gstdata.h: remove
15934 * gst/gstdata_private.h: remove
15935 * gst/gsttypes.h: remove GstEvent and GstMessage
15936 * gst/gstelement.c: (gst_element_post_message): fix for API changes
15937 * gst/gstmarshal.list: change BOXED -> OBJECT
15939 Implement GstMiniObject.
15940 * gst/gstminiobject.c:
15941 * gst/gstminiobject.h:
15943 Modify to be subclasses of GstMiniObject.
15944 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15945 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15946 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15947 (gst_subbuffer_get_type), (gst_subbuffer_init),
15948 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15951 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15952 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15953 (_gst_event_copy), (gst_event_new):
15955 * gst/gstmessage.c: (_gst_message_initialize),
15956 (gst_message_get_type), (gst_message_class_init),
15957 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15958 (gst_message_new), (gst_message_new_error),
15959 (gst_message_new_warning), (gst_message_new_tag),
15960 (gst_message_new_state_changed), (gst_message_new_application):
15961 * gst/gstmessage.h:
15962 * gst/gstprobe.c: (gst_probe_perform),
15963 (gst_probe_dispatcher_dispatch):
15965 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15966 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15967 (_gst_query_copy), (gst_query_new):
15969 Update elements for GstData -> GstMiniObject changes
15971 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15972 (gst_queue_chain), (gst_queue_loop):
15973 * gst/elements/gstbufferstore.c:
15974 (gst_buffer_store_add_buffer_func),
15975 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15976 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15977 (gst_fakesink_render):
15978 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15979 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15980 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15981 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15982 (gst_filesrc_create_read):
15983 * gst/elements/gstidentity.c: (gst_identity_class_init):
15984 * gst/elements/gsttypefindelement.c:
15985 (gst_type_find_element_src_event), (free_entry_buffers),
15986 (gst_type_find_element_handle_event):
15987 * libs/gst/dataprotocol/dataprotocol.c:
15988 (gst_dp_header_from_buffer):
15989 * libs/gst/dataprotocol/dataprotocol.h:
15990 * libs/gst/dataprotocol/dp-private.h:
15992 2005-05-15 David Schleef <ds@schleef.org>
15994 * gst/elements/gstelements.c: Don't include headers that were
15997 2005-05-15 David Schleef <ds@schleef.org>
15999 * gst/elements/Makefile.am: Remove some elements that don't
16000 need to be in the core (or even exist at all).
16001 * gst/elements/gstaggregator.c:
16002 * gst/elements/gstaggregator.h:
16003 * gst/elements/gstmd5sink.c:
16004 * gst/elements/gstmd5sink.h:
16005 * gst/elements/gstmultifilesrc.c:
16006 * gst/elements/gstmultifilesrc.h:
16007 * gst/elements/gstpipefilter.c:
16008 * gst/elements/gstpipefilter.h:
16009 * gst/elements/gstshaper.c:
16010 * gst/elements/gstshaper.h:
16011 * gst/elements/gststatistics.c:
16012 * gst/elements/gststatistics.h:
16013 * po/POTFILES.in: Remove above files.
16015 2005-05-14 Andy Wingo <wingo@pobox.com>
16017 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16018 so as to get the refs right.
16019 (sink_iterator_filter): New function, wraps bin_element_is_sink,
16020 unreffing objects that don't pass the filter.
16022 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16023 gst_element_set_bus.
16024 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16025 normal cases, this will destroy the bus.
16027 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16030 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16033 2005-05-13 Andy Wingo <wingo@pobox.com>
16035 * gst/gstutils.c (gst_element_link_pads): Instead of calling
16036 gst_pad_link, call pad_link_maybe_ghosting,
16037 (pad_link_maybe_ghosting): Links pads, making sure that the
16038 elements being linked are in the same bin.
16039 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16040 Helpers for pad_link_maybe_ghosting.
16042 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
16045 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16047 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
16049 * docs/design/part-element-source.txt:
16052 2005-05-12 Wim Taymans <wim@fluendo.com>
16054 * gst/base/gstbasesink.c: (gst_basesink_init),
16055 (gst_basesink_activate):
16056 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16057 (gst_basesrc_is_seekable):
16058 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16059 (bin_element_is_sink), (gst_bin_change_state):
16060 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16061 * gst/gstelement.h:
16062 Identify sinks by their flag to avoid overly complicated
16064 Do state changes even for elements not reachable from the
16066 BaseSink is a sink now :)
16067 Some more debugging info in the basesrc.
16070 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16072 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16073 Implement _query on a bin, similar to _send_event.
16075 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
16077 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16078 Discont event offset format should be GST_FORMAT_BYTES,
16079 not GST_FORMAT_TIME.
16081 2005-05-12 Wim Taymans <wim@fluendo.com>
16083 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16084 Same fix as Ronald's but without the signal.
16086 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16088 * gst/gstutils.c: (gst_element_query_position):
16089 No, an element is not a pad.
16091 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16093 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16094 (gst_bin_get_state):
16095 If a child is removed from a bin while we remove the child from
16096 the bin and while we're retrieving its state, signal this to the
16097 get_state function so we abort the wait (instead of waiting for
16098 a timeout) and can immediately re-iterate over all other elements.
16100 2005-05-12 Wim Taymans <wim@fluendo.com>
16102 * gst/base/Makefile.am:
16103 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16104 (gst_basesrc_start):
16105 * gst/base/gstbasesrc.h:
16106 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16107 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16108 (gst_pushsrc_init), (gst_pushsrc_create):
16109 * gst/base/gstpushsrc.h:
16110 Added is_seekable to BaseSrc
16111 Added simple PushSrc.
16113 2005-05-11 Wim Taymans <wim@fluendo.com>
16115 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16116 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16117 (gst_element_link_pads), (gst_element_query_position),
16118 (gst_element_query_convert), (intersect_caps_func),
16119 (gst_pad_query_position), (gst_pad_query_convert):
16120 Fix refcounting in utils function.
16121 No point in trying to activate a pad when it's added, it could
16122 be added from the state change function and then we deadlock, the
16123 element has to decide what to do.
16125 2005-05-10 Andy Wingo <wingo@pobox.com>
16127 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16128 *all* the arguments.
16130 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16131 stream lock if it's a FLUSH_DONE; normal flushes don't get the
16132 lock (according to the docs -- if this is wrong change the docs).
16134 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16135 flush messages in the NULL state.
16137 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16138 message immediately and return.
16139 (gst_bus_set_flushing): New function. If a bus is flushing, it
16140 flushes out any queued messages and immediately unrefs new
16141 messages. This is so when an element goes to NULL, all of the
16142 unhandled messages coming from it can be freed, and their
16143 references to the element dropped. In other words: message source
16144 ref considered harmful :P
16146 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16147 we're finished with it.
16149 * gst/gstmessage.c (gst_message_new_state_changed):
16151 2005-05-10 Wim Taymans <wim@fluendo.com>
16153 * gst/gstvalue.c: (gst_value_compare_flags),
16154 (gst_value_serialize_flags), (gst_value_deserialize_flags),
16155 (_gst_value_initialize):
16156 Added flags serialize/deserialize/compare code.
16158 2005-05-09 Andy Wingo <wingo@pobox.com>
16160 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16161 Intersect the peer's caps with our caps.
16163 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16165 * gst/base/gsttypefindhelper.c: (helper_find_peek):
16166 * gst/elements/gsttypefindelement.c: (find_peek):
16167 Handle negative offsets better. Fixes decodebin.
16169 2005-05-09 Wim Taymans <wim@fluendo.com>
16171 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16172 (gst_base_transform_event):
16173 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16174 Implement accept_caps.
16175 Fix silly lock/unlock mismatch in base class.
16177 2005-05-09 Wim Taymans <wim@fluendo.com>
16179 * docs/design/draft-push-pull.txt:
16180 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16181 * gst/elements/gstfilesink.c: (gst_filesink_init),
16182 (gst_filesink_query):
16183 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16184 (gst_type_find_handle_src_query), (find_element_get_length):
16185 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16186 * gst/gstelement.h:
16187 * gst/gstmessage.c:
16188 * gst/gstmessage.h:
16189 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16190 (gst_real_pad_get_caps_unlocked),
16191 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16192 (gst_pad_event_default_dispatch), (gst_pad_event_default),
16193 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16194 (gst_real_pad_dispose), (gst_real_pad_finalize),
16195 (gst_pad_load_and_link), (gst_pad_save_thyself),
16196 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16197 (gst_pad_check_pull_range), (gst_pad_pull_range),
16198 (gst_pad_template_get_type), (gst_pad_template_class_init),
16199 (gst_pad_template_init), (gst_pad_template_dispose),
16200 (name_is_valid), (gst_static_pad_template_get),
16201 (gst_pad_template_new), (gst_static_pad_template_get_caps),
16202 (gst_pad_template_get_caps), (gst_pad_set_element_private),
16203 (gst_pad_get_element_private), (gst_pad_start_task),
16204 (gst_pad_pause_task), (gst_pad_stop_task),
16205 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16206 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16207 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16208 (gst_ghost_pad_new):
16210 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16211 (gst_query_new_position), (gst_query_set_position),
16212 (gst_query_parse_position), (gst_query_new_convert),
16213 (gst_query_set_convert), (gst_query_parse_convert):
16215 * gst/gstqueryutils.c:
16216 * gst/gstqueryutils.h:
16217 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16218 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16219 (gst_queue_handle_src_query):
16220 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16221 (gst_element_query_position), (gst_element_query_convert),
16222 (intersect_caps_func), (gst_pad_query_position),
16223 (gst_pad_query_convert):
16225 * tools/gst-inspect.c: (print_pad_info):
16226 * tools/gst-xmlinspect.c: (print_element_info):
16227 Remove old query functions. Ported old code.
16228 Added position/convert helper functions to gstutils.
16229 Reordered gstpad.c code, grouping relevant things.
16230 Remove gst_message_new(), always need to speficy a specific
16234 2005-05-09 Andy Wingo <wingo@pobox.com>
16236 * gst/gstiterator.h: Add some includes.
16238 * gst/gstqueryutils.h: Include more headers.
16241 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16242 some uses of gst_pad_query.
16244 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16245 NULL out parameters.
16246 (gst_query_new_position): New proc, allocates a new position
16249 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16250 gstqueryutils.c to the build.
16252 * gst/gststructure.c (gst_structure_set_valist): Implement with
16253 the generic G_VALUE_COLLECT.
16255 2005-05-08 Edward Hervey <bilboed@bilboed.com>
16257 * gst/Makefile.am: (gst_headers):
16258 Added gstqueryutils.h to the list of headers to install, that was
16259 a 'nachty' move wingo :)
16261 2005-05-06 Andy Wingo <wingo@pobox.com>
16264 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16265 GstData, init a memchunk.
16266 (standard_definitions): Add a few query types, deprecate a few.
16267 (gst_query_get_type): New proc.
16268 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16270 (gst_query_new_application, gst_query_get_structure): New public
16273 * docs/design/draft-query.txt: Removed LINKS from the query types,
16274 because all the rest can be dispatched to other pads -- seemed
16275 ugly to have a query that couldn't be dispatched. internal_links
16276 is fine as a pad method.
16278 * gst/gstpad.h: Add query2 as a pad method, add the new functions
16279 in gstpad.c, but maintain binary compatibility for the moment.
16280 Will fix before 0.9 is out.
16282 * gst/gstqueryutils.c:
16283 * gst/gstqueryutils.h: New files, implement 3 methods for each
16284 query type: parse_query, parse_response, and set. Probably need an
16287 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16289 * gst/elements/gstfilesink.c (gst_filesink_query2):
16290 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16291 query_types, and formats methods.
16293 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16294 (gst_pad_set_query2_function): New functions.
16295 (gst_real_pad_init): Set query2_default as the default query2
16296 function. Basically just dispatches to internally linked pads.
16300 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16301 without using the atomic operations. Only one thread can possibly
16302 be accessing the data at this point. Changed so as to avoid
16303 gst_atomic operations.
16305 2005-05-06 Wim Taymans <wim@fluendo.com>
16307 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16308 Also set caps if we use the fallback buffer alloc.
16310 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
16312 * docs/gst/Makefile.am:
16313 * docs/gst/gstreamer-docs.sgml:
16314 * docs/gst/gstreamer-sections.txt:
16315 * docs/gst/tmpl/gstatomic.sgml:
16316 * docs/gst/tmpl/gstmemchunk.sgml:
16317 * testsuite/elements/struct_i386.h:
16318 * win32/GStreamer.vcproj:
16320 Purge GstAtomic stuff from docs and win32 makefiles as well
16322 2005-05-06 Wim Taymans <wim@fluendo.com>
16324 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16325 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16326 * gst/gstpad.c: (gst_pad_peer_get_caps):
16327 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16328 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16329 (gst_queue_src_activate), (gst_queue_change_state):
16331 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16332 (intersect_caps_func):
16333 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16334 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16335 Some fixes for the peer_get_caps() change.
16337 2005-05-06 Wim Taymans <wim@fluendo.com>
16339 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16340 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16341 (gst_basesink_activate):
16342 Actually do something with error codes returned from the push
16345 2005-05-06 Wim Taymans <wim@fluendo.com>
16347 * docs/design/part-element-sink.txt:
16348 * docs/design/part-element-source.txt:
16349 * gst/base/gstbasesink.c: (gst_basesink_class_init),
16350 (gst_basesink_event), (gst_basesink_activate):
16351 * gst/base/gstbasesink.h:
16352 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16353 (gst_basesrc_activate):
16354 * gst/base/gstbasesrc.h:
16355 * gst/gstelement.c: (gst_element_pads_activate):
16356 Some more documentation.
16357 Fixed scheduling decision in _pads_activate().
16359 2005-05-05 Andy Wingo <wingo@pobox.com>
16361 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16364 2005-05-05 Wim Taymans <wim@fluendo.com>
16366 * gst/base/Makefile.am:
16367 * gst/base/gstbasesink.h:
16368 * gst/base/gstbasesrc.c: (gst_basesrc_init),
16369 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16370 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16371 (gst_collectpads_class_init), (gst_collectpads_init),
16372 (gst_collectpads_finalize), (gst_collectpads_new),
16373 (gst_collectpads_set_function), (gst_collectpads_add_pad),
16374 (find_pad), (gst_collectpads_remove_pad),
16375 (gst_collectpads_is_active), (gst_collectpads_collect),
16376 (gst_collectpads_collect_range), (gst_collectpads_start),
16377 (gst_collectpads_stop), (gst_collectpads_peek),
16378 (gst_collectpads_pop), (gst_collectpads_available),
16379 (gst_collectpads_read), (gst_collectpads_flush),
16380 (gst_collectpads_chain):
16381 * gst/base/gstcollectpads.h:
16382 * gst/elements/Makefile.am:
16383 * gst/elements/gstelements.c:
16384 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16385 (gst_fakesink_get_times), (gst_fakesink_event),
16386 (gst_fakesink_preroll), (gst_fakesink_render):
16387 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16388 (gst_filesink_init), (gst_filesink_set_location),
16389 (gst_filesink_open_file), (gst_filesink_close_file),
16390 (gst_filesink_pad_query), (gst_filesink_event),
16391 (gst_filesink_render), (gst_filesink_change_state):
16392 * gst/elements/gstfilesink.h:
16393 Added object to help in making collect pad based elements.
16395 Make event function in sink baseclass return gboolean.
16397 2005-05-05 Wim Taymans <wim@fluendo.com>
16399 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16400 (gst_bin_get_by_name):
16402 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16403 (gst_clock_finalize):
16404 * gst/gstdata.c: (gst_data_replace):
16406 * gst/gstelement.c: (gst_element_request_pad),
16407 (gst_element_pads_activate):
16408 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16409 (gst_object_unref):
16410 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16411 (gst_pad_set_checkgetrange_function),
16412 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16413 (gst_pad_check_pull_range), (gst_pad_pull_range),
16414 (gst_static_pad_template_get_caps), (gst_pad_start_task),
16415 (gst_pad_pause_task), (gst_pad_stop_task):
16416 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16417 (gst_element_request_pad), (gst_pad_proxy_getcaps):
16418 Fix name lookup in GstBin.
16419 Added _data_replace() function and _buffer_replace()
16420 Use finalize method to clean up clock.
16421 Fix refcounting on request pads.
16422 Fix pad schedule mode error.
16423 Some more object refcounting debug info,
16426 2005-05-04 Andy Wingo <wingo@pobox.com>
16428 * check/Makefile.am:
16429 * docs/gst/tmpl/gstatomic.sgml:
16430 * docs/gst/tmpl/gstplugin.sgml:
16431 * gst/base/gstbasesink.c: (gst_basesink_activate):
16432 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16433 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16434 (gst_basesrc_query), (gst_basesrc_set_property),
16435 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16436 (gst_basesrc_activate):
16437 * gst/base/gstbasesrc.h:
16438 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16439 (gst_base_transform_src_activate):
16440 * gst/elements/gstelements.c:
16441 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16442 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16443 * gst/elements/gsttee.c: (gst_tee_sink_activate):
16444 * gst/elements/gsttypefindelement.c: (find_element_get_length),
16445 (gst_type_find_element_checkgetrange),
16446 (gst_type_find_element_activate):
16447 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16448 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16449 (gst_caps_load_thyself):
16450 * gst/gstelement.c: (gst_element_pads_activate),
16451 (gst_element_save_thyself), (gst_element_restore_thyself):
16452 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16453 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16455 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16456 (gst_xml_parse_file), (gst_xml_parse_memory),
16457 (gst_xml_get_element), (gst_xml_make_element):
16458 * gst/indexers/gstfileindex.c: (gst_file_index_load),
16459 (_file_index_id_save_xml), (gst_file_index_commit):
16460 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16461 (read_enum), (load_pad_template), (load_feature), (load_plugin),
16463 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16464 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16465 * tools/gst-complete.c: (main):
16466 * tools/gst-compprep.c: (main):
16467 * tools/gst-inspect.c: (print_element_properties_info):
16468 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16469 * tools/gst-xmlinspect.c: (print_element_properties):
16472 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
16474 * gst/gstplugin.c: (gst_plugin_check_module),
16475 (gst_plugin_check_file), (gst_plugin_load_file):
16476 apply patch from #172526 to make register work on MacOSX
16478 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16480 * docs/gst/tmpl/gstconfig.sgml:
16481 * gst/gstconfig.h.in:
16482 move documentation for some symbols. Add doc for GST_PTR_FORMAT
16483 * testsuite/debug/printf_extension.c: (main):
16484 Do not use GST_PTR_FORMAT on pointers to types with
16485 sizeof < sizeof(gpointer). Fixes test on 64-bit
16486 * testsuite/elements/property.h:
16487 use correct printf format
16489 2005-05-02 Wim Taymans <wim@fluendo.com>
16491 * docs/design/draft-push-pull.txt:
16492 * docs/design/draft-query.txt:
16493 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16494 (gst_basesrc_start):
16495 Added draft for new query API.
16496 Added draft for better selecting scheduling methods.
16497 Make basesrc ignore length if the subclass does not support
16500 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16503 possible fixes for automake-1.5 - _LIBADD is reserved
16505 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16507 * docs/faq/Makefile.am:
16508 * docs/manual/Makefile.am:
16509 * docs/manuals.mak:
16510 * docs/pwg/Makefile.am:
16512 possible fixes for automake-1.5
16514 2005-04-28 Wim Taymans <wim@fluendo.com>
16516 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16517 (gst_basesink_pad_getcaps), (gst_basesink_init),
16518 (gst_basesink_do_sync):
16519 * gst/gstclock.c: (gst_clock_entry_new):
16520 * gst/gstevent.c: (gst_event_discont_get_value):
16521 * gst/gstpipeline.c: (pipeline_bus_handler),
16522 (gst_pipeline_change_state):
16523 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16524 Better debugging of clocking info.
16525 Allow NULL values when getting discont values.
16527 2005-04-27 Wim Taymans <wim@fluendo.com>
16529 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16530 * check/gst/gstpad.c: (gst_pad_suite):
16531 Increase timeout for checks.
16533 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16535 * check/Makefile.am:
16536 fix the broken rule for cleanup. Apparently this rule is
16537 only needed on FC2, so maybe this warrants further autotool
16540 2005-04-26 Wim Taymans <wim@fluendo.com>
16542 * gst/gsttrashstack.h:
16543 Ooohh. a nasty one! After having a failed pop() from the stack,
16544 it's possible that the stack is empty. In that case, don't
16545 follow the NULL pointer.
16547 2005-04-25 Wim Taymans <wim@fluendo.com>
16549 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16550 (gst_pad_set_checkgetrange_function),
16551 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16552 (gst_pad_check_pull_range), (gst_pad_pull_range),
16553 (gst_static_pad_template_get_caps), (gst_pad_start_task),
16554 (gst_pad_pause_task), (gst_pad_stop_task):
16555 * gst/gstplugin.c: (gst_plugin_load):
16557 Remove gst_library_load as it does more harm than good with
16558 the new g_module flags.
16559 Revert bogus caps template check in pad linking, pad caps
16560 are important when linking not the template, which is more
16561 general than the current caps.
16563 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16565 * gst/autoplug/.cvsignore:
16566 * gst/autoplug/Makefile.am:
16567 * gst/autoplug/gstsearchfuncs.c:
16568 * gst/autoplug/gstsearchfuncs.h:
16569 * gst/autoplug/gstspider.c:
16570 * gst/autoplug/gstspider.h:
16571 * gst/autoplug/gstspideridentity.c:
16572 * gst/autoplug/gstspideridentity.h:
16573 * gst/autoplug/spidertest.c:
16576 2005-04-25 Wim Taymans <wim@fluendo.com>
16578 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16579 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16580 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16581 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16583 Added stubs for unimplemented functions.
16585 2005-04-24 David Schleef <ds@schleef.org>
16587 * gst/gstpad.h: Disable some unimplemented functions. Wim,
16590 2005-04-24 David Schleef <ds@schleef.org>
16592 Convert everything from GstAtomicInt to g_atomic_int_*, and
16597 * gst/gstatomic_impl.h:
16605 * gst/gstdata_private.h:
16609 * gst/gstmessage.c:
16612 * gst/gststructure.c:
16613 * gst/gststructure.h:
16614 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16617 2005-04-24 David Schleef <ds@schleef.org>
16619 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16620 make the regressions tests work. Remove some code that is no
16622 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16623 Disable warning for pads without templates.
16625 2005-04-24 David Schleef <ds@schleef.org>
16627 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
16628 functions that handle filtered links.
16629 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16631 * gst/gstutils.c: Fix/remove utility functions that handle
16634 * gst/gstvalue.c: Add serialization/deserialization of caps
16635 * gst/parse/grammar.y: Ignore filtered caps when linking. This
16636 requires fixing so that the filter caps notation creates
16637 a capsfilter element and sets the filter_caps property. I
16638 think everyone probably wants to keep the shorthand notation.
16639 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16640 * docs/gst/tmpl/gstpad.sgml:
16642 * gst/elements/gstelements.c: Register capsfilter element.
16643 * gst/Makefile.am: fix spacing
16644 * docs/random/ds/0.9-suggested-changes: random
16646 2005-04-23 David Schleef <ds@schleef.org>
16648 * gst/elements/Makefile.am:
16649 * gst/elements/gstcapsfilter.c: New element that acts like an
16650 identity, but filters caps. Will eventually replace filtered
16651 caps in pad linking.
16652 * gst/gstutils.c: (gst_element_create_all_pads): New function
16653 to create all the ALWAYS pads that are registered with an
16654 element class. This functionality should eventually be
16655 merged in with GstElement initialization.
16657 * testsuite/trigger/README: part of trigger test code that should
16658 have been checked in a long time ago.
16660 2005-04-23 David Schleef <ds@schleef.org>
16662 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
16663 needed with new versions of libtool (nobody will confirm this),
16664 and hard to carry around.
16665 * gst/autoplug/Makefile.am:
16666 * gst/base/Makefile.am:
16667 * gst/elements/Makefile.am:
16668 * gst/indexers/Makefile.am:
16669 * gst/schedulers/Makefile.am:
16670 * libs/gst/bytestream/Makefile.am:
16671 * libs/gst/control/Makefile.am:
16672 * libs/gst/dataprotocol/Makefile.am:
16673 * libs/gst/getbits/Makefile.am:
16675 2005-04-21 Wim Taymans <wim@fluendo.com>
16677 * docs/design/draft-push-pull.txt:
16678 * docs/design/part-MT-refcounting.txt:
16679 * docs/design/part-TODO.txt:
16680 * docs/design/part-caps.txt:
16681 * docs/design/part-events.txt:
16682 * docs/design/part-gstbus.txt:
16683 * docs/design/part-gstpipeline.txt:
16684 * docs/design/part-messages.txt:
16685 * docs/design/part-push-pull.txt:
16686 * docs/design/part-query.txt:
16689 2005-04-21 Wim Taymans <wim@fluendo.com>
16691 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16692 (gst_message_new), (gst_message_new_error),
16693 (gst_message_new_warning), (gst_message_new_tag),
16694 (gst_message_new_state_changed), (gst_message_new_application),
16695 (gst_message_get_structure):
16696 * gst/gstmessage.h:
16697 * gst/gststructure.c: (gst_structure_set_parent_refcount),
16698 (gst_structure_copy_conditional):
16699 Use parent refcount in GstMessage to ensure GstStructure
16701 Cleaned up headers a bit.
16704 2005-04-20 Wim Taymans <wim@fluendo.com>
16706 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16707 (gst_basesink_pad_getcaps), (gst_basesink_init),
16708 (gst_basesink_chain_unlocked):
16709 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16710 (gst_type_find_helper):
16711 * gst/elements/gsttypefindelement.c:
16712 (gst_type_find_element_have_type), (gst_type_find_element_init),
16713 (stop_typefinding), (gst_type_find_element_handle_event),
16714 (find_suggest), (gst_type_find_element_chain),
16715 (gst_type_find_element_checkgetrange),
16716 (gst_type_find_element_getrange), (do_typefind),
16717 (gst_type_find_element_activate):
16718 * gst/gstbuffer.c: (_gst_buffer_sub_free),
16719 (gst_buffer_default_free), (gst_buffer_default_copy),
16720 (gst_buffer_set_caps):
16721 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16722 (gst_caps_replace):
16723 * gst/gstmessage.c: (gst_message_new),
16724 (gst_message_new_state_changed):
16725 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16726 (gst_pad_set_checkgetrange_function),
16727 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16728 (gst_pad_set_caps), (gst_pad_check_pull_range),
16729 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16731 * gst/gsttypefind.c: (gst_type_find_register):
16732 Make gst_caps_replace() work like other _replace() functions.
16733 Use _caps_replace() where possible.
16734 Make sure _message_new() initialises its field.
16735 Add gst_static_pad_template_get_caps()
16738 2005-04-18 Andy Wingo <wingo@pobox.com>
16740 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16741 on the peer, not the pad. I think that was a typo. Pass an extra
16742 arg to see if random access is possible. Activate the pads as
16743 PULL_RANGE if possible.
16745 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16747 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
16748 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16751 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16753 * docs/faq/using.xml:
16754 Add note on gstreamer-properties (#154996).
16756 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16758 * docs/random/bbb/optional-properties:
16759 Some analysis on optional properties.
16761 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16763 * docs/gst/tmpl/gstelementfactory.sgml:
16764 * gst/gstelement.h:
16765 * gst/gstelementfactory.c: (gst_element_factory_init),
16766 (gst_element_factory_cleanup), (gst_element_register),
16767 (__gst_element_factory_add_static_pad_template),
16768 (gst_element_factory_get_static_pad_templates),
16769 (gst_element_factory_can_src_caps),
16770 (gst_element_factory_can_sink_caps):
16771 * gst/registries/Makefile.am:
16772 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16773 (gst_xml_registry_class_init), (gst_xml_registry_init),
16774 (gst_xml_registry_new), (gst_xml_registry_set_property),
16775 (gst_xml_registry_get_property), (get_time), (make_dir),
16776 (gst_xml_registry_get_perms_func),
16777 (plugin_times_older_than_recurse), (plugin_times_older_than),
16778 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16779 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16780 (add_to_char_array), (read_string), (read_uint), (read_enum),
16781 (load_pad_template), (load_feature), (load_plugin), (load_paths),
16782 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16783 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16784 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16785 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16786 (gst_xml_registry_rebuild):
16787 * gst/registries/gstlibxmlregistry.h:
16788 * tools/gst-compprep.c: (main):
16789 * tools/gst-inspect.c: (print_pad_templates_info):
16790 * tools/gst-xmlinspect.c: (print_element_info):
16791 Use libxml2 for registry parsing, use staticpadtemplates in
16792 elementfactories. Makes gst_init() +/- 10x faster.
16794 2005-04-12 Wim Taymans <wim@fluendo.com>
16796 * gst/base/Makefile.am:
16797 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16798 (gst_basesink_pad_getcaps), (gst_basesink_init),
16799 (gst_basesink_event), (gst_basesink_change_state):
16800 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16801 (gst_basesrc_init), (gst_basesrc_query),
16802 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16803 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16804 (gst_basesrc_check_get_range), (gst_basesrc_loop),
16805 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16806 (gst_basesrc_stop), (gst_basesrc_activate),
16807 (gst_basesrc_change_state):
16808 * gst/base/gsttypefindhelper.c: (helper_find_peek),
16809 (helper_find_suggest), (gst_type_find_helper):
16810 * gst/base/gsttypefindhelper.h:
16811 * gst/elements/Makefile.am:
16812 * gst/elements/gstelements.c:
16813 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16814 (gst_fakesink_get_times), (gst_fakesink_event),
16815 (gst_fakesink_preroll), (gst_fakesink_render):
16816 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16817 (gst_fakesrc_init), (gst_fakesrc_event_handler),
16818 (gst_fakesrc_get_property), (gst_fakesrc_create),
16819 (gst_fakesrc_start), (gst_fakesrc_stop):
16820 * gst/elements/gstfakesrc.h:
16821 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16822 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16823 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16824 (gst_filesrc_create_read), (gst_filesrc_create),
16825 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16826 (gst_filesrc_start):
16827 * gst/elements/gsttypefindelement.c:
16828 (gst_type_find_element_have_type), (gst_type_find_element_init),
16829 (start_typefinding), (stop_typefinding), (push_buffer_store),
16830 (gst_type_find_element_handle_event),
16831 (gst_type_find_element_chain),
16832 (gst_type_find_element_checkgetrange),
16833 (gst_type_find_element_getrange), (do_typefind),
16834 (gst_type_find_element_activate),
16835 (gst_type_find_element_change_state):
16836 * gst/elements/gsttypefindelement.h:
16837 * gst/gstpipeline.c: (pipeline_bus_handler):
16838 Added typefind helper.
16839 Small preroll fix in the base sink.
16840 Disable typefind code in basesrc.
16841 Crude port of typefindelement.
16845 2005-04-11 Wim Taymans <wim@fluendo.com>
16847 * check/gst/gstbus.c: (gstbus_suite):
16848 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16849 * check/gstcheck.h:
16850 Fix up the timeout so that the test does not fail.
16852 2005-04-06 Wim Taymans <wim@fluendo.com>
16855 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16856 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16857 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16858 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16859 (gst_basesrc_check_get_range), (gst_basesrc_loop),
16860 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16861 (gst_basesrc_stop), (gst_basesrc_activate),
16862 (gst_basesrc_change_state), (basesrc_find_peek),
16863 (basesrc_find_suggest), (gst_basesrc_type_find):
16864 * gst/base/gstbasesrc.h:
16865 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16866 (gst_filesrc_class_init), (gst_filesrc_init),
16867 (gst_filesrc_finalize), (gst_filesrc_set_location),
16868 (gst_filesrc_set_property), (gst_filesrc_get_property),
16869 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16870 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16871 (gst_filesrc_create_read), (gst_filesrc_create),
16872 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16873 * gst/elements/gstfilesrc.h:
16874 * gst/gstelement.c: (gst_element_get_state_func),
16875 (gst_element_lost_state), (gst_element_pads_activate):
16876 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16877 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16878 (gst_pad_pull_range):
16880 More work on the generic source base class, implement seeking,
16882 Make filesrc extend the base source class.
16883 Added gst_pad_set_checkgetrange_function to GstPad.
16885 2005-04-06 Andy Wingo <wingo@pobox.com>
16887 * pkgconfig/gstreamer-base.pc.in:
16888 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16890 * pkgconfig/Makefile.am:
16891 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16893 2005-04-04 Wim Taymans <wim@fluendo.com>
16895 * gst/base/Makefile.am:
16897 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16898 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16899 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16900 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16901 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16902 (gst_basesrc_base_init), (gst_basesrc_class_init),
16903 (gst_basesrc_init), (gst_basesrc_get_formats),
16904 (gst_basesrc_get_query_types), (gst_basesrc_query),
16905 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16906 (gst_basesrc_set_property), (gst_basesrc_get_property),
16907 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16908 (gst_basesrc_loop), (gst_basesrc_activate),
16909 (gst_basesrc_change_state):
16910 * gst/base/gstbasesrc.h:
16911 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16912 (gst_fakesrc_class_init), (gst_fakesrc_init),
16913 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16914 (gst_fakesrc_get_property), (gst_fakesrc_create):
16915 * gst/elements/gstfakesrc.h:
16916 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16917 (gst_filesrc_open_file), (gst_filesrc_loop),
16918 (gst_filesrc_activate), (filesrc_find_peek),
16919 (gst_filesrc_type_find):
16920 Made base source class, make fakesrc extend it.
16921 Add comments to basesink class.
16922 Some filesrc cleanup.
16924 2005-03-31 David Schleef <ds@schleef.org>
16926 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16927 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16928 expected to link against libgstreamer.
16929 * gst/base/Makefile.am: link against libgstreamer
16930 * gst/elements/Makefile.am: same
16932 2005-03-31 Andy Wingo <wingo@pobox.com>
16934 * tests/instantiate/Makefile.am:
16935 * tests/instantiate/caps.c: Add test to test speed of caps copy
16938 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16939 GMemChunk to be fair.
16941 * gst/gsttrashstack.h: Remove warning about using the fallback
16942 trash stack implementation, it's still faster than malloc.
16944 2005-03-30 Andy Wingo <wingo@pobox.com>
16946 * tests/complexity.c: Add a copyright.
16948 2005-03-31 Wim Taymans <wim@fluendo.com>
16950 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16951 (gst_base_transform_class_init), (gst_base_transform_init),
16952 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16953 (gst_base_transform_get_property),
16954 (gst_base_transform_sink_activate),
16955 (gst_base_transform_src_activate),
16956 (gst_base_transform_change_state):
16957 * gst/base/gstbasetransform.h:
16958 * gst/elements/gstidentity.c: (gst_identity_class_init),
16959 (gst_identity_event), (gst_identity_check_perfect),
16960 (gst_identity_transform), (gst_identity_start),
16961 (gst_identity_stop):
16962 Added start/stop methods to transform base class so subclasses
16963 don't need to deal with state changes even.
16965 2005-03-31 Wim Taymans <wim@fluendo.com>
16967 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16968 (gst_event_new_discontinuous), (gst_event_discont_get_value):
16970 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16971 (gst_pad_pull_range):
16972 Added rate to the discont event to prepare for variable speed
16973 and reverse playback.
16975 2005-03-29 David Schleef <ds@schleef.org>
16978 * testsuite/trigger/Makefile.am:
16979 * testsuite/trigger/trigger.c: A little example program to show
16980 how trigger-based elements can work.
16982 2005-03-29 Wim Taymans <wim@fluendo.com>
16984 * gst/base/Makefile.am:
16986 * gst/base/gstbasesink.c: (gst_basesink_get_type),
16987 (gst_basesink_base_init), (gst_basesink_class_init),
16988 (gst_basesink_pad_getcaps), (gst_basesink_init),
16989 (gst_basesink_activate), (gst_basesink_change_state):
16990 * gst/base/gstbasesink.h:
16991 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16992 (gst_base_transform_base_init), (gst_base_transform_finalize),
16993 (gst_base_transform_class_init), (gst_base_transform_init),
16994 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16995 (gst_base_transform_event), (gst_base_transform_getrange),
16996 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16997 (gst_base_transform_set_property),
16998 (gst_base_transform_get_property),
16999 (gst_base_transform_sink_activate),
17000 (gst_base_transform_src_activate),
17001 (gst_base_transform_change_state):
17002 * gst/base/gstbasetransform.h:
17003 * gst/elements/gstidentity.c: (gst_identity_finalize),
17004 (gst_identity_class_init), (gst_identity_init),
17005 (gst_identity_event), (gst_identity_check_perfect),
17006 (gst_identity_transform), (gst_identity_set_property),
17007 (gst_identity_get_property), (gst_identity_change_state):
17008 * gst/elements/gstidentity.h:
17009 * gst/gstelement.c: (gst_element_get_state_func),
17010 (gst_element_lost_state), (gst_element_pads_activate):
17011 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17012 (gst_pad_check_pull_range), (gst_pad_pull_range):
17014 Simplify pad activation.
17015 Added function to check if pull_range can be performed.
17016 Error out when pulling inactive or flushing pads.
17017 Removed const from refcounted types as it does not make sense.
17018 Simplify pad templates in basesink
17019 Added base class for simple 1-to-1 transforms.
17020 Make identity subclass the base transform.
17022 2005-03-29 Andy Wingo <wingo@pobox.com>
17024 * docs/libs/gstreamer-libs-overrides.txt:
17025 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17026 really don't understand what's going on, but like whatever. I want
17029 * docs/gst/Makefile.am:
17030 * docs/libs/Makefile.am: Dist the overrides files.
17032 * check/Makefile.am (clean-local): Remove .libs directories.
17034 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17035 elements to EXTRA_DIST, so po/ files are happy.
17037 * po/POTFILES.in: Er, remove it here.
17039 * po/POTFILES: Remove gstspider.c.
17041 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17043 * docs/libs/gstreamer-libs-docs.sgml:
17044 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17047 * tests/complexity.c (main): Set the length of the preroll queue
17048 on the sinks to prevent a lockup.
17050 * libs/gst/dataprotocol/Makefile.am:
17051 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17052 the same as the one in check/gst-libs/gdp.c.
17054 * po/, docs/gst/: Commit automatic changes to docs and po files.
17056 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17057 the versioned libgstbase.
17059 * check/Makefile.am: Depend on an unversioned gst-register, seems
17060 to make autoconf happier.
17062 * gst/base/Makefile.am: Make libgstbase a versioned lib.
17064 2005-03-28 Wim Taymans <wim@fluendo.com>
17067 * docs/design/part-gstelement.txt:
17068 * docs/design/part-negotiation.txt:
17069 * docs/design/part-preroll.txt:
17070 * docs/design/part-scheduling.txt:
17071 * docs/design/part-states.txt:
17073 * gst/base/Makefile.am:
17075 * gst/base/gstbasesink.c: (gst_basesink_get_template),
17076 (gst_basesink_base_init), (gst_basesink_class_init),
17077 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17078 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17079 (gst_basesink_set_pad_functions),
17080 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17081 (gst_basesink_set_property), (gst_basesink_get_property),
17082 (gst_base_sink_get_template), (gst_base_sink_get_caps),
17083 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17084 (gst_basesink_preroll_queue_push),
17085 (gst_basesink_preroll_queue_empty),
17086 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17087 (gst_basesink_event), (gst_basesink_get_times),
17088 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17089 (gst_basesink_chain_unlocked), (gst_basesink_chain),
17090 (gst_basesink_loop), (gst_basesink_activate),
17091 (gst_basesink_change_state):
17092 * gst/base/gstbasesink.h:
17093 * gst/elements/Makefile.am:
17094 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17095 (gst_fakesink_class_init), (gst_fakesink_init),
17096 (gst_fakesink_set_property), (gst_fakesink_get_property),
17097 (gst_fakesink_get_times), (gst_fakesink_event),
17098 (gst_fakesink_preroll), (gst_fakesink_render),
17099 (gst_fakesink_change_state):
17100 * gst/elements/gstfakesink.h:
17101 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17102 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17103 * gst/gstelement.c: (gst_element_add_pad),
17104 (gst_element_get_state_func), (gst_element_abort_state),
17105 (gst_element_commit_state), (gst_element_lost_state),
17106 (gst_element_set_state), (gst_element_pads_activate):
17107 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17108 * gst/gstpipeline.c: (gst_pipeline_send_event),
17109 (gst_pipeline_change_state):
17110 Added state change code.
17111 Added/updated docs.
17112 Added sink base class, make fakesink extend the base class.
17113 Small cleanups in GstPipeline.
17115 2005-03-26 David Schleef <ds@schleef.org>
17117 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
17118 is broken and should be implemented in a different library.
17119 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17120 * gst/gst.h: remove gstcpu.h
17121 * gst/gstcpu.c: remove
17122 * gst/gstcpu.h: remove
17123 * gst/Makefile.am.future: Remove this file. It's ancient.
17125 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17127 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17128 (gst_bin_send_event):
17129 Add default event/set_manager handlers. The set_manager handler
17130 takes care that the manager is distributed over kids that were
17131 already in the bin before the manager was set. The event handler
17132 is a utility virtual function that sends the event over all sinks,
17133 so that gst_element_send_event (bin, event); has the expected
17135 * gst/gstpad.c: (gst_pad_event_default):
17136 Re-install default event handling for discontinuities, so that
17137 seeking works without requiring hacks in applications or extra
17139 * gst/gstpipeline.c: (gst_pipeline_class_init),
17140 (gst_pipeline_send_event):
17141 Half hack, half utility: set a pipeline to PAUSED for seek events,
17142 since that is the only way we can guarantee a/v sync. Means that
17143 you can do gst_element_seek (pipeline, method, pos); on a pipeline
17144 and it "just works".
17146 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17148 * gst/gstpipeline.c: (gst_pipeline_use_clock):
17149 Lock/unlock mismatch.
17151 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
17153 * docs/faq/gst-uninstalled:
17154 add gst-plugins-base
17155 * docs/gst/Makefile.am:
17156 don't error out until docs are fixed
17157 * docs/gst/gstreamer.types:
17160 2005-03-22 Wim Taymans <wim@fluendo.com>
17162 * check/Makefile.am:
17163 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17164 * gst/gststructure.c: (gst_structure_set_valist),
17165 (gst_structure_copy_conditional):
17166 Activated more tests.
17167 Added message test.
17168 Added G_TYPE_POINTER to GstStructure.
17171 2005-03-22 Wim Taymans <wim@fluendo.com>
17173 * docs/design/part-TODO.txt:
17174 * docs/design/part-events.txt:
17175 * docs/design/part-gstbin.txt:
17176 * docs/design/part-gstbus.txt:
17177 * docs/design/part-gstpipeline.txt:
17178 * docs/design/part-messages.txt:
17180 * gst/gstmessage.c:
17183 2005-03-21 Wim Taymans <wim@fluendo.com>
17185 * gst/gstbus.c: (gst_bus_post):
17186 Fix copy-and-paste error.
17188 2005-03-21 Wim Taymans <wim@fluendo.com>
17190 * check/Makefile.am:
17192 * gst/elements/Makefile.am:
17193 * gst/elements/gstelements.c:
17194 * gst/elements/gstfakesink.c: (gst_fakesink_init),
17195 (gst_fakesink_event), (gst_fakesink_chain):
17196 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17197 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17198 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17199 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17200 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17201 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17202 (gst_fakesrc_loop), (gst_fakesrc_activate),
17203 (gst_fakesrc_change_state):
17204 * gst/elements/gstfakesrc.h:
17205 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17206 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17207 (gst_filesrc_open_file), (gst_filesrc_loop),
17208 (gst_filesrc_activate), (gst_filesrc_change_state),
17209 (filesrc_find_peek), (filesrc_find_suggest),
17210 (gst_filesrc_type_find):
17211 * gst/elements/gstidentity.c: (gst_identity_finalize),
17212 (gst_identity_class_init), (gst_identity_init),
17213 (gst_identity_proxy_getcaps), (identity_queue_push),
17214 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17215 (gst_identity_getrange), (gst_identity_chain),
17216 (gst_identity_sink_loop), (gst_identity_src_loop),
17217 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17218 (gst_identity_set_property), (gst_identity_get_property),
17219 (gst_identity_change_state):
17220 * gst/elements/gstidentity.h:
17221 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17222 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17223 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17224 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17225 (gst_tee_sink_activate):
17226 * gst/elements/gsttee.h:
17227 * gst/gst.c: (gst_register_core_elements), (init_post):
17229 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17230 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17231 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17232 (gst_bin_change_state):
17234 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17235 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17236 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17237 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17238 (gst_bus_set_sync_handler), (gst_bus_create_watch),
17239 (bus_watch_callback), (bus_watch_destroy),
17240 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17241 (poll_timeout), (gst_bus_poll):
17245 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17246 (gst_element_post_message), (gst_element_message_full),
17247 (gst_element_get_state_func), (gst_element_get_state),
17248 (gst_element_abort_state), (gst_element_commit_state),
17249 (gst_element_lost_state), (gst_element_set_state),
17250 (gst_element_pads_activate), (gst_element_change_state),
17251 (gst_element_dispose), (gst_element_set_manager_func),
17252 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17253 (gst_element_set_manager), (gst_element_get_manager),
17254 (gst_element_set_bus), (gst_element_get_bus),
17255 (gst_element_set_scheduler), (gst_element_get_scheduler):
17256 * gst/gstelement.h:
17257 * gst/gstevent.c: (gst_event_new_segment_seek),
17258 (gst_event_new_flush):
17260 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17261 (_gst_message_free), (gst_message_get_type), (gst_message_new),
17262 (gst_message_new_eos), (gst_message_new_error),
17263 (gst_message_new_warning), (gst_message_new_tag),
17264 (gst_message_new_state_changed), (gst_message_new_application),
17265 (gst_message_get_structure), (gst_message_parse_tag),
17266 (gst_message_parse_state_changed), (gst_message_parse_error),
17267 (gst_message_parse_warning):
17268 * gst/gstmessage.h:
17269 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17270 (gst_real_pad_set_property), (gst_pad_set_active),
17271 (gst_pad_is_active), (gst_pad_set_blocked_async),
17272 (gst_pad_set_blocked), (gst_pad_is_blocked),
17273 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17274 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17275 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17276 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17277 (gst_pad_link_filtered), (gst_pad_relink_filtered),
17278 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17279 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17280 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17281 (gst_pad_set_caps), (gst_pad_configure_sink),
17282 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17283 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17284 (gst_real_pad_dispose), (gst_real_pad_finalize),
17285 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17286 (gst_pad_event_default_dispatch), (gst_pad_event_default),
17287 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17289 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17290 (pipeline_bus_handler), (gst_pipeline_change_state),
17291 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17292 * gst/gstpipeline.h:
17294 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17295 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17296 (gst_queue_link_src), (gst_queue_bufferalloc),
17297 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17298 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17299 (gst_queue_loop), (gst_queue_handle_src_event),
17300 (gst_queue_handle_src_query), (gst_queue_src_activate),
17301 (gst_queue_change_state):
17303 * gst/gstscheduler.c: (gst_scheduler_init),
17304 (gst_scheduler_dispose), (gst_scheduler_create_task),
17305 (gst_scheduler_factory_create):
17306 * gst/gstscheduler.h:
17307 * gst/gststructure.c: (gst_structure_get_type),
17308 (gst_structure_copy_conditional):
17309 * gst/gststructure.h:
17310 * gst/gsttaginterface.h:
17311 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17312 (gst_task_init), (gst_task_dispose), (gst_task_create),
17313 (gst_task_get_state), (gst_task_start), (gst_task_stop),
17319 * gst/schedulers/Makefile.am:
17320 * gst/schedulers/cothreads_compat.h:
17321 * gst/schedulers/entryscheduler.c:
17322 * gst/schedulers/faircothreads.c:
17323 * gst/schedulers/faircothreads.h:
17324 * gst/schedulers/fairscheduler.c:
17325 * gst/schedulers/gstbasicscheduler.c:
17326 * gst/schedulers/gstoptimalscheduler.c:
17327 * gst/schedulers/gthread-cothreads.h:
17328 * gst/schedulers/threadscheduler.c:
17329 (gst_thread_scheduler_task_get_type),
17330 (gst_thread_scheduler_task_class_init),
17331 (gst_thread_scheduler_task_init),
17332 (gst_thread_scheduler_task_start),
17333 (gst_thread_scheduler_task_stop),
17334 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17335 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17336 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17337 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17339 * libs/gst/Makefile.am:
17340 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17341 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17342 (gst_file_pad_parent_set):
17343 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17344 (gst_dp_event_from_packet):
17345 * tests/complexity.c: (main):
17346 * tests/mass_elements.c: (main):
17347 * testsuite/states/locked.c: (message_received), (main):
17348 * testsuite/states/parent.c: (main):
17349 * tools/gst-inspect.c: (print_element_flag_info),
17350 (print_implementation_info), (print_pad_info):
17351 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17353 * tools/gst-md5sum.c: (event_loop), (main):
17354 * tools/gst-typefind.c: (main):
17355 * tools/gst-xmlinspect.c: (print_element_info):
17357 Added GstBus for mainloop integration.
17358 Added GstMessage for sending notifications on the bus.
17359 Added GstTask as an abstraction for pipeline entry points.
17361 Removed Schedulers.
17362 Simplified GstQueue for multithreaded core.
17363 Made _link threadsafe, removed old capsnego.
17364 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17365 Added pad blocking functions.
17366 Reworked scheduling functions in GstPad to prepare for
17367 scheduling updates soon.
17368 Moved events out of data stream.
17369 Simplified GstEvent types.
17370 Added return values to push/pull.
17371 Removed clocking from GstElement.
17372 Added prototypes for state change function for next merge.
17373 Removed iterate from bins and state change management.
17374 Fixed some elements, disabled others for now.
17375 Fixed -inspect and -launch.
17376 Added check for GstBus.
17378 2005-03-10 Wim Taymans <wim@fluendo.com>
17380 * docs/design/part-MT-refcounting.txt:
17381 * docs/design/part-clocks.txt:
17382 * docs/design/part-gstelement.txt:
17383 * docs/design/part-gstobject.txt:
17384 * docs/design/part-standards.txt:
17385 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17386 (gst_bin_remove_func), (gst_bin_remove):
17390 * testsuite/clock/clock1.c: (main):
17391 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17393 * testsuite/dlopen/loadgst.c: (do_test):
17394 * testsuite/refcounting/bin.c: (add_remove_test1),
17395 (add_remove_test2), (main):
17396 * testsuite/refcounting/element.c: (main):
17397 * testsuite/refcounting/element_pad.c: (main):
17398 * testsuite/refcounting/pad.c: (main):
17399 * tools/gst-launch.c: (sigint_handler_sighandler):
17400 * tools/gst-typefind.c: (main):
17402 Added doc about clock.
17403 removed gst_bin_iterate_recurse_up(), marked methods
17405 Fix more testsuites.
17407 2005-03-09 Wim Taymans <wim@fluendo.com>
17409 * gst/gstpad.c: (gst_pad_get_direction),
17410 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17411 (gst_pad_collect_valist):
17412 * testsuite/bins/interface.c: (main):
17413 * testsuite/caps/audioscale.c: (test_caps):
17414 * testsuite/caps/caps.c: (test1), (test2), (test3):
17415 * testsuite/caps/deserialize.c: (main):
17416 * testsuite/caps/enumcaps.c: (main):
17417 * testsuite/caps/filtercaps.c: (main):
17418 * testsuite/caps/intersect2.c: (main):
17419 * testsuite/caps/random.c: (main):
17420 * testsuite/caps/renegotiate.c: (my_fixate), (main):
17421 * testsuite/caps/sets.c: (check_caps):
17422 * testsuite/caps/simplify.c: (check_caps), (main):
17423 * testsuite/caps/subtract.c: (check_caps):
17424 Fix _pad_get_direction wrt ghostpads.
17425 Fix caps testsuite.
17427 2005-03-09 Wim Taymans <wim@fluendo.com>
17429 * check/Makefile.am:
17430 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17431 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17432 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17433 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17434 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17435 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17436 (gst_bin_remove), (gst_bin_iterate_recurse_up),
17437 (bin_element_is_sink), (gst_bin_iterate_sinks),
17438 (gst_bin_iterate_all_by_interface):
17440 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17441 (gst_element_change_state), (gst_element_dispose),
17442 (gst_element_finalize), (gst_element_set_loop_function):
17443 * gst/gstelement.h:
17444 * gst/gstiterator.c: (find_custom_fold_func):
17445 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17446 (gst_pad_collectv), (gst_pad_collect_valist),
17447 (gst_pad_template_new):
17448 * gst/gstpipeline.c: (gst_pipeline_class_init),
17449 (gst_pipeline_dispose), (gst_pipeline_set_property),
17450 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17451 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17452 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17454 * gst/schedulers/entryscheduler.c:
17455 * gst/schedulers/gstbasicscheduler.c:
17456 (gst_basic_scheduler_cothreaded_chain),
17457 (gst_basic_scheduler_chain_add_element):
17458 * testsuite/bins/interface.c: (main):
17460 Added GstSystemClock test.
17461 Implemented clock distribution code in GstBin.
17462 Implemented iterate sinks method for future use.
17463 Rearranged gstelement.h
17464 Fix GstIterator comparison bug.
17465 Moved some code to GstPipeline, mostly clocking related.
17467 2005-03-09 Wim Taymans <wim@fluendo.com>
17470 * gst/gst_private.h:
17471 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17472 (gst_bin_remove_func), (gst_bin_remove),
17473 (gst_bin_get_by_name_recurse_up):
17474 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17475 (gst_clock_id_compare_func), (gst_clock_id_wait),
17476 (gst_clock_id_wait_async), (gst_clock_init),
17477 (gst_clock_adjust_unlocked), (gst_clock_get_time):
17478 * gst/gstelement.h:
17479 * gst/gstinfo.c: (_gst_debug_init):
17481 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17482 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17484 Bump version number, we're now 0.9.0
17485 Add future debugging category.
17486 Fix NULL _unref() in _get_by_name_recurse_up
17487 Rearrange gstpad.h.
17490 2005-03-08 Wim Taymans <wim@fluendo.com>
17492 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17493 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17494 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17495 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17496 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17497 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17498 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17499 * gst/elements/gstidentity.c: (gst_identity_class_init):
17500 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17501 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17502 * gst/elements/gstshaper.c: (gst_shaper_class_init):
17503 * gst/elements/gststatistics.c: (gst_statistics_class_init):
17504 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17506 * gst/gstelement.c: (gst_element_class_init),
17507 (gst_element_base_class_init), (gst_element_init),
17508 (gst_element_get_random_pad), (gst_element_wait_state_change),
17509 (gst_element_change_state), (gst_element_dispose),
17510 (gst_element_finalize), (gst_element_set_loop_function):
17511 * gst/gstelement.h:
17512 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17513 * gst/gstthread.c: (gst_thread_class_init),
17514 (gst_thread_release_children_locks), (gst_thread_change_state):
17515 * gst/schedulers/gstbasicscheduler.c:
17516 (gst_basic_scheduler_loopfunc_wrapper),
17517 (gst_basic_scheduler_chain_wrapper),
17518 (gst_basic_scheduler_src_wrapper),
17519 (gst_basic_scheduler_remove_element):
17520 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17521 Remove threadsafe properties. Fix elements because GObject
17522 complains when installing a property before declaring a
17523 set/get_property handler.
17524 Rearrange gstelement.h file, use STATE macros for state locks.
17525 Free mutexes in the finalize method instead of dispose.
17527 2005-03-08 Wim Taymans <wim@fluendo.com>
17529 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17530 * gst/gstthread.c: (gst_thread_release_children_locks):
17531 Added parentage check.
17532 Fix build og GstThread again.
17534 2005-03-08 Wim Taymans <wim@fluendo.com>
17536 * docs/design/part-MT-refcounting.txt:
17537 * docs/design/part-conventions.txt:
17538 * docs/design/part-gstobject.txt:
17539 * docs/design/part-relations.txt:
17540 * docs/design/part-standards.txt:
17541 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17542 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17543 (gst_bin_get_by_name), (gst_bin_get_by_interface),
17544 (gst_bin_iterate_all_by_interface):
17547 * gst/gstelement.c: (gst_element_class_init),
17548 (gst_element_change_state), (gst_element_set_loop_function):
17549 * gst/gstelement.h:
17550 * gst/gstiterator.c:
17551 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17552 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17553 (gst_object_dispatch_properties_changed), (gst_object_set_name),
17554 (gst_object_set_parent), (gst_object_unparent),
17555 (gst_object_check_uniqueness):
17557 Docs updates, clean up some headers.
17559 2005-03-07 Wim Taymans <wim@fluendo.com>
17561 * check/.cvsignore:
17562 * check/Makefile.am:
17563 * check/gst-libs/.cvsignore:
17564 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17565 * check/gst/.cvsignore:
17566 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17567 (START_TEST), (gstbus_suite), (main):
17568 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17569 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17570 (gst_data_suite), (main):
17571 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17572 (add_fold_func), (gstiterator_suite), (main):
17573 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17574 (thread_name_object), (thread_name_object_default),
17575 (gst_object_name_compare), (gst_object_suite), (main):
17576 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17577 (gst_pad_suite), (main):
17578 * check/gstcheck.c: (gst_check_log_message_func),
17579 (gst_check_log_critical_func), (gst_check_init):
17580 * check/gstcheck.h:
17581 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17582 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17585 2005-03-07 Wim Taymans <wim@fluendo.com>
17587 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17588 (gst_list_iterator_next), (gst_list_iterator_resync),
17589 (gst_list_iterator_free), (gst_iterator_new_list),
17590 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17591 (gst_iterator_free), (gst_iterator_push), (filter_next),
17592 (filter_resync), (filter_uninit), (filter_free),
17593 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17594 (gst_iterator_foreach), (find_custom_fold_func),
17595 (gst_iterator_find_custom):
17596 * gst/gstiterator.h:
17597 Added missing files.
17599 2005-03-07 Wim Taymans <wim@fluendo.com>
17603 * docs/design/part-MT-refcounting.txt:
17604 * docs/design/part-conventions.txt:
17605 * docs/design/part-gstobject.txt:
17606 * docs/design/part-relations.txt:
17607 * examples/mixer/mixer.c: (main):
17608 * examples/thread/thread.c: (eos), (main):
17610 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17611 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17612 (gst_spider_plug_from_srcpad):
17613 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17614 (gst_spider_identity_change_state),
17615 (gst_spider_identity_sink_loop_type_finding):
17616 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17617 * gst/elements/gstidentity.c: (gst_identity_init):
17618 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17619 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17620 * gst/elements/gsttypefindelement.c: (free_entry):
17623 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17624 (gst_bin_set_clock_func), (gst_bin_auto_clock),
17625 (gst_bin_set_index), (gst_bin_set_element_sched),
17626 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17627 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17628 (gst_bin_iterate_elements), (iterate_child_recurse),
17629 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17630 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17631 (compare_interface), (gst_bin_get_by_interface),
17632 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17634 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17635 (gst_buffer_default_free), (gst_buffer_default_copy),
17636 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17637 (gst_buffer_create_sub):
17639 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17640 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17641 (gst_caps_unref), (gst_static_caps_get),
17642 (gst_caps_remove_and_get_structure), (gst_caps_append),
17643 (gst_caps_append_structure), (gst_caps_remove_structure),
17644 (gst_caps_copy_nth), (gst_caps_set_simple),
17645 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17646 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17647 (gst_caps_structure_intersect_field), (gst_caps_intersect),
17648 (gst_caps_structure_subtract_field), (gst_caps_subtract),
17649 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17650 (gst_caps_structure_figure_out_union),
17651 (gst_caps_switch_structures), (gst_caps_do_simplify),
17652 (gst_caps_replace), (gst_caps_from_string),
17653 (gst_caps_copy_conditional):
17655 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17656 (_gst_clock_id_free), (gst_clock_id_unref),
17657 (gst_clock_id_compare_func), (gst_clock_id_wait),
17658 (gst_clock_id_wait_async), (gst_clock_class_init),
17659 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17660 (gst_clock_get_time), (gst_clock_set_time_adjust),
17661 (gst_clock_set_property), (gst_clock_get_property):
17664 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17665 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17667 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17668 (gst_element_requires_clock), (gst_element_provides_clock),
17669 (gst_element_set_clock), (gst_element_clock_wait),
17670 (gst_element_wait), (gst_element_set_time_delay),
17671 (gst_element_is_indexable), (gst_element_add_pad),
17672 (gst_element_add_ghost_pad), (gst_element_remove_pad),
17673 (pad_compare_name), (gst_element_get_static_pad),
17674 (gst_element_request_pad), (gst_element_get_request_pad),
17675 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17676 (gst_element_class_get_pad_template_list),
17677 (gst_element_class_get_pad_template), (gst_element_error_func),
17678 (gst_element_get_random_pad), (gst_element_get_event_masks),
17679 (gst_element_send_event), (gst_element_seek),
17680 (gst_element_get_query_types), (gst_element_query),
17681 (gst_element_get_formats), (gst_element_convert),
17682 (gst_element_is_locked_state), (gst_element_set_locked_state),
17683 (gst_element_sync_state_with_parent), (gst_element_change_state),
17684 (gst_element_finalize), (gst_element_yield),
17685 (gst_element_interrupt), (gst_element_set_scheduler),
17686 (gst_element_get_scheduler), (gst_element_set_loop_function):
17687 * gst/gstelement.h:
17689 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17690 (gst_format_get_by_nick), (gst_format_get_details),
17691 (gst_format_iterate_definitions):
17693 * gst/gstindex.c: (gst_index_gtype_resolver):
17696 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17697 (gst_mem_chunk_free):
17698 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17699 (gst_object_ref), (gst_object_unref), (gst_object_sink),
17700 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17701 (gst_object_dispatch_properties_changed),
17702 (gst_object_set_name_default), (gst_object_set_name),
17703 (gst_object_get_name), (gst_object_set_name_prefix),
17704 (gst_object_get_name_prefix), (gst_object_set_parent),
17705 (gst_object_get_parent), (gst_object_unparent),
17706 (gst_object_check_uniqueness), (gst_object_save_thyself),
17707 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17708 (gst_object_set_property), (gst_object_get_property),
17709 (gst_object_get_path_string):
17711 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17712 (gst_real_pad_init), (gst_real_pad_get_property),
17713 (gst_pad_custom_new), (gst_pad_get_direction),
17714 (gst_pad_set_active), (gst_pad_is_active),
17715 (gst_pad_set_event_function), (gst_pad_is_linked),
17716 (gst_pad_link_free), (gst_pad_link_intersect),
17717 (gst_pad_link_fixate), (gst_pad_set_caps),
17718 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17719 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17720 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17721 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17722 (gst_pad_get_caps), (gst_pad_peer_get_caps),
17723 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17724 (gst_pad_realize), (gst_pad_get_allowed_caps),
17725 (gst_real_pad_dispose), (gst_real_pad_finalize),
17726 (gst_pad_collectv), (gst_pad_collect_valist),
17727 (gst_pad_template_dispose), (gst_pad_template_new),
17728 (gst_pad_get_internal_links):
17730 * gst/gstpipeline.c: (gst_pipeline_dispose),
17731 (gst_pipeline_change_state):
17732 * gst/gstpipeline.h:
17734 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17735 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17736 * gst/gstpluginfeature.h:
17737 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17738 * gst/gstquery.c: (_gst_query_type_initialize),
17739 (gst_query_type_register), (gst_query_type_get_by_nick),
17740 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17742 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17743 * gst/gstscheduler.c: (gst_scheduler_add_element),
17744 (gst_scheduler_factory_create):
17745 * gst/gststructure.c: (gst_structure_set_parent_refcount),
17746 (gst_structure_free), (gst_structure_set_name),
17747 (gst_structure_id_set_value), (gst_structure_set_value),
17748 (gst_structure_set_valist), (gst_structure_remove_field),
17749 (gst_structure_remove_fields),
17750 (gst_structure_remove_fields_valist),
17751 (gst_structure_remove_all_fields), (gst_structure_foreach),
17752 (gst_structure_map_in_place),
17753 (gst_caps_structure_fixate_field_nearest_int),
17754 (gst_caps_structure_fixate_field_nearest_double):
17755 * gst/gststructure.h:
17756 * gst/gstsystemclock.c: (gst_system_clock_class_init),
17757 (gst_system_clock_init), (gst_system_clock_dispose),
17758 (gst_system_clock_async_thread),
17759 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17760 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17761 * gst/gstsystemclock.h:
17762 * gst/gsttag.c: (gst_tag_list_add_value_internal),
17763 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17764 * gst/gsttaginterface.c:
17765 * gst/gstthread.c: (gst_thread_dispose),
17766 (gst_thread_release_children_locks), (gst_thread_change_state),
17767 (gst_thread_main_loop):
17768 * gst/gsttrashstack.h:
17769 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17771 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17772 (gst_element_request_pad), (gst_element_get_pad_from_template),
17773 (gst_element_request_compatible_pad),
17774 (gst_element_get_compatible_pad_filtered),
17775 (gst_element_get_compatible_pad), (gst_element_state_get_name),
17776 (gst_element_link_pads_filtered), (gst_element_link_filtered),
17777 (gst_element_link_many), (gst_element_link),
17778 (gst_element_link_pads), (gst_element_unlink_pads),
17779 (gst_element_unlink_many), (gst_element_unlink),
17780 (gst_pad_can_link_filtered), (gst_pad_can_link),
17781 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17782 (gst_object_default_error), (gst_bin_add_many),
17783 (gst_bin_remove_many), (gst_element_populate_std_props),
17784 (gst_element_class_install_std_props), (gst_buffer_merge),
17785 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17786 (link_fold_func), (gst_pad_proxy_setcaps):
17788 * gst/gstvalue.c: (gst_value_deserialize_string):
17789 * gst/parse/grammar.y:
17790 * gst/schedulers/gstbasicscheduler.c:
17791 (gst_basic_scheduler_cothreaded_chain),
17792 (gst_basic_scheduler_chain_recursive_add),
17793 (gst_basic_scheduler_pad_link):
17794 * gst/schedulers/gstoptimalscheduler.c:
17795 (get_group_schedule_function),
17796 (gst_opt_scheduler_state_transition),
17797 (gst_opt_scheduler_add_element), (element_get_reachables_func):
17798 * libs/gst/bytestream/bytestream.c:
17799 * libs/gst/dataprotocol/dataprotocol.c:
17800 (gst_dp_header_from_buffer):
17803 * tests/threadstate/threadstate2.c: (eos):
17804 * tools/gst-compprep.c: (main):
17805 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17806 (print_pad_info), (print_children_info):
17807 * tools/gst-launch.c: (idle_func), (main):
17808 * tools/gst-md5sum.c: (idle_func), (main):
17809 * tools/gst-xmlinspect.c: (print_element_info):
17810 First THREADED backport attempt, focusing on adding locks and
17811 making sure the API is threadsafe. Needs more work. More docs
17814 2005-02-24 Andy Wingo <wingo@pobox.com>
17816 * tests/bench-complexity.scm:
17817 * tests/complexity.gnuplot: New files, good for running complexity
17820 * tests/Makefile.am:
17821 * tests/complexity.c: New test, sets up N elements, at each level
17822 teeing into M streams per element. Eeeenteresting.
17824 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17825 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17826 running bench-mass_elements.scm.
17828 * tests/bench-mass_elements.scm: New script, runs mass_elements
17829 for various numbers of identities, outputting the results to a
17830 file. Requires guile 1.6. Just for testing.
17832 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
17834 * gst/schedulers/fairscheduler.c:
17835 compile with debug disabled
17837 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
17840 hunting season on 0.9 is now OPEN