Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
(gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
(gst_basesink_activate):
Actually do something with error codes returned from the push
functions.
Original commit message from CVS:
2005-05-05 Andy Wingo <wingo@pobox.com>
* check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
the test suite.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_check_module),
(gst_plugin_check_file), (gst_plugin_load_file):
apply patch from #172526 to make register work on MacOSX
Original commit message from CVS:
* docs/design/draft-push-pull.txt:
* docs/design/draft-query.txt:
* gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
(gst_basesrc_start):
Added draft for new query API.
Added draft for better selecting scheduling methods.
Make basesrc ignore length if the subclass does not support
it.
Original commit message from CVS:
* check/Makefile.am:
fix the broken rule for cleanup. Apparently this rule is
only needed on FC2, so maybe this warrants further autotool
inspection.
Original commit message from CVS:
* gst/gsttrashstack.h:
Ooohh. a nasty one! After having a failed pop() from the stack,
it's possible that the stack is empty. In that case, don't
follow the NULL pointer.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_set_checkgetrange_function),
(gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
(gst_pad_check_pull_range), (gst_pad_pull_range),
(gst_static_pad_template_get_caps), (gst_pad_start_task),
(gst_pad_pause_task), (gst_pad_stop_task):
* gst/gstplugin.c: (gst_plugin_load):
* gst/gstplugin.h:
Remove gst_library_load as it does more harm than good with
the new g_module flags.
Revert bogus caps template check in pad linking, pad caps
are important when linking not the template, which is more
general than the current caps.
Original commit message from CVS:
* check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
make the regressions tests work. Remove some code that is no
longer true.
* gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
Disable warning for pads without templates.
Original commit message from CVS:
* gst/gstpad.c: Remove handling of filtered caps. Fix/merge
functions that handle filtered links.
* gst/gstpad.h: Remove 'appfilter' field and prototypes of
removed functions.
* gst/gstutils.c: Fix/remove utility functions that handle
filtered caps.
* gst/gstutils.h:
* gst/gstvalue.c: Add serialization/deserialization of caps
* gst/parse/grammar.y: Ignore filtered caps when linking. This
requires fixing so that the filter caps notation creates
a capsfilter element and sets the filter_caps property. I
think everyone probably wants to keep the shorthand notation.
* docs/gst/tmpl/gstelement.sgml: updates for API changes.
* docs/gst/tmpl/gstpad.sgml:
* gst/elements/gstelements.c: Register capsfilter element.
* gst/Makefile.am: fix spacing
* docs/random/ds/0.9-suggested-changes: random
Original commit message from CVS:
* gst/elements/Makefile.am:
* gst/elements/gstcapsfilter.c: New element that acts like an
identity, but filters caps. Will eventually replace filtered
caps in pad linking.
* gst/gstutils.c: (gst_element_create_all_pads): New function
to create all the ALWAYS pads that are registered with an
element class. This functionality should eventually be
merged in with GstElement initialization.
* gst/gstutils.h:
* testsuite/trigger/README: part of trigger test code that should
have been checked in a long time ago.
Original commit message from CVS:
* gst/Makefile.am: Remove as-libtool stuff. It's likely not
needed with new versions of libtool (nobody will confirm this),
and hard to carry around.
* gst/autoplug/Makefile.am:
* gst/base/Makefile.am:
* gst/elements/Makefile.am:
* gst/indexers/Makefile.am:
* gst/schedulers/Makefile.am:
* libs/gst/bytestream/Makefile.am:
* libs/gst/control/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* libs/gst/getbits/Makefile.am:
Original commit message from CVS:
2005-04-18 Andy Wingo <wingo@pobox.com>
* gst/base/gstbasesrc.c (gst_basesrc_set_property)
(gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
to PROP_....
Original commit message from CVS:
Added typefind helper.
Small preroll fix in the base sink.
Disable typefind code in basesrc.
Crude port of typefindelement.
Fakesrc cleanups.
Original commit message from CVS:
* check/gst/gstbus.c: (gstbus_suite):
* check/gst/gstdata.c: (thread_ref), (gst_data_suite):
* check/gstcheck.h:
Fix up the timeout so that the test does not fail.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
expected to link against libgstreamer.
* gst/base/Makefile.am: link against libgstreamer
* gst/elements/Makefile.am: same
Original commit message from CVS:
2005-03-31 Andy Wingo <wingo@pobox.com>
* tests/instantiate/Makefile.am:
* tests/instantiate/caps.c: Add test to test speed of caps copy
and free.
* tests/memchunk/gmemchunktest.c (main): Use alloc only on the
GMemChunk to be fair.
* gst/gsttrashstack.h: Remove warning about using the fallback
trash stack implementation, it's still faster than malloc.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_base_init),
(gst_base_transform_class_init), (gst_base_transform_init),
(gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
(gst_base_transform_get_property),
(gst_base_transform_sink_activate),
(gst_base_transform_src_activate),
(gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_event), (gst_identity_check_perfect),
(gst_identity_transform), (gst_identity_start),
(gst_identity_stop):
Added start/stop methods to transform base class so subclasses
don't need to deal with state changes even.
Original commit message from CVS:
* gst/gstevent.c: (gst_event_new_discontinuous_valist),
(gst_event_new_discontinuous), (gst_event_discont_get_value):
* gst/gstevent.h:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_pull_range):
Added rate to the discont event to prepare for variable speed
and reverse playback.
Original commit message from CVS:
* configure.ac:
* testsuite/trigger/Makefile.am:
* testsuite/trigger/trigger.c: A little example program to show
how trigger-based elements can work.
Original commit message from CVS:
* gst/base/Makefile.am:
* gst/base/README:
* gst/base/gstbasesink.c: (gst_basesink_get_type),
(gst_basesink_base_init), (gst_basesink_class_init),
(gst_basesink_pad_getcaps), (gst_basesink_init),
(gst_basesink_activate), (gst_basesink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasetransform.c: (gst_base_transform_get_type),
(gst_base_transform_base_init), (gst_base_transform_finalize),
(gst_base_transform_class_init), (gst_base_transform_init),
(gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
(gst_base_transform_event), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_handle_buffer),
(gst_base_transform_set_property),
(gst_base_transform_get_property),
(gst_base_transform_sink_activate),
(gst_base_transform_src_activate),
(gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
* gst/elements/gstidentity.c: (gst_identity_finalize),
(gst_identity_class_init), (gst_identity_init),
(gst_identity_event), (gst_identity_check_perfect),
(gst_identity_transform), (gst_identity_set_property),
(gst_identity_get_property), (gst_identity_change_state):
* gst/elements/gstidentity.h:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_lost_state), (gst_element_pads_activate):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_check_pull_range), (gst_pad_pull_range):
* gst/gstpad.h:
Simplify pad activation.
Added function to check if pull_range can be performed.
Error out when pulling inactive or flushing pads.
Removed const from refcounted types as it does not make sense.
Simplify pad templates in basesink
Added base class for simple 1-to-1 transforms.
Make identity subclass the base transform.
Original commit message from CVS:
2005-03-29 Andy Wingo <wingo@pobox.com>
* docs/libs/gstreamer-libs-overrides.txt:
* docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
really don't understand what's going on, but like whatever. I want
green buildbot!
Original commit message from CVS:
2005-03-29 Andy Wingo <wingo@pobox.com>
* docs/gst/Makefile.am:
* docs/libs/Makefile.am: Dist the overrides files.
* check/Makefile.am (clean-local): Remove .libs directories.
* gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
elements to EXTRA_DIST, so po/ files are happy.
Original commit message from CVS:
2005-03-29 Andy Wingo <wingo@pobox.com>
* po/POTFILES: Remove gstspider.c.
* configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt: Remove the section on
bytestream.
* tests/complexity.c (main): Set the length of the preroll queue
on the sinks to prevent a lockup.
Original commit message from CVS:
2005-03-29 Andy Wingo <wingo@pobox.com>
* libs/gst/dataprotocol/Makefile.am:
* libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
the same as the one in check/gst-libs/gdp.c.
Original commit message from CVS:
2005-03-29 Andy Wingo <wingo@pobox.com>
* po/, docs/gst/: Commit automatic changes to docs and po files.
* gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
the versioned libgstbase.
* check/Makefile.am: Depend on an unversioned gst-register, seems
to make autoconf happier.
* gst/base/Makefile.am: Make libgstbase a versioned lib.
Original commit message from CVS:
Added state change code.
Added/updated docs.
Added sink base class, make fakesink extend the base class.
Small cleanups in GstPipeline.
Original commit message from CVS:
* gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
is broken and should be implemented in a different library.
* gst/gst.c: (init_post): don't call _gst_cpu_initialize()
* gst/gst.h: remove gstcpu.h
* gst/gstcpu.c: remove
* gst/gstcpu.h: remove
* gst/Makefile.am.future: Remove this file. It's ancient.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
(gst_bin_send_event):
Add default event/set_manager handlers. The set_manager handler
takes care that the manager is distributed over kids that were
already in the bin before the manager was set. The event handler
is a utility virtual function that sends the event over all sinks,
so that gst_element_send_event (bin, event); has the expected
behaviour.
* gst/gstpad.c: (gst_pad_event_default):
Re-install default event handling for discontinuities, so that
seeking works without requiring hacks in applications or extra
code in sinks.
* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_send_event):
Half hack, half utility: set a pipeline to PAUSED for seek events,
since that is the only way we can guarantee a/v sync. Means that
you can do gst_element_seek (pipeline, method, pos); on a pipeline
and it "just works".
Original commit message from CVS:
* docs/faq/gst-uninstalled:
add gst-plugins-base
* docs/gst/Makefile.am:
don't error out until docs are fixed
* docs/gst/gstreamer.types:
remove thread
Original commit message from CVS:
Next big merge.
Added GstBus for mainloop integration.
Added GstMessage for sending notifications on the bus.
Added GstTask as an abstraction for pipeline entry points.
Removed GstThread.
Removed Schedulers.
Simplified GstQueue for multithreaded core.
Made _link threadsafe, removed old capsnego.
Added STREAM_LOCK and PREROLL_LOCK in GstPad.
Added pad blocking functions.
Reworked scheduling functions in GstPad to prepare for
scheduling updates soon.
Moved events out of data stream.
Simplified GstEvent types.
Added return values to push/pull.
Removed clocking from GstElement.
Added prototypes for state change function for next merge.
Removed iterate from bins and state change management.
Fixed some elements, disabled others for now.
Fixed -inspect and -launch.
Added check for GstBus.
Original commit message from CVS:
Added GstBin test.
Added GstSystemClock test.
Implemented clock distribution code in GstBin.
Implemented iterate sinks method for future use.
Rearranged gstelement.h
Fix GstIterator comparison bug.
Moved some code to GstPipeline, mostly clocking related.
Original commit message from CVS:
Remove threadsafe properties. Fix elements because GObject
complains when installing a property before declaring a
set/get_property handler.
Rearrange gstelement.h file, use STATE macros for state locks.
Free mutexes in the finalize method instead of dispose.
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
Original commit message from CVS:
2005-02-24 Andy Wingo <wingo@pobox.com>
* tests/bench-complexity.scm:
* tests/complexity.gnuplot: New files, good for running complexity
benchmarks.
Original commit message from CVS:
2005-02-24 Andy Wingo <wingo@pobox.com>
* tests/Makefile.am:
* tests/complexity.c: New test, sets up N elements, at each level
teeing into M streams per element. Eeeenteresting.
Original commit message from CVS:
2005-02-24 Andy Wingo <wingo@pobox.com>
* tests/mass_elements.gnuplot: gnuplot file for the mass_elements
benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
running bench-mass_elements.scm.
* tests/bench-mass_elements.scm: New script, runs mass_elements
for various numbers of identities, outputting the results to a
file. Requires guile 1.6. Just for testing.
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstobject.c: (gst_object_init),
(gst_object_set_name_default), (gst_object_set_name):
name objects by default, not in gst_element_factory_create. Allows
using elements created with g_object_new. (fixes#167283)
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
make the time that debugging functions print relative to when
gst_init was called
Original commit message from CVS:
2005-02-18 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
Allocate the 1 byte more memory that was forgotten!!!!!
Original commit message from CVS:
fixed a few typos, relabeled introductionary list of types
more notes abut dparam changes
many comments and notes on dparam implementation
new dparams are were not initialized to the default value
from param specs
Original commit message from CVS:
2005-02-04 Andy Wingo <wingo@pobox.com>
* gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
the debugging on whether the caps are compatible.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
(schedule_chain), (get_invalid_call), (chain_invalid_call),
(loop_group_schedule_function), (gst_opt_scheduler_iterate):
Remove some FIXMEs after analysing and commenting why they
are not issues.
Original commit message from CVS:
* testsuite/threads/Makefile.am:
* testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
On Wim's request, split the test in three separately-compiled
tests that each test a very specific bug. Two of them still fail,
will create bugs for those. threadi.c indicates why they fail.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c:
(get_group_schedule_function):
Try to work with the threading mess that queue_link is.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func):
Explicitely make an element release locks in a group when being
remove from a bin.
* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
If there's no scheduler, always return immediately (similar to
gst_element_interrupt).
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_child_state_change_func):
Remove a piece of code that could never be reached.
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
(gst_pad_call_get_function):
* gst/gstpad.h:
* testsuite/pad/Makefile.am:
Fix#150546, enable tests.
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:
* gst/gstpad.c: (gst_pad_push):
Add check that the pad on which the push is performed is not a
get-based pad (#150546).
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Fix buffer pushing if stream EOSes during typefinding.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/gstvalue.c: (gst_string_wrap):
Allow NULL-strings as argument (#165365).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/schedulers/faircothreads.c:
(gst_fair_scheduler_cothread_queue_show):
Fix build without debug enabled.
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
Cosmetic fix - spider_find_peek should be static
* gst/parse/parse.l:
Applying fix for #164261
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (schedule_group), (normalize_group),
(gst_opt_scheduler_iterate):
Also ref/unref decoupled elements before iterating the
group since they are not added to the list of elements.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
* docs/random/mimetypes:
Add documentation on libsndfile types (#163309), by Steve Baker
<steve@stevebaker.org>.
* gst/gstelement.c: (gst_element_release_request_pad):
If an element has no explicit function, just remove the pad.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
Fix memleak (#163801).
Original commit message from CVS:
* gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
Another workaround for memory access while destroyed in callback.
Please, someone with refcount knowledge, have a look at this.
Original commit message from CVS:
* docs/random/omega/caps2:
* testsuite/caps/caps_strings:
replace framerate aproximations by their real value
(24000/1001, 30000/1001, 60000/1001)
Partially fixes bug #164049
Original commit message from CVS:
* docs/random/release:
updates
* gst/gst_private.h:
* gst/gstinfo.c:
* gst/gstobject.c:
move deep_notify logging to a new category
* gst/gstprobe.c:
* gst/gstprobe.h:
add stuff so bindings can wrap probes
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
Protect plugin loading by a mutex so it's threadsafe. Fixes
#163234.
Original commit message from CVS:
* gst/gstevent.c: (_gst_event_copy):
Reference source object when copying events, since it'll be
dereferenced on event dereferencing as well.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstevent.sgml:
* gst/gstevent.c: (gst_event_new_filler_stamped),
(gst_event_filler_get_duration):
* gst/gstevent.h:
Add two new functions for filler events (which are used to
synchronize streams if one of them is not having any data
for a while) without interrupting the actual data-stream.
Basically a no-op.
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link_sink), (gst_queue_link_src),
(gst_queue_change_state):
Allow for renegotiation while filled. Required for stream
switching while playing.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_link_many):
fix up g_return_if_fail's
* po/LINGUAS:
* po/de.po:
add German translation, that was somehow not included
Original commit message from CVS:
* gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
Check for existence of probe after performing the probe before
re-accessing it to prevent segfaults caused by removal of the
probe in the callback.
Original commit message from CVS:
* testsuite/registry/Makefile.am:
* testsuite/registry/gst-print-formats.c:
(print_pad_templates_info), (print_element_list),
(print_typefind_list), (list_sort_func), (get_typefind_mime_list),
(g_list_uniqify), (get_pad_templates_info),
(get_element_mime_list), (print_mime_list), (main): A little
program that looks through the registry to find elements of
a given type. Not particularly interesting as a test, except
that there's no other test covering the same area.
Original commit message from CVS:
* tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
(fault_handler_sigaction), (fault_spin),
(sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
in signal.h-type signal handlers by not calling forbidden functions,
including gst_element_set_state().
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/gstregistry.h:
* gst/registries/gstxmlregistry.c:
Fix macro's for Mingw (fixes#162276).
Original commit message from CVS:
quick shell oneliner to find undocumented members in docs/README
more enumtypes cleanup
activated documentation comments, now someone needs to document the enums :(
Original commit message from CVS:
* gst/gstplugin.c:
document gst_library_load a bit more (riff special case + return value if already loaded)
* testsuite/bytestream/filepadsink.c:
plugin name is 'gstbytestream', not 'bytestream'