Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Fix description for buffer-frames=0.
* docs/gst/tmpl/gstbin.sgml:
* gst/gstbin.c: (gst_bin_child_state_change_func),
(gst_bin_change_state), (gst_bin_change_state_norecurse):
* gst/gstbin.h:
* testsuite/threads/Makefile.am:
* testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
(cb_state), (cb_play), (main):
Fix non-recursive state changes to *really* change the state
of the object, and not just call parent_class->state_change.
Fix a lot of lockups caused by this. Fixes#132775. Add test
for the problem. Also enable test to show #142588 (fixed).
* gst/gstthread.c: (gst_thread_change_state),
(gst_thread_child_state_change):
Don't exit the thread if we go to NULL and are inside thread
context. Instead, return control to the main thread context
and exit from there.
* gst/gstelement.c: (gst_element_disable_threadsafe_properties):
Don't unset virtual functions, since those may still be used.
That's not necessarily correct, but suffices for now.
* configure.ac:
* testsuite/Makefile.am:
* testsuite/pad/Makefile.am:
* testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
(gst_test_sink_base_init), (gst_test_sink_chain),
(gst_test_sink_init), (main):
* testsuite/pad/getnopush.c: (gst_test_src_class_init),
(gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
(main):
* testsuite/pad/link.c: (gst_test_element_class_init),
(gst_test_element_base_init), (gst_test_src_get),
(gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
(gst_test_filter_loop), (gst_test_filter_init),
(gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
(cb_error), (main):
Add tests to show #150546. Pass, but should fail (currently
disabled from the testsuite).
* gst/gstscheduler.c: (gst_scheduler_dispose):
Dereference child schedulers on dispose (#94464).
* testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
Fix typo.
* testsuite/threads/thread.c: (main):
Add more debug.
Original commit message from CVS:
* configure.ac: remove all mmx stuff, because it's not used.
* docs/random/ds/0.9-suggested-changes: additional notes
* include/Makefile.am: we don't use these anymore
* include/mmx.h: remove
* include/sse.h: remove
Original commit message from CVS:
* docs/manual/quotes.xml:
add a quote
* configure.ac:
* gst/gst.c:
* gst/gstinfo.c:
add LIBDIR and move init message higher up so it's at the start
Original commit message from CVS:
compatibility fixes for Solaris 8/gcc 2.95
* configure.ac:
include libintl libs in LDFLAGS
* gstvalue.c (gst_value_deserialize_buffer):
cast isxdigit stuff to int to silence compiler warning
Original commit message from CVS:
* configure.ac:
require valgrind >= 2.1 (fixes Gentoo bug 53967, see
http://bugs.gentoo.org/show_bug.cgi?id=53967)
* gst/gstpad.c: (gst_pad_alloc_buffer):
allow buffer_alloc functions to return NULL and allocate a normal
buffer in that case
Original commit message from CVS:
* configure.ac:
* gst/gstvalue.c: (gst_value_compare_enum),
(gst_value_serialize_enum), (gst_value_deserialize_enum),
(gst_value_can_compare), (gst_value_compare):
* testsuite/Makefile.am:
Fix enum serialization, deserialization, comparison in caps, add
a test to ensure that this continues working in the future.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
don't
* gst/schedulers/entryscheduler.c: (safe_cothread_switch),
(safe_cothread_destroy),
(gst_entry_scheduler_remove_all_cothreads),
(gst_entry_scheduler_reset), (_remove_cothread),
(gst_entry_scheduler_state_transition):
hold off cothread destruction if we're not in main cothread
* configure.ac:
* testsuite/Makefile.am:
add new test dir
* testsuite/schedulers/.cvsignore:
* testsuite/schedulers/Makefile.am:
add tests
* testsuite/schedulers/relink.c: (cb_handoff), (main):
check relinking and adding/removing elements from a running pipeline
* testsuite/schedulers/unlink.c: (cb_handoff), (main):
check unlinking in a running pipeline
* testsuite/schedulers/unref.c: (cb_handoff), (main):
check unreffing a running pipeline
* testsuite/schedulers/useless_iteration.c: (main):
check iterating a pipeline that contains running threads works
Original commit message from CVS:
* configure.ac:
Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
support until we decide where the flags should be used
* gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
* gst/gstpad.c: (gst_pad_link_call_link_functions):
Output refused caps in the debug info
Original commit message from CVS:
* configure.ac: Link plugins with libgstreamer and dependent
libraries
* testsuite/caps/Makefile.am:
* testsuite/caps/caps_strings:
* testsuite/caps/deserialize.c: (main): Add a little test to slog
through a file of caps strings and test each one
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link_negotiate):
refuse to link if the link is not possible
* configure.ac:
* testsuite/Makefile.am:
* testsuite/negotiation/.cvsignore:
* testsuite/negotiation/Makefile.am:
* testsuite/negotiation/pad_link.c: (main):
add test that checks the above behaviour
Original commit message from CVS:
* common/as-libtool.mak: Fine-tune DLL building.
* configure.ac: Link plugins against libgstreamer. Define plugindir
(like gst-plugins)
* examples/plugins/Makefile.am: remove plugindir
* gst/autoplug/Makefile.am: DLL building fixes
* gst/elements/Makefile.am: DLL building fixes. Disable pipefilter on
Windows.
* gst/elements/gstelements.c: Conditionally disable pipefilter.
* gst/indexers/Makefile.am: DLL building fixes
* gst/schedulers/Makefile.am: DLL building fixes.
* libs/gst/bytestream/Makefile.am: DLL building fixes.
* libs/gst/control/Makefile.am: same
* libs/gst/getbits/Makefile.am: same
* testsuite/Makefile.am: New dlopen directory
* testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
when dlopened.
* testsuite/dlopen/dlopen_gst.c: (main): same
* testsuite/dlopen/loadgst.c: (do_test): same
Original commit message from CVS:
* configure.ac: Add test for allowing unaligned access. Add define
to put in gstconfig.h.
* docs/gst/gstreamer-sections.txt: New symbols
* docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
* docs/gst/tmpl/gstfilesrc.sgml:
* docs/gst/tmpl/gstparse.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstvalue.sgml:
* gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
* gst/gstutils.h: Add macros for unaligned memory access. Useful
on most !i386/!powerpc architectures. From Daniel Gazard
<daniel.gazard@free.fr>. (bug #140156)
* po/af.po: Check in changes made by gettext.
* po/az.po:
* po/fr.po:
* po/nl.po:
* po/sr.po:
* po/sv.po:
Original commit message from CVS:
* common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
checks if we can access unaligned memory.
* configure.ac: Use it.
Original commit message from CVS:
* configure.ac: Changes to remove POSIXisms (mmap in this case)
and to build DLLs on Windows.
* gst/Makefile.am:
* gst/elements/gstfilesrc.c: (gst_filesrc_get),
(gst_filesrc_open_file):
* gst/schedulers/Makefile.am:
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst_private.h:
* gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
add support for detecting if GStreamer runs inside valgrind.
requires valgrind (d'oh) and --enable-debug for correct cdetection.
print a big message in valgrind that GStreamer has detected it's
running inside and might now use different code.
* gst/gstmemchunk.c: (populate), (free_area),
(gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
(gst_mem_chunk_free):
flag memchunks for valgrind, so it can detect leaking of chunks.
This allows detecting leaks of GstBuffer and GstEvent correctly
inside valgrind.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* REQUIREMENTS: Add bison and flex.
* configure.ac: Fix comment about bison.
* docs/random/ds/0.9-suggested-changes: yer ma
* tools/gst-inspect.c: (print_element_info): Fix warning.
Original commit message from CVS:
* configure.ac:
remove whitespace
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstdata.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstxml.sgml:
doc update
* docs/manuals.mak:
add a FIXME
* docs/pwg/intro-preface.xml:
* docs/pwg/pwg.xml:
remove GNOME
* gst/gst.c: (init_post):
try GST_PLUGIN_PATH paths for the _global_registry first
* gst/gstelement.h:
add the error message as well, otherwise (null) debug info doesn't
make much sense
* tools/gst-register.c: (main):
spill paths to next registry if this registry is not writable
* po/fr.po:
* po/nl.po:
translation updates
Original commit message from CVS:
* configure.ac: We don't really need glib-2.3. Also remove
some unneeded checks for library functions.
* gst/Makefile.am: Instead, we need to not dist files created
by glib-genmarshal.
Original commit message from CVS:
2004-02-05 Andy Wingo <wingo@pobox.com>
* gst/gstpad.c (_gst_real_pad_fixate_accumulator):
s/pointer/boxed/.
* gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
* gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
with the type=GST_TYPE_CAPS. This allows language bindings to know
what kind of data they're dealing with.
* gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
to NULL when g_value_init is called. GstCaps, which rolls its own
type implementation, now does the same instead of allocating empty
caps.
(_gst_caps_initialize, _gst_caps_collect_value,
_gst_caps_lcopy_value): Provide collect_value and lcopy_value type
table methods. This allows G_VALUE_COLLECT to work.
2004-02-05 Andy Wingo <wingo@pobox.com>
* configure.ac:
* testsuite/Makefile.am (SUBDIRS):
* testsuite/ghostpads/Makefile.am:
* testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
* gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
These two routines are the only ones that set
GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
pad template. They should be made static, depending on ABI needs.
(gst_real_pad_dispose): Handle the case of ghost pads without a
parent. Assert after dealing with ghost pads that the ghost pad
list is empty.
(gst_ghost_pad_class_init): New property added, ::real-pad. Can be
set after creation.
(gst_ghost_pad_dispose): Set ::real-pad to NULL.
(gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
functions. set_property will call add_ghost_pad/remove_ghost_pad
as appropriate.
(gst_ghost_pad_new): All the work is offloaded to g_object_new.
* gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
(gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
(gst_element_remove_pad): Handle ghost pads as well.
(gst_element_remove_ghost_pad): Deprecated (could be removed,
depending on API-stability needs).
2004-02-05 Andy Wingo <wingo@pobox.com>
* gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
of course they're const
Original commit message from CVS:
2004-01-30 Laurent Vivier <Laurent.Vivier@bull.net>
reviewed by Benjamin Otte
parts of the patch submitted in bug #113913
* configure.ac:
use AC_C_INLINE. Use = instead of == with test
* examples/plugins/example.c:
* gst/autoplug/gstspideridentity.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gststatistics.c:
* gst/gstelement.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstpipeline.c:
* gst/gstthread.c:
don't end enums with a comma
* gst/gstindex.c: (gst_index_compare_func):
do explicit casting to gint
* gst/gsttrace.c: (gst_trace_text_flush):
#define strsize as a macro
Original commit message from CVS:
* configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
GST_PRINTF_EXTENSION_FORMAT_DEFINE.
* docs/random/ds/0.9-suggested-changes: Notes from Company.
* gst/gstcaps.c: (gst_caps_to_string): Add comment.
* gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
(gst_debug_log_default), (_gst_info_printf_extension),
(_gst_info_printf_extension_arginfo): Add printf extension.
* gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
* gst/gststructure.c: (gst_structure_to_string),
(_gst_structure_parse_value): Use gst_value_deserialize() and
remove old code.
* gst/gstvalue.c: (gst_value_deserialize_fourcc),
(gst_value_deserialize_boolean), (gst_strtoi),
(gst_value_deserialize_int), (gst_value_deserialize_double),
(gst_value_deserialize_string), (gst_value_deserialize): Implement
a bunch of deserialize functions and gst_value_deserialize.
* gst/gstvalue.h: er, _de_serialize, not unserialize
* testsuite/caps/string-conversions.c: (main): We don't currently
handle (float) in caps, so convert these to (double).
* testsuite/debug/Makefile.am: Add new test for the printf extension
* testsuite/debug/printf_extension.c: (main): same
Original commit message from CVS:
Add option --enable-gcov to build GStreamer with -fprofile-arcs
and -ftest-coverage, which allows gcov to show information about
testsuite coverage.
Original commit message from CVS:
2004-01-07 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/elements/gstfilesink.c: (gst_filesink_set_location):
Fix for if we pass NULL as property to location.
* gst/elements/gstpipefilter.c: (gst_pipefilter_init),
(gst_pipefilter_handle_event), (gst_pipefilter_chain):
Fix for instantiate-test (see below).
* gst/gststructure.c: (_gst_structure_parse_value):
Fix compile error on gcc-2.96.
* configure.ac:
* tests/Makefile.am:
* tests/instantiate/Makefile.am:
* tests/instantiate/create.c: (create_all_elements), (main):
Add a test that instantiates all elements. This makes it easy to
track dead code for old API/design (like setting event functions
on sink pads and so on).
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1
Does not include:
- including tagging stuff in docs
- extensive tests
Original commit message from CVS:
-DG_DISABLE_DEPRECATED was fun, but causes difficult build problems
that are not out fault (gtk-doc. See bug #127028)
Original commit message from CVS:
set default errorlevel to NONE. Make configure change it to ERROR (the current value) when running cvs builds. This should make releases not output any debugging information at all
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- bytestream is out of the core again
- typefind element is now part of gstelements
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
Original commit message from CVS:
Add --enable-poisoning option, and make it default to off in normal
releases, on in ./autogen.sh configuration. Add automake17 as a
possible automake name.
Original commit message from CVS:
Removed building of ext/cothreads and corresponding scheduler. If
you want to reenable it, please fix it first. (See bug #87163)
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug
expect breakage
Original commit message from CVS:
Add new --enable-fast-stack-trash option, defaults to on.
We need this because valgrind doesn't implement an insn used
by it.
Original commit message from CVS:
Port some changes from 0.6.0/0.6.1 back to HEAD (.pc files moved to pkg-config/, .m4 file moved from plugins to core)
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
Original commit message from CVS:
no need to generate this script to adjust python interpreter since it is
invoked directly from the detected interpreter
Original commit message from CVS:
added a test which shows a problem with state changes when the toplevel bin is a thread.
there is some kind of deadlock. It would be good if wingo or wtay could have a look.
Original commit message from CVS:
together with the recent commit in common, this little beauty should
- implement both --with-automake and --with-autoconf to autogen.sh
- pass them on to configure, along with good settings for aclocal and autoheader
- which then forces these tools to be used in rebuilding through running
make in the dirs (which was the whole point of this makeover)
Please test and let me know if it doesn't break other stuff.
Right, going to make the really minimal set of changes to all of our other
modules now. I love having made a common/ dir ;)
We now return to your regularly scheduled broadcast.
Original commit message from CVS:
Totally rewritten registry handling.
- move the registry save/load code into a gstregistry subclass, this
will make it possible to use other registries (flat file, web based,
RDBMS type, etc..)
- a simple GMarkup xml registry is implemented
- use standard statically linked plugins for core elements.
- GstPlugin has a very well defined set of functions now
A little bytestream hack..
Added more info to -inspect.
Some more debugging info for clocking.
Small cleanups
I use ./gst-register --gst-plugin-path=/opt/src/sourceforge/gst-plugins/gst-libs:/opt/src/sourceforge/gst-plugins/
to register core and gst-plugins now.