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:
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'
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_string):
use deprecated g_value_set_string_take_ownership to keep compatible
with glib 2.2
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_string):
revert last patch, only dom a g_utf8_validate now before accepting
the string - caps parsing strips " from strings so we can't rely on
them
* testsuite/caps/value_serialize.c: (test_string_deserialization):
disable a test that tested the above and comment it
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_query):
Do query on realized pad, similar to how convert/send_event handle
this. Also makes sense, since this pad belongs to the function to
which this query will be sent. Fixes#158163.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_string):
check that a simple string that gets deserialized does not contain
invalid characters
* testsuite/caps/value_serialize.c: (test_string_deserialization):
remove a test that tested a wring behaviour
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/gstelementfactory.c: (gst_element_factory_create):
Fix compile failure if compiling without libxml2 support (#149936).
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (group_elements_set_visited),
(normalize_group), (gst_opt_scheduler_iterate):
Fix bug where a flag was not updated on a decoupled entry point
because we were just checking the group element list and decoupled
elements are not in that list..
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_compare_structures):
Simple caps go first. This has the nice side-effect of fixing an
obscure warning.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_schedule_run_queue), (schedule_chain),
(gst_opt_scheduler_get_wrapper):
When we're recursing into a chain run, only run the directly
related group, not all queued ones. This will fix a possible
deadlock in chains with more than two groups.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_is_negotiated),
(gst_pad_get_negotiated_caps):
GST_RPAD_* will only operate on a RealPad (it casts the pointer,
it doesn't actually check the contents), so be sure to hand it
a RealPad else we'll crash.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link), (gst_queue_handle_src_query):
Reverted to 1.110 until this makes the testsuite and various
apps work.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/gstelement.c: (gst_element_error_full):
Use g_error_new_literal because error text may have
percentage signs in it. Fixes#160019.
Original commit message from CVS:
* gst/elements/gstbufferstore.c:
(gst_buffer_store_add_buffer_func):
don't try to make subbuffers bigger than they can be. (fixes
#159970)
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_is_fixed_foreach):
* gst/gstpad.c: (_gst_pad_default_fixate_value),
(_gst_pad_default_fixate_foreach):
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
* gst/gstvalue.h:
Deprecate _type_is_fixed, use _value_is_fixed instead, since
in some cases (arrays), the fixedness depends on the content.
* gst/gstqueue.c: (gst_queue_handle_src_query):
Check for availability before doing something.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_negotiate_pads):
simplify
* gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
(gst_value_serialize_string), (gst_value_deserialize_string):
add unwrapping of previously wrapped strings. Fix bug in wrapping
while at it.
* testsuite/caps/value_serialize.c: (test1),
(test_string_serialization), (test_string_deserialization), (main):
add tests for string (de)serialization
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
(gst_thread_child_state_change), (gst_thread_main_loop):
Ref the thread object in the GThread mainloop. Break out of the
thread mainloop if it holds the last ref. This properly exits
the threads when disposing the thread from its own context. It
also avoids possible deadlocks in the dispose function.
Original commit message from CVS:
2004-11-24 Martin Soto <martinsoto@users.sourceforge.net>
* gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
it is necessary to wait.
Original commit message from CVS:
2004-11-23 Martin Soto <martinsoto@users.sourceforge.net>
* gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
(gst_queue_link_src): Allow for renegotiating the caps of the sink
pad. The queue will now wait until it is empty and forward the new
caps to the source.
* gst/gstbin.c (gst_bin_set_element_sched)
(gst_bin_unset_element_sched): Make sure that all elements and
links are registered and unregistered with the scheduler exactly
once. This elaborates on a fix by Benjamin Otte, but
guarantees that decoupled elements are also registered.
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:
* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
* gst/elements/gstidentity.c: (gst_identity_class_init):
Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
<teuf@gnome.org> (#157263).
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
(gst_type_find_handle_src_query):
Subtract size of internally stored data from position queries.
Original commit message from CVS:
2004-11-07 Martin Soto <martinsoto@users.sourceforge.net>
* gst/gstpad.c (gst_pad_collectv): Fix the return line.
(gst_pad_collect_valist): Fix gst_pad_collect_array
invocation. Apparently this functions were never tested.
Original commit message from CVS:
2004-11-07 Martin Soto <martinsoto@users.sourceforge.net>
* gst/schedulers/fairscheduler.c:
* gst/schedulers/faircothreads.c:
* gst/schedulers/faircothreads.h:
New cothread based scheduler: Fair scheduler.
* gst/schedulers/gthread-cothreads.h:
Add the standard #if around the whole file.
Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
compilation of the functions defined in this file. This is
necessary to be able to use this file as a normal header.
* gst/schedulers/Makefile.am: Add compiling support for fair
scheduler.
* docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
scheduler cothreads layer from documentation generation.
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
Don't crash if that function is not implemented.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (normalize_group), (group_migrate_connected),
(gst_opt_scheduler_iterate):
* testsuite/schedulers/.cvsignore:
* testsuite/schedulers/Makefile.am:
* testsuite/schedulers/queue_link.c: (main):
Added testcase for schduler segfault.
Fix scheduler segfault when removing a decoupled
entry point as the last element from a group.
Original commit message from CVS:
2004-11-03 Christophe Fergeau <teuf@gnome.org>
* gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is
a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(gst_opt_scheduler_iterate):
Aplied patch #154061. Running a pipeline in which an element
calls GST_ELEMENT_ERROR in the chain function, the opt
scheduler doesn't unref the chain so it never gets freed.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_get_abbrs),
(gst_structure_from_abbr), (gst_structure_to_abbr):
Remove that ugly if-then thing in the code that converts
between strings and types.
Original commit message from CVS:
* gst/gstscheduler.c: (gst_scheduler_add_element),
(gst_scheduler_remove_element), (gst_scheduler_state_transition):
Aplied clock distribution patch, this should fix bug
#148787.
Original commit message from CVS:
* gst/parse/parse.l:
* testsuite/parse/parse1.c: (main):
Since parse can do 'element name=a:b' make 'a:b.' work as
well.
Added testcase to verify fix.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
Subtract current queue contents from position queries.
Original commit message from CVS:
2004-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/elements/gstfakesrc.c: (gst_fakesrc_get):
Set element to EOS before sending EOS event
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Handle EOS events when doing the transition from
typefind to data passing. This should fix the
infinite loops in short files.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_change_state),
(gst_thread_child_state_change):
Make sure no iteration happens while performing
the state change as it could mess up the internal
consistency of the thread state.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
(gst_thread_change_state), (gst_thread_child_state_change):
Do not try to grab the iterate lock in the state change method
when we are in the same thread as the iterate or else we
could deadlock. Some other cleanups.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c: (stop_typefinding):
Push the buffer store instead of clearing it in case that
the stream is not seekable.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
(gst_thread_main_loop):
Lock the iteration and the state change so that automatic
negotiation and fixation does not happen at the same time
as the in stream negotiation.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_change_state):
Well, actually, I was about to remove this insane assert when
I noticed Wim already did that. A warning is nice so we can
fix actual ugs (using --g-fatal-warnings and backtraces), so
I added that instead.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
(gst_thread_change_state), (gst_thread_child_state_change),
(gst_thread_main_loop):
* gst/gstthread.h:
* testsuite/threads/Makefile.am:
* testsuite/threads/queue.c:
* testsuite/threads/thread.c: (construct_pipeline), (change_state),
(main):
* testsuite/threads/threadc.c: (construct_pipeline):
* testsuite/threads/threadd.c: (main):
* testsuite/threads/threade.c: (main):
* testsuite/threads/threadf.c:
Reworked the GstThread implementation, make more operations
threadsafe and more reliable.
Moved testcases from the failing to the working list.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
(gst_element_threadsafe_properties_post_run),
(gst_element_set_state), (gst_element_change_state):
Added extra refcounting around various places.
Original commit message from CVS:
* gst/autoplug/gstspider.c: (gst_spider_class_init),
(gst_spider_identity_plug):
add a template for spider's sink
* gst/gst.c: (gst_register_core_elements):
queue's rank should be NULL, we don't want spider to add it.
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
work with non-regular files that can be mmapped (like /dev/zero)
* gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
get rid of typefinds that require a seek when we can't seek instead
of trying them over and over again
* tools/gst-launch.c: (idle_func), (error_cb), (main):
return non-zero failure value when the pipeline was interrupted or
an error occurred
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstscheduler.c: (gst_scheduler_register):
* gst/gstscheduler.h:
add gst_scheduler_register shortcut similar to gst_element_register
* gst/schedulers/entryscheduler.c: (plugin_init):
* gst/schedulers/gstbasicscheduler.c: (plugin_init):
* gst/schedulers/gstoptimalscheduler.c: (plugin_init):
use it
Original commit message from CVS:
2004-08-10 Colin Walters <walters@redhat.com>
* gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
Don't use O_EXCL to open temporary registry. It will prevent
registry creation if a temporary one already exists, which
is unnecessary.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_empty_new_with_size),
(gst_structure_id_empty_new), (gst_structure_empty_new),
(gst_structure_copy):
add gst_structure_id_empty_new_with_size to allow preallocating
value array sizes. Use this in gst_structure_copy to get rid of
reallocs.
don't do quark=>string=>quark when copying structures
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_remove_element):
fix for GST_DISABLE_DEBUG
* tools/gst-launch.c: (print_tag):
fixes for G_DISABLE_ASSERT
Original commit message from CVS:
* gst/gst.c: (gst_register_core_elements):
fix for G_DISABLE_ASSERT
* gst/gstinfo.c: (__gst_in_valgrind):
add for GST_DISABLE_DEBUG
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type),
(gst_bin_child_state_change_func):
* gst/gstthread.c: (gst_thread_change_state):
Backported some debug logging from a reverted patch
Don't try to destroy the thread twice. Added some more
debugging in GstThread. Unlock and signal even if we
are in the thread context.