Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
(bin_bus_handler):
* gst/gstelement.c: (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_new_state_dirty), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_duration),
(gst_message_parse_state_changed),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Seriously, this is better than a previous commit as we only need
to notify the fact that an element changed state in a streaming
thread, marking the state of the parents dirty, hence the
STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
message.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_new_segment_start), (gst_message_new_segment_done),
(gst_message_new_duration), (gst_message_parse_state_changed),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Make messages future proof.
state-change gets a flag if it was a message comming from the
streaming thread.
segment-start/stop can also be specified in other formats.
A message to notify an app that a pipeline changed playback
duration.
Also fix a GstMessage leak in -launch
Original commit message from CVS:
2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
* gst/base/gstbasesrc.c: (gst_base_src_get_range):
fix up debugging
* tools/gst-launch.c: (event_loop):
print out clock nicely
Original commit message from CVS:
* gst/gst-i18n-lib.h:
check for ENABLE_NLS, not GETTEXT_PACKAGE
* gst/gstregistry.c: (gst_registry_add_plugin),
(gst_registry_scan_path_level),
(_gst_registry_remove_cache_plugins):
protect possibly NULL strings
* gst/parse/types.h:
config.h already included before
* tools/gst-inspect.c: (main):
sys/wait.h also doesnt exist on mingw, so change the ifdef check
check for ENABLE_NLS, not GETTEXT_PACKAGE
* tools/gst-launch.c: (main):
check for ENABLE_NLS, not GETTEXT_PACKAGE
This commit brought to you from msys/mingw
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_parse_state_changed):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Added extra field to STATE_CHANGE message with the pending
state, which will be different from the new state soon.
Original commit message from CVS:
Print out feature and plugin count at the end when printing out
all features.
Also add a changelog entry which I'd written but not committed?
Original commit message from CVS:
* gst/gsterror.c: (_gst_stream_errors_init):
Add another error string used in a few existing plugins.
* gst/gstplugin.c:
* gst/gstpluginfeature.c: (gst_plugin_feature_load):
* tools/gst-inspect.c: (print_element_info):
When a feature disappears from a plugin (and the feature exists in
the cached registry file), things went horribly wrong. This isn't a
complete fix, we should actually be removing the 'missing' features
from the features list when we load the actual plugin. That's not
yet implemented.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
more end-user friendly.
* tools/gst-inspect.c: (main): Check if command-line argument is
a file and attempt to load that file as a plugin.
Original commit message from CVS:
* gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
* tools/gst-launch.c: (main):
The timeout handler should have lower priority than the source
so we don't timeout before popping a message with 0 timeout.
Dump error messages after failed state change.
Original commit message from CVS:
* check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
* check/gst/gstbus.c: (message_func_eos), (message_func_app),
(send_messages), (GST_START_TEST), (gstbus_suite):
* check/gst/gstpipeline.c: (GST_START_TEST):
* check/pipelines/cleanup.c: (run_pipeline):
* check/pipelines/simple_launch_lines.c: (run_pipeline),
(GST_START_TEST):
* gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
(gst_bus_source_check), (gst_bus_source_dispatch),
(gst_bus_create_watch), (gst_bus_add_watch_full),
(gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
* gst/gstbus.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
GstBusHandler -> GstBusFunc, return value has the same meaning as
any other GSource (FALSE == remove source).
_add_watch() and _add_watch_full() now take a MessageType mask to
only handle specific types of messages.
_poll() returns the GstMessage instead of the message type to avoid
race conditions.
_have_pending() takes a MessageType mask now too.
Added testsuite for multiple bus watches.
Fix testsuites and applications for new bus API.
Original commit message from CVS:
* check/Makefile.am:
* check/generic/states.c:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gst_private.h:
* gst/gstelementfactory.c:
* gst/gstindex.c:
* gst/gstinfo.c:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistry.c:
* gst/gstregistry.h:
* gst/gstregistrypool.c: remove
* gst/gstregistrypool.h: remove
* gst/gsttypefind.c:
* gst/gsttypefindfactory.c:
* gst/gsturi.c:
* tools/Makefile.am:
* tools/gst-compprep.c:
* tools/gst-inspect.c:
* tools/gst-register.c: remove
* tools/gst-xmlinspect.c:
Registry rewrite. Changes registry from being a file created
by a tool into a simple cache file created automatically by
libgstreamer. Removed gst-register (because it's no longer
needed). Remove registry pools, because we only have one
registry implementation (XML). Fix up other subsystems as
necessary.
Original commit message from CVS:
* configure.ac:
say what CHECK flags we use
* docs/libs/gstreamer-libs.types:
* libs/gst/controller/Makefile.am:
* libs/gst/controller/gst-controller.c:
* libs/gst/controller/gst-controller.h:
* libs/gst/controller/gst-helper.c:
* libs/gst/controller/gst-interpolation.c:
* libs/gst/controller/gstcontroller.c:
* libs/gst/controller/gsthelper.c:
* libs/gst/controller/gstinterpolation.c:
* tools/gst-inspect.c: (print_plugin_info):
we don't use dashes in header names
Original commit message from CVS:
add a source plugin description field, to represent the source
module this plugin is a part of. By default GST_PLUGIN_DEFINE
will set it to PACKAGE, which is automake's idea of the name of
the source project.
Original commit message from CVS:
2005-09-02 Andy Wingo <wingo@pobox.com>
* gst/gstelement.h (GstState): Renamed from GstElementState,
changed to be a normal enum instead of flags.
(GstStateChangeReturn): Renamed from GstElementStateReturn, names
munged to be GST_STATE_CHANGE_*.
(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
work with the new state representation.
(GstStateChange): New enumeration of possible state transitions.
Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
(GstElementClass::change_state): Pass the GstStateChange along as
an argument. Helps language bindings, so they don't have to use
tricky lock-needing macros like GST_STATE_CHANGE ().
* scripts/update-states (file): New script. Run it on a file to
update it for state naming and API changes. Updates files in
place.
* All files updated for the new API.
Original commit message from CVS:
* gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
* gst/gstutils.c: (gst_util_set_value_from_string),
(gst_util_set_object_arg):
fix a bunch of unchecked return values
* tools/gst-complete.c: (main):
* gstreamer.spec.in:
clean up a little
Original commit message from CVS:
* check/gst-libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
more tests
* docs/gst/tmpl/gstutils.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* docs/libs/tmpl/gstdataprotocol.sgml:
include path fixes
* examples/controller/audio-example.c: (main):
controller example works now
* gst/gstclock.h:
doc fixes
* tools/gst-inspect.c: (print_element_properties_info):
show param spec flags
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
that applications can sensibly post custom messages with references
to their own objects.
Original commit message from CVS:
* check/Makefile.am:
Use CHECK_CFLAGS and CHECK_LIBS
* check/gst/gstevent.c: (event_probe), (test_event),
(GST_START_TEST):
Don't leak events.
* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_start), (gst_base_src_stop),
(gst_base_src_activate_push), (gst_base_src_activate_pull),
(gst_base_src_change_state):
Sprinkle gst_base_src_stop liberally around error paths to fix
problems reusing a source after failed state changes.
* gst/base/gsttypefindhelper.c: (helper_find_peek),
(helper_find_suggest), (gst_type_find_helper):
Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
* gst/gstevent.h:
* docs/gst/tmpl/gstevent.sgml:
Migrate part of the docs from the SGML file. Wait for ensonic to
tell me how I did it wrong ;)
* tools/gst-typefind.c: (main):
Extra robustness to state changes between files.
Original commit message from CVS:
* tools/gst-launch.c: (check_intr), (event_loop), (main):
Don't block forever for the state change to complete, the
pipeline already did with a sensible timeout.
Original commit message from CVS:
Removed plugable schedulers.
Removed Scheduler/Manager from elements.
Removed gsttypes.h, rearranged includes.
Removed dependency pad<->element, element<>pipeline, and
various others, fix includes.
implement gst_pad_get_parent() with gst_object_get_parent()
Make GstTask sefcontained.
Fix _get_state() on GstBin, it did not return ASYNC with a 0
timeout.
Fix endless loop in iterator_fold_with_resync.
Original commit message from CVS:
2005-07-15 Andy Wingo <wingo@pobox.com>
* tools/gst-typefind.c: Update, add copyright block.
* gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
Normalize and truncate caps before fixation.
* gst/gstcaps.h:
* gst/gstcaps.c (gst_caps_truncate): New function, destructively
discards all but the first structure from its argument.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_state_changed):
* tools/gst-launch.c: (event_loop), (main):
Totally dump messages in -launch with the -m option.
Fix message name for State messages,
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
Added more debug info in the negotiate process.
* gst/gstmessage.h:
Prepare for segment playback.
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
Better debugging.
* gst/gstutils.c:
Some more docs.
* tools/gst-launch.c: (main):
NULL pipeline on errors.