Tim-Philipp Müller [Thu, 1 Nov 2007 21:50:05 +0000 (21:50 +0000)]
g_type_class_ref() other types as well, see #349410 and #64764.
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstevent.c: (_gst_event_initialize):
* gst/gstquery.c: (_gst_query_initialize):
* libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
g_type_class_ref() other types as well, see #349410 and #64764.
* gst/gstbuffer.c: (_gst_buffer_initialize):
* gst/gstmessage.c: (_gst_message_initialize):
Simplify existing g_type_class_ref().
Tim-Philipp Müller [Thu, 1 Nov 2007 20:10:48 +0000 (20:10 +0000)]
gst/gstformat.c: g_type_class_ref() our GstFormat type to make sure we avoid the thread-unsafe bits of the GObject/GT...
Original commit message from CVS:
* gst/gstformat.c: (_gst_format_initialize):
g_type_class_ref() our GstFormat type to make sure we avoid the
thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
bug #64764. Should fix intermittent tee unit test failures (#474823).
Tim-Philipp Müller [Thu, 1 Nov 2007 19:19:10 +0000 (19:19 +0000)]
tests/check/elements/tee.c: Simplify, simplify, simplify - or not. Rewrite unit test not to use gst_parse_launch(); ...
Original commit message from CVS:
* tests/check/elements/tee.c: (test_num_buffers):
Simplify, simplify, simplify - or not. Rewrite unit test
not to use gst_parse_launch(); allow N sub-streams. Increasing
the number of sub-streams seems to reproduce #474823 more easily.
Ole André Vadla Ravnås [Wed, 31 Oct 2007 22:01:03 +0000 (22:01 +0000)]
Fix a couple of missing includes for MSVC2005 and a C99 issue. Also, starting with 2.14.0, GLib won't provide a pipe(...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
* gst/gsttrace.c:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
* libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
starting with 2.14.0, GLib won't provide a pipe() macro any longer,
so use _pipe() directly (#492077).
* win32/common/dirent.c: (_treaddir):
Add a couple of casts to make it build without warnings with MSVC.
* win32/common/libgstreamer.def:
Add some more symbols that need to be exported.
Tim-Philipp Müller [Wed, 31 Oct 2007 18:08:21 +0000 (18:08 +0000)]
tests/examples/metadata/read-metadata.c: Use _KEEP as merge mode rather than _KEEP_ALL, so tags arriving in a second ...
Original commit message from CVS:
* tests/examples/metadata/read-metadata.c: (message_loop):
Use _KEEP as merge mode rather than _KEEP_ALL, so tags
arriving in a second or third tag message are added to
the tag list as well.
Stefan Kost [Wed, 31 Oct 2007 13:01:34 +0000 (13:01 +0000)]
libs/gst/base/gstbasesrc.c: Its "Since:" and not "@Since:". And remove an superflous cast.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c:
Its "Since:" and not "@Since:". And remove an superflous cast.
Wim Taymans [Tue, 30 Oct 2007 18:30:13 +0000 (18:30 +0000)]
Add a new last-buffer property that contains the last buffer used in basesink for preroll or rendering. useful for ma...
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
(gst_base_sink_get_property), (gst_base_sink_render_object),
(gst_base_sink_preroll_object),
(gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
(gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add a new last-buffer property that contains the last buffer used in
basesink for preroll or rendering. useful for making snapshots.
API: gst_base_sink_get_last_buffer()
API: GstBaseSink::last-buffer
Stefan Kost [Mon, 29 Oct 2007 13:46:25 +0000 (13:46 +0000)]
Improve bin graph dumping, by using the envvar to specify a path.
Original commit message from CVS:
* docs/gst/running.xml:
* gst/gst.c:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* tools/gst-launch.c:
Improve bin graph dumping, by using the envvar to specify a path.
Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
Tim-Philipp Müller [Mon, 29 Oct 2007 13:10:01 +0000 (13:10 +0000)]
plugins/elements/gsttypefindelement.c: Post special error message if we can't determine the type of a stream because ...
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event),
(gst_type_find_element_activate):
Post special error message if we can't determine the type of a stream
because it's empty.
Stefan Kost [Mon, 29 Oct 2007 10:05:55 +0000 (10:05 +0000)]
Document new env-var. Add one log-line after dumpng a graph.
Original commit message from CVS:
* docs/gst/running.xml:
* gst/gstdebugutils.c:
Document new env-var. Add one log-line after dumpng a graph.
Tim-Philipp Müller [Fri, 26 Oct 2007 18:39:03 +0000 (18:39 +0000)]
configure.ac: Ugly hack to put the (recently removed and non-portable, apparently)
Original commit message from CVS:
* configure.ac:
Ugly hack to put the (recently removed and non-portable, apparently)
-Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
GNU ld, because without that 'make check' fails miserably on my debian
stable box. Someone with more knowledge of linker intricacies and
portability issues than me fix this properly please.
Wim Taymans [Thu, 25 Oct 2007 17:20:47 +0000 (17:20 +0000)]
libs/gst/base/gstbasesink.c: Reset last seen position after flushing so that we don't report the old position anymore.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_event):
Reset last seen position after flushing so that we don't report the old
position anymore.
Alessandro Decina [Thu, 25 Oct 2007 16:19:05 +0000 (16:19 +0000)]
gst/: Patch from Alessandro Decina adding get_type_full and get_protocols_full private vfuncs to the URIHandler inter...
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
* gst/gsturi.h:
Patch from Alessandro Decina adding get_type_full and
get_protocols_full private vfuncs to the URIHandler interface
to allow bindings to support creating URI handlers.
Partially fixes: #339279
API: GstURIHandlerInterface::get_type_full
API: GstURIHandlerInterface::get_protocols_full
Jan Schmidt [Thu, 25 Oct 2007 15:14:02 +0000 (15:14 +0000)]
plugins/elements/gstmultiqueue.c: Make it so that pads are considered linked until a buffer is pushed and discovered ...
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
(gst_multi_queue_request_new_pad), (gst_single_queue_flush),
(gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
Make it so that pads are considered linked until a buffer is pushed
and discovered otherwise. This avoids problems with decodebin2 hanging
after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
case.
Make sure we lock the multiqueue when updating the max-size properties.
Fix a crash on Solaris in a debug statement in get_request_pad that
passes a NULL string to GST_DEBUG.
* tests/check/elements/multiqueue.c: (mq_dummypad_chain),
(run_output_order_test):
Fix the test to allow the first buffer on not-linked pads to come out
of sequence while multiqueue discovers that they are not-linked.
Jan Schmidt [Thu, 25 Oct 2007 14:50:48 +0000 (14:50 +0000)]
Use a custom export symbol regex for libgstcheck, as it needs to export symbols that don't match the standard GStream...
Original commit message from CVS:
* configure.ac:
* libs/gst/check/Makefile.am:
Use a custom export symbol regex for libgstcheck, as it needs
to export symbols that don't match the standard GStreamer gst_*
pattern, and --export-dynamic is not portable (only works on
GNU ld)
* libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
(gst_check_setup_sink_pad):
Make sure to pass a message parameter to the fail_* macros.
* tests/check/gst/gstinfo.c: (GST_START_TEST):
Fix some compiler warnings.
Tim-Philipp Müller [Thu, 25 Oct 2007 14:41:01 +0000 (14:41 +0000)]
tests/check/gst/gststructure.c: Disable test that checks that white spaces are not allowed in structure names or fiel...
Original commit message from CVS:
* tests/check/gst/gststructure.c: (test_to_string):
Disable test that checks that white spaces are not allowed
in structure names or field names, since we need to
support that for now for backwards compatibility reasons.
Tim-Philipp Müller [Wed, 24 Oct 2007 13:13:56 +0000 (13:13 +0000)]
API: add GST_TAG_ARTIST_SORTNAME
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
API: add GST_TAG_ARTIST_SORTNAME
API: add GST_TAG_ALBUM_SORTNAME
API: add GST_TAG_TITLE_SORTNAME
Add tag variants for sorting (#414539).
Tim-Philipp Müller [Wed, 24 Oct 2007 13:00:58 +0000 (13:00 +0000)]
gst/gststructure.c: Also allow white space for names so we don't break backwards compatibility.
Original commit message from CVS:
* gst/gststructure.c:
Also allow white space for names so we don't break
backwards compatibility.
Wim Taymans [Mon, 22 Oct 2007 15:37:43 +0000 (15:37 +0000)]
docs/design/: Small updates.
Original commit message from CVS:
* docs/design/part-TODO.txt:
* docs/design/part-segments.txt:
* docs/design/part-streams.txt:
Small updates.
Edgard Lima [Mon, 22 Oct 2007 11:32:14 +0000 (11:32 +0000)]
docs/gst/gstreamer-sections.txt: Fixed documentation from my previous commit (added new API add gst_value_set_structu...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Fixed documentation from my previous commit (added new API add
gst_value_set_structure(), add gst_value_get_structure() and
GST_VALUE_HOLDS_STRUCTURE).
Stefan Kost [Mon, 22 Oct 2007 11:10:28 +0000 (11:10 +0000)]
gst/gstdebugutils.c: Reflow code to fix uninitialized variable warning.
Original commit message from CVS:
* gst/gstdebugutils.c:
Reflow code to fix uninitialized variable warning.
Edgard Lima [Mon, 22 Oct 2007 08:53:26 +0000 (08:53 +0000)]
Added GstStructure to gst_value_table and its related functions.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_to_string),
(gst_caps_from_string_inplace):
* gst/gststructure.c: (gst_structure_get_abbrs),
(gst_structure_to_string), (gst_structure_from_string):
* gst/gstvalue.c: (gst_value_set_structure),
(gst_value_get_structure), (gst_value_serialize_structure),
(gst_value_deserialize_structure), (_gst_value_initialize):
* gst/gstvalue.h:
* tests/check/gst/gststructure.c: (GST_START_TEST),
(gst_structure_suite):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Added GstStructure to gst_value_table and its related functions.
Changed gst_structure_to_string to print ';' in the end.
Changed gst_caps_to_string to not print ';' beteween its
fields (structures) anymore and remove the lastes ';' from latest
structure. Now it is possible to have nested structures.
In addition, backward compatibilty is assured by accepting '\0' as
end delimiter. Fixes: #487969.
API: add gst_value_set_structure()
API: add gst_value_get_structure()
Tim-Philipp Müller [Fri, 19 Oct 2007 09:48:38 +0000 (09:48 +0000)]
gst/gstbus.c: When no GSource callback has been set up, tell developer to use a function that actually exists.
Original commit message from CVS:
* gst/gstbus.c:
When no GSource callback has been set up, tell developer
to use a function that actually exists.
Stefan Kost [Wed, 17 Oct 2007 12:58:23 +0000 (12:58 +0000)]
Allow dumping pipelines as dot graphs. Fixes #456573.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* gst/gstinfo.c:
* gst/gstinfo.h:
* tools/gst-launch.c:
Allow dumping pipelines as dot graphs. Fixes #456573.
Tim-Philipp Müller [Tue, 16 Oct 2007 21:48:23 +0000 (21:48 +0000)]
gst/gststructure.c: Allow '+' as well, it can be part of media or mime types such as image/svg+xml.
Original commit message from CVS:
* gst/gststructure.c:
Allow '+' as well, it can be part of media or mime types
such as image/svg+xml.
Tim-Philipp Müller [Tue, 16 Oct 2007 20:30:13 +0000 (20:30 +0000)]
API: add gst_bus_pop_filtered
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbus.c:
* gst/gstbus.h:
API: add gst_bus_pop_filtered
API: add gst_bus_timed_pop_filtered
Two new functions for waiting for specific message types on the
bus for a specified amount of time without iterating any main
loops or main contexts.
* tests/check/gst/gstbus.c:
Some tests for the new functions.
Tim-Philipp Müller [Tue, 16 Oct 2007 17:21:38 +0000 (17:21 +0000)]
docs/libs/gstreamer-libs-sections.txt: Make gtk-doc ignore stuff it should ignore.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Make gtk-doc ignore stuff it should ignore.
Tim-Philipp Müller [Tue, 16 Oct 2007 16:12:36 +0000 (16:12 +0000)]
libs/gst/check/gstcheck.*: Allow runtime selection of unit tests to run via the GST_CHECKS environment variable (test...
Original commit message from CVS:
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
Allow runtime selection of unit tests to run via the GST_CHECKS
environment variable (test case function names, comma-separated).
Stefan Kost [Tue, 16 Oct 2007 13:58:43 +0000 (13:58 +0000)]
Revert serialisation change and constrain structure-names after consensus on irc. Update api documentation to reflect...
Original commit message from CVS:
* gst/gststructure.c:
* tests/check/gst/gststructure.c:
Revert serialisation change and constrain structure-names after
consensus on irc. Update api documentation to reflect the change.
Stefan Kost [Tue, 16 Oct 2007 06:32:07 +0000 (06:32 +0000)]
gst/gststructure.c: Improve serialization and fix tests.
Original commit message from CVS:
* gst/gststructure.c:
Improve serialization and fix tests.
* tests/check/gst/gststructure.c:
Add another test that covers why I actually did the previous structure
change.
Wim Taymans [Mon, 15 Oct 2007 14:33:16 +0000 (14:33 +0000)]
tools/gst-inspect.c: Don't crash when inspecting an element.
Original commit message from CVS:
* tools/gst-inspect.c: (print_element_info):
Don't crash when inspecting an element.
Tim-Philipp Müller [Mon, 15 Oct 2007 11:58:16 +0000 (11:58 +0000)]
tests/check/gst/gststructure.c: Add unit test for escaping of structure name when serialising and deserialising to/fr...
Original commit message from CVS:
* tests/check/gst/gststructure.c:
Add unit test for escaping of structure name when serialising
and deserialising to/from strings.
Wim Taymans [Mon, 15 Oct 2007 11:36:37 +0000 (11:36 +0000)]
plugins/elements/: Fix queue negotiation. If acceptcaps unconditionally returns TRUE, upstream is tricked into thinki...
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
(gst_single_queue_new):
* plugins/elements/gstqueue.c: (gst_queue_init),
(gst_queue_push_one):
Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
upstream is tricked into thinking it can suggest a format downstream
while downstream does not support that format. The real problem is that
core calls acceptcaps when pushing a buffer with new caps, for which we
do a little workaround by setting the caps on the srcpad ourselves
before pushing the buffer (until this is figured out). Fixes #486758.
Stefan Kost [Mon, 15 Oct 2007 11:19:36 +0000 (11:19 +0000)]
gst/: Add some more comments and debug output. Quote structure name to fix deserialisation of some strings.
Original commit message from CVS:
* gst/gststructure.c:
* gst/gstvalue.c:
Add some more comments and debug output. Quote structure name to fix
deserialisation of some strings.
Stefan Kost [Mon, 15 Oct 2007 07:37:37 +0000 (07:37 +0000)]
gst/gstbuffer.h: Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based on it. Fix docs for GST_BUFFE...
Original commit message from CVS:
* gst/gstbuffer.h:
Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
Stefan Kost [Mon, 15 Oct 2007 07:11:04 +0000 (07:11 +0000)]
tools/gst-inspect.c: Save approx. 400 1 byte allocs when printing. Use API to acces element details.
Original commit message from CVS:
* tools/gst-inspect.c:
Save approx. 400 1 byte allocs when printing. Use API to acces element
details.
* tools/gst-run.c:
Avoid a strdup.
* tools/gst-xmlinspect.c:
Use API to acces element details.
Stefan Kost [Mon, 15 Oct 2007 06:52:01 +0000 (06:52 +0000)]
gst/gstinfo.c: Fix some spelling errors.
Original commit message from CVS:
* gst/gstinfo.c:
Fix some spelling errors.
Wim Taymans [Sun, 14 Oct 2007 15:54:02 +0000 (15:54 +0000)]
gst/gstbin.c: Correctly set the next state if all of our async children commited their state. This makes sure we can ...
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_done):
Correctly set the next state if all of our async children commited their
state. This makes sure we can actually cancel the state change in
progress. Fixes a regression in Rhythmbox when seeking.
Tim-Philipp Müller [Sat, 13 Oct 2007 17:43:27 +0000 (17:43 +0000)]
gst/gstbin.c: Don't shadow local variable.
Original commit message from CVS:
* gst/gstbin.c:
Don't shadow local variable.
* gst/gstinfo.c:
Don't shadow global function name.
Tim-Philipp Müller [Sat, 13 Oct 2007 17:20:09 +0000 (17:20 +0000)]
gst/: Use already-interned string for the private GstPluginFeature plugin_name field.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
* gst/gsttypefind.c:
Use already-interned string for the private GstPluginFeature
plugin_name field.
Tim-Philipp Müller [Wed, 10 Oct 2007 22:43:11 +0000 (22:43 +0000)]
docs/libs/gstreamer-libs-sections.txt: Add new API to docs; fixes the build.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Add new API to docs; fixes the build.
Wim Taymans [Wed, 10 Oct 2007 15:18:44 +0000 (15:18 +0000)]
libs/gst/base/gstbasesink.*: Add function to wait for EOS, subclasses can use this to correctly wait for devices to d...
Original commit message from CVS:
Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
(gst_base_sink_event):
* libs/gst/base/gstbasesink.h:
Add function to wait for EOS, subclasses can use this to correctly wait
for devices to drain before performing the EOS logic. Fixes #485343.
API: gst_base_sink_wait_eos()
Tim-Philipp Müller [Wed, 10 Oct 2007 10:53:39 +0000 (10:53 +0000)]
gst/gstplugin.h: Cast description string constants in GST_PLUGIN_DEFINE macros to a (gchar*) to make C++ code using t...
Original commit message from CVS:
* gst/gstplugin.h:
Cast description string constants in GST_PLUGIN_DEFINE macros
to a (gchar*) to make C++ code using these macros compile
without warning with g++-4.2 (see #462737). Even if slightly
ugly, this seems preferable to putting the description strings
into the GLib quark table or making the structure member a
const gchar * and doing casts in core code that allocs and
frees these strings, or requiring a cast in the C++ code.
Tim-Philipp Müller [Tue, 9 Oct 2007 20:45:13 +0000 (20:45 +0000)]
gst/gstinfo.h: Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly to print the entire class/function signatu...
Original commit message from CVS:
* gst/gstinfo.h:
Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
to print the entire class/function signature into the log
file for C++ code. This only affects C++ code, for C code
everything remains the same.
Wim Taymans [Tue, 9 Oct 2007 16:20:59 +0000 (16:20 +0000)]
gst/gstbin.c: Work around a problem with pipelines containing (semi)loops until a proper, more complicated solution i...
Original commit message from CVS:
* gst/gstbin.c: (remove_from_queue):
Work around a problem with pipelines containing (semi)loops until a
proper, more complicated solution is ready. See #475455.
Tim-Philipp Müller [Tue, 9 Oct 2007 14:18:39 +0000 (14:18 +0000)]
gst/: Put more strings into the GLib quark table. No need to keep a hundred-something copies of identical version str...
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
Put more strings into the GLib quark table. No need to keep
a hundred-something copies of identical version strings,
license strings, package name strings and package origin
strings around.
Tim-Philipp Müller [Tue, 9 Oct 2007 10:41:41 +0000 (10:41 +0000)]
docs/manual/advanced-dataaccess.xml: Don't imply that it's okay to unconditionally change buffer data or buffer metad...
Original commit message from CVS:
* docs/manual/advanced-dataaccess.xml:
Don't imply that it's okay to unconditionally change
buffer data or buffer metadata in a pad probe callback,
and a bunch of other comments. Fixes #430031.
Tim-Philipp Müller [Mon, 8 Oct 2007 20:45:07 +0000 (20:45 +0000)]
win32/common/: Update generated files.
Original commit message from CVS:
* win32/common/gstenumtypes.c:
* win32/common/gstenumtypes.h:
* win32/common/gstversion.h:
Update generated files.
Tim-Philipp Müller [Mon, 8 Oct 2007 17:59:35 +0000 (17:59 +0000)]
docs/manual/advanced-autoplugging.xml: Prefix section with broken code with a warning (see #342432).
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml:
Prefix section with broken code with a warning (see #342432).
Tim-Philipp Müller [Mon, 8 Oct 2007 17:26:09 +0000 (17:26 +0000)]
docs/manual/: Call g_thread_init() before g_option_context_new() to avoid warnings. Spotted by Ritesh Khadgaray. Fixe...
Original commit message from CVS:
* docs/manual/appendix-integration.xml:
* docs/manual/basics-init.xml:
Call g_thread_init() before g_option_context_new() to
avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
Wim Taymans [Mon, 8 Oct 2007 17:05:06 +0000 (17:05 +0000)]
libs/gst/base/gstbasesink.c: When we received EOS and are waiting for when to post the EOS message, our state is prer...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
(gst_base_sink_queue_object_unlocked),
(gst_base_sink_queue_object), (gst_base_sink_event),
(gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
When we received EOS and are waiting for when to post the EOS message,
our state is prerolled and we should not return ASYNC.
Reorganize some code paths to implement this behavior.
* tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
(gst_sinks_suite):
Add unit test to verify above EOS fix.
Wim Taymans [Mon, 8 Oct 2007 10:28:18 +0000 (10:28 +0000)]
plugins/elements/gsttypefindelement.c: Move detecting the input caps of the sinkpad to the setcaps function.
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init),
(gst_type_find_element_setcaps), (gst_type_find_element_chain):
Move detecting the input caps of the sinkpad to the setcaps function.
This allows us to update the output caps when we receive new input caps
instead of always using the first detected caps.
Wim Taymans [Mon, 8 Oct 2007 10:21:15 +0000 (10:21 +0000)]
libs/gst/base/gstbasesink.c: Don't try to preroll non-async elements after a flush.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_event),
(gst_base_sink_get_position):
Don't try to preroll non-async elements after a flush.
Subtract latency form clock times when reporting position.
Wim Taymans [Fri, 5 Oct 2007 14:44:18 +0000 (14:44 +0000)]
gst/: Small comment and documentation update.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_pause_task):
* gst/gstutils.c:
Small comment and documentation update.
Wim Taymans [Fri, 5 Oct 2007 14:40:06 +0000 (14:40 +0000)]
libs/gst/base/gstbasesrc.c: Rework the locking of basesrc in a similar fashion to basesink. We basically have one loc...
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_set_live), (gst_base_src_is_live),
(gst_base_src_query_latency), (gst_base_src_perform_seek),
(gst_base_src_default_event), (gst_base_src_wait),
(gst_base_src_do_sync), (gst_base_src_get_range),
(gst_base_src_pad_get_range), (gst_base_src_loop),
(gst_base_src_unlock), (gst_base_src_unlock_stop),
(gst_base_src_set_flushing), (gst_base_src_set_playing),
(gst_base_src_activate_push), (gst_base_src_activate_pull),
(gst_base_src_change_state):
Rework the locking of basesrc in a similar fashion to basesink. We
basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
us to handle live sources and semi live ones much better.
Simplify flushing.
Fix unlocking when seeking, shutting down and pausing in live sources.
Wim Taymans [Fri, 5 Oct 2007 11:52:39 +0000 (11:52 +0000)]
tests/check/pipelines/simple-launch-lines.c: Fix compilation again.
Original commit message from CVS:
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
Fix compilation again.
Stefan Kost [Wed, 3 Oct 2007 15:27:24 +0000 (15:27 +0000)]
gst/gstelement.c: Use meaningful categories for the logs to clean the default one.
Original commit message from CVS:
* gst/gstelement.c:
Use meaningful categories for the logs to clean the default one.
Stefan Kost [Wed, 3 Oct 2007 15:05:30 +0000 (15:05 +0000)]
tests/check/pipelines/cleanup.c: Print message name and not just number.
Original commit message from CVS:
* tests/check/pipelines/cleanup.c:
Print message name and not just number.
Stefan Kost [Wed, 3 Oct 2007 15:02:43 +0000 (15:02 +0000)]
docs/design/draft-tagreading.txt: Add some more thoughts.
Original commit message from CVS:
* docs/design/draft-tagreading.txt:
Add some more thoughts.
Stefan Kost [Wed, 3 Oct 2007 14:51:03 +0000 (14:51 +0000)]
tests/check/pipelines/simple-launch-lines.c: Print message name and not just number.
Original commit message from CVS:
* tests/check/pipelines/simple-launch-lines.c:
Print message name and not just number.
Stefan Kost [Wed, 3 Oct 2007 12:05:17 +0000 (12:05 +0000)]
libs/gst/base/gsttypefindhelper.c: Speedup typefinding. This is work in progress (see #459862).
Original commit message from CVS:
* libs/gst/base/gsttypefindhelper.c:
Speedup typefinding. This is work in progress (see #459862).
Stefan Kost [Wed, 3 Oct 2007 11:36:14 +0000 (11:36 +0000)]
gst/gstplugin.c: Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
Original commit message from CVS:
* gst/gstplugin.c:
Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
Spotted by Josep Torra Valles <josep@fluendo.com>.
Tim-Philipp Müller [Wed, 3 Oct 2007 11:16:48 +0000 (11:16 +0000)]
gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags field has moved to GstObject.
Original commit message from CVS:
* gst/gstclock.h:
Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
field has moved to GstObject.
Wim Taymans [Tue, 2 Oct 2007 15:20:58 +0000 (15:20 +0000)]
libs/gst/base/gstbasesrc.c: Call unlock for live sources so that they can't get stuck in _create and produce a buffer...
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
(gst_base_src_get_range), (gst_base_src_change_state):
Call unlock for live sources so that they can't get stuck in _create and
produce a buffer before they are set back to PLAYING.
Edward Hervey [Tue, 2 Oct 2007 09:21:48 +0000 (09:21 +0000)]
plugins/elements/gstqueue.c: Comment the segment-related code... in the PROPER function.
Original commit message from CVS:
* plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
(gst_queue_locked_dequeue):
Comment the segment-related code... in the PROPER function.
See #482147 and my commit from yesterday.
Wim Taymans [Mon, 1 Oct 2007 17:59:21 +0000 (17:59 +0000)]
libs/gst/base/gstbasesrc.c: Also initialize the counter that calculates the first timestamp on a buffer correctly for...
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
Also initialize the counter that calculates the first timestamp on a
buffer correctly for non-live sources.
Edward Hervey [Mon, 1 Oct 2007 12:31:28 +0000 (12:31 +0000)]
plugins/elements/gstqueue.c: Disable code that's breaking the current-time-level reporting.
Original commit message from CVS:
* plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
Disable code that's breaking the current-time-level reporting.
See #482147
Sebastian Dröge [Sun, 30 Sep 2007 18:16:34 +0000 (18:16 +0000)]
docs/gst/gstreamer-sections.txt: Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section as they should...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
as they shouldn't show up. Fixes the docs build.
Sébastien Moutte [Sat, 29 Sep 2007 11:46:31 +0000 (11:46 +0000)]
gst/gstinfo.h: Add an explicit variable importation needed on VS6 (only for MSC_VER)
Original commit message from CVS:
* gst/gstinfo.h:
Add an explicit variable importation needed on VS6 (only for MSC_VER)
Define M_PI which is used in files which are including gstinfo.h.
VS6 includes doesn't define it.
* win32/common/libgstbase.def:
* win32/common/libgstcontroller.def:
* win32/common/libgstreamer.def:
Add new exported functions and variables.
* win32/vs6/libgstcontroller.dsp:
* win32/vs6/libgstreamer.dsp:
Update the list of files to build.
Felipe Contreras [Fri, 28 Sep 2007 10:22:40 +0000 (10:22 +0000)]
plugins/elements/gstqueue.c: Improve debugging. Fixes #480858.
Original commit message from CVS:
Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
* plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
(gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
(gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
Improve debugging. Fixes #480858.
Felipe Contreras [Fri, 28 Sep 2007 10:15:23 +0000 (10:15 +0000)]
plugins/elements/gstqueue.c: First patch of code cleanups, use the macros and right arguments in the macros to signal...
Original commit message from CVS:
Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
First patch of code cleanups, use the macros and right arguments in the
macros to signal and lock the queue. See #480858.
Wim Taymans [Wed, 26 Sep 2007 18:06:42 +0000 (18:06 +0000)]
gst/gstbus.c: Improve debugging when dealing with _poll().
Original commit message from CVS:
* gst/gstbus.c: (poll_func):
Improve debugging when dealing with _poll().
Tim-Philipp Müller [Wed, 26 Sep 2007 18:04:42 +0000 (18:04 +0000)]
gst/gstregistryxml.c: Fix memory leak I introduced a few days ago.
Original commit message from CVS:
* gst/gstregistryxml.c:
Fix memory leak I introduced a few days ago.
Michael Smith [Wed, 26 Sep 2007 17:00:22 +0000 (17:00 +0000)]
gst/gstbuffer.c: Make it once again possible to free GstBuffers in the default build.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Make it once again possible to free GstBuffers in the default
build.
The poisoning scribbles on parts of the miniobject we need in
order to free it.
Fixes #480341
Tim-Philipp Müller [Tue, 25 Sep 2007 18:35:39 +0000 (18:35 +0000)]
API: add GST_TAG_COMPOSER, fixes #459809.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
API: add GST_TAG_COMPOSER, fixes #459809.
Sebastian Dröge [Mon, 24 Sep 2007 17:41:25 +0000 (17:41 +0000)]
gst/gstplugin.*: Add the 3-clause BSD license and the MIT/X11 license to the license list. Fixes #479784.
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstplugin.h:
Add the 3-clause BSD license and the MIT/X11 license to the license
list. Fixes #479784.
Tim-Philipp Müller [Mon, 24 Sep 2007 17:22:21 +0000 (17:22 +0000)]
docs/faq/getting.xml: Add Q+A about different GStreamer versions (#364056).
Original commit message from CVS:
* docs/faq/getting.xml:
Add Q+A about different GStreamer versions (#364056).
Wim Taymans [Mon, 24 Sep 2007 12:46:17 +0000 (12:46 +0000)]
libs/gst/base/gstbasesink.c: Return correct gboolean from query function.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
(gst_base_sink_event), (gst_base_sink_change_state):
Return correct gboolean from query function.
Wim Taymans [Mon, 24 Sep 2007 12:29:23 +0000 (12:29 +0000)]
libs/gst/base/gstbasesink.c: Simplify latency query.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
(gst_base_sink_event), (gst_base_sink_query),
(gst_base_sink_change_state):
Simplify latency query.
When not synchronizing, we can report latency without querying the peer
element.
Wim Taymans [Mon, 24 Sep 2007 11:46:35 +0000 (11:46 +0000)]
gst/: Fix small typos in the docs.
Original commit message from CVS:
* gst/gstobject.h:
* gst/gstvalue.c:
Fix small typos in the docs.
Wim Taymans [Mon, 24 Sep 2007 11:22:26 +0000 (11:22 +0000)]
docs/design/: Documentation updates and typo fixes.
Original commit message from CVS:
* docs/design/draft-latency.txt:
* docs/design/draft-push-pull.txt:
* docs/design/draft-tagreading.txt:
* docs/design/part-MT-refcounting.txt:
* docs/design/part-activation.txt:
* docs/design/part-block.txt:
* docs/design/part-element-source.txt:
* docs/design/part-events.txt:
* docs/design/part-gstbin.txt:
* docs/design/part-gstelement.txt:
* docs/design/part-gstobject.txt:
* docs/design/part-gstpipeline.txt:
* docs/design/part-messages.txt:
* docs/design/part-preroll.txt:
* docs/design/part-push-pull.txt:
* docs/design/part-qos.txt:
* docs/design/part-query.txt:
* docs/design/part-scheduling.txt:
* docs/design/part-seeking.txt:
* docs/design/part-segments.txt:
* docs/design/part-states.txt:
Documentation updates and typo fixes.
Tim-Philipp Müller [Sun, 23 Sep 2007 10:16:49 +0000 (10:16 +0000)]
plugins/elements/gstfakesink.c: Add some debug text to error message to indicate that we errored out on request.
Original commit message from CVS:
* plugins/elements/gstfakesink.c:
Add some debug text to error message to indicate that
we errored out on request.
* tools/gst-launch.c:
When the state change to PLAYING fails, check for an
error message on the bus and print it.
Thomas Vander Stichele [Sat, 22 Sep 2007 17:22:10 +0000 (17:22 +0000)]
updated translations
Original commit message from CVS:
updated translations
Thomas Vander Stichele [Sat, 22 Sep 2007 17:18:52 +0000 (17:18 +0000)]
po/: Added Spanish translation.
Original commit message from CVS:
translated by: Jorge González González <aloriel@gmail.com>
* po/LINGUAS:
* po/es.po:
Added Spanish translation.
Wim Taymans [Fri, 21 Sep 2007 14:37:38 +0000 (14:37 +0000)]
plugins/elements/gstqueue.c: Fix printf arguments.
Original commit message from CVS:
* plugins/elements/gstqueue.c: (gst_queue_push_one):
Fix printf arguments.
Stefan Kost [Thu, 20 Sep 2007 10:36:23 +0000 (10:36 +0000)]
tests/check/generic/states.c: Improved state change unit test.
Original commit message from CVS:
* tests/check/generic/states.c:
Improved state change unit test.
Stefan Kost [Thu, 20 Sep 2007 07:42:35 +0000 (07:42 +0000)]
gst/gstbin.h: Move priv to the right place.
Original commit message from CVS:
* gst/gstbin.h:
Move priv to the right place.
* gst/gstsystemclock.c:
Add FIXME: and improve log.
* tests/check/Makefile.am:
* tests/examples/manual/Makefile.am:
Work with all types of registries.
Wim Taymans [Wed, 19 Sep 2007 20:39:52 +0000 (20:39 +0000)]
libs/gst/base/gstbasesrc.c: Don't unref the event after pushing it. Fixes #478401.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
Don't unref the event after pushing it. Fixes #478401.
Stefan Kost [Wed, 19 Sep 2007 18:07:18 +0000 (18:07 +0000)]
Ignore registries in any format.
Original commit message from CVS:
* .cvsignore:
* tests/examples/manual/.cvsignore:
Ignore registries in any format.
Tim-Philipp Müller [Wed, 19 Sep 2007 13:28:40 +0000 (13:28 +0000)]
gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for
Original commit message from CVS:
* gst/glib-compat-private.h:
Add compatibility macro for g_intern_string() for
GLib-2.8 (any reason we can't just bump the
requirement to at least 2.10?)
* gst/gstpadtemplate.h:
* gst/gstelementfactory.c:
* gst/gstregistryxml.c:
* gst/gstregistrybinary.c:
Make GstStaticPadTemplate's templ_name field a const gchar * and fix
up the internal code accordingly. This shouldn't be a problem, since
there is no reason external code could ever assume the string in such
a structure is dynamically allocated unless it did that itself; the
use of g_strdup() is private to element factories. The new code also
saves some memory by putting pad template name strings into the GLib
quark table instead of allocating them dynamically.
Declaring this field constant fixes warnings with g++-4.2 when using
the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
Stefan Kost [Wed, 19 Sep 2007 12:31:16 +0000 (12:31 +0000)]
gst/gstelementfactory.c: Release static caps. Fixes #475723.
Original commit message from CVS:
* gst/gstelementfactory.c:
Release static caps. Fixes #475723.
Tim-Philipp Müller [Tue, 18 Sep 2007 22:13:57 +0000 (22:13 +0000)]
gst/gstinfo.*: Make some internal API take const gchar * instead of just gchar * to avoid compiler warnings with g++-...
Original commit message from CVS:
* gst/gstinfo.c:
* gst/gstinfo.h:
Make some internal API take const gchar * instead of just
gchar * to avoid compiler warnings with g++-4.2.2 when
passing string constants (partially fixes #478092).
Wim Taymans [Mon, 17 Sep 2007 20:55:23 +0000 (20:55 +0000)]
gst/gstbin.c: A latency query fails when one of the sinks fail.
Original commit message from CVS:
* gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
A latency query fails when one of the sinks fail.
* gst/gstelement.c: (gst_element_set_base_time):
Improve debugging.
Jan Schmidt [Mon, 17 Sep 2007 17:17:29 +0000 (17:17 +0000)]
Fix minor compilation warnings shown with Forte.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_continue_func):
* libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
Fix minor compilation warnings shown with Forte.
Wim Taymans [Mon, 17 Sep 2007 06:01:53 +0000 (06:01 +0000)]
plugins/elements/gstqueue.c: Measure queue level based on the diff between head and tail timestamps even when pushing...
Original commit message from CVS:
* plugins/elements/gstqueue.c: (apply_buffer),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
Measure queue level based on the diff between head and tail timestamps
even when pushing the first buffer.
Wim Taymans [Fri, 14 Sep 2007 23:06:31 +0000 (23:06 +0000)]
libs/gst/base/gstbasesink.c: Sinks that don't preroll can always be queried for the latency.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
(gst_base_sink_event), (gst_base_sink_change_state):
Sinks that don't preroll can always be queried for the latency.
Don't post ASYNC start when we are not async.
Wim Taymans [Fri, 14 Sep 2007 20:24:22 +0000 (20:24 +0000)]
plugins/elements/gstqueue.*: When downstream returns UNEXPECTED from pushing a buffer, don't try to push more buffers...
Original commit message from CVS:
* plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
(gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_push_one), (gst_queue_handle_src_query),
(gst_queue_sink_activate_push), (gst_queue_src_activate_push):
* plugins/elements/gstqueue.h:
When downstream returns UNEXPECTED from pushing a buffer, don't try to
push more buffers but allow pushing of EOS and NEWSEGMENT.
Add some more debug info here and there. Fixes #476514.
Wim Taymans [Fri, 14 Sep 2007 15:52:27 +0000 (15:52 +0000)]
libs/gst/base/gstbasesink.c: Latency query is allowed after we are prerolled. Introduce a new flag for this and stop ...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
(gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
(gst_base_sink_set_flushing), (gst_base_sink_query),
(gst_base_sink_change_state):
Latency query is allowed after we are prerolled. Introduce a new flag
for this and stop abusing other variables.
Wim Taymans [Thu, 13 Sep 2007 23:53:48 +0000 (23:53 +0000)]
libs/gst/base/gstbasesrc.c: Push OOB events downstream when we get them in send_event. This allows the application to...
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
Push OOB events downstream when we get them in send_event. This allows
the application to insert events in the pipeline.
Add some more comments.
Wim Taymans [Thu, 13 Sep 2007 21:27:33 +0000 (21:27 +0000)]
gst/: Move latency query from GstPipeline to GstBin so that we can also use it when async-handling is enabled on bins.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (clear_queue),
(do_bin_latency), (gst_bin_change_state_func):
* gst/gstpipeline.c: (gst_pipeline_change_state):
Move latency query from GstPipeline to GstBin so that we can also
use it when async-handling is enabled on bins.