Sebastian Dröge [Tue, 8 Dec 2009 14:24:43 +0000 (15:24 +0100)]
basesink: Allow update NEWSEGMENT events after EOS
This allows demuxers to update the segment stop of an already
finished stream. This might be needed if some stream goes to
EOS before the duration of the longest stream is known to properly
set the segment stop of all streams to the same value in the end.
Wim Taymans [Mon, 7 Dec 2009 19:52:22 +0000 (20:52 +0100)]
Use plain casting instead of typechecking
Edward Hervey [Mon, 7 Dec 2009 08:45:00 +0000 (09:45 +0100)]
gstvalue: Use fast gst_value_list_{size|get_value} macro accessors
gst_value_list_size and gst_value_list_get_value will do a series of
extra checks due to being public methods.
When we use them from within gstvalue.c we can directly use them without
the extra checks.
Edward Hervey [Mon, 7 Dec 2009 08:44:06 +0000 (09:44 +0100)]
gsturi: Don't use g_signal_emit_by_name, use the signal ID directly
Edward Hervey [Wed, 18 Nov 2009 08:01:35 +0000 (09:01 +0100)]
tee: avoid expensive typechecks, and avoid getting ref to parent.
Speeds up tee processing 2 to 5 times.
Edward Hervey [Thu, 12 Nov 2009 08:07:03 +0000 (09:07 +0100)]
gstobject: Avoid double strdup when setting NULL names.
Instead of chaining up to gst_object_set_name (which does typechecking
and strdup's the name again), just use the already allocated new
name.
Peter van Hardenberg [Fri, 4 Dec 2009 20:16:32 +0000 (12:16 -0800)]
pwg: make the enum example (based on videotestsrc) actually match videotestsrc
Sebastian Dröge [Fri, 4 Dec 2009 15:28:27 +0000 (16:28 +0100)]
bin: Ignore state change failures from children that were removed from the bin already
Fixes bug #584441.
Sebastian Dröge [Fri, 4 Dec 2009 14:00:44 +0000 (15:00 +0100)]
registry: Use GMappedFile for reading the registry
Fixes bug #603787.
Javier Jardón [Thu, 3 Dec 2009 18:48:11 +0000 (19:48 +0100)]
registry: Substitute deprecated GLib symbol: g_mapped_file_free
Use g_mapped_file_unref if Glib >= 2.22 is available
Fixes bug #560442.
Jan Schmidt [Fri, 27 Nov 2009 19:16:15 +0000 (20:16 +0100)]
basesrc: Shut down the pad task when the initial seek fails.
Set the pad flushing and stop the pad task when the initial seek fails
during activation. Avoids racy calls into the _create() function when
BaseSrc::stop() has already run.
Fixes: #603059
Also, fix some misspelled comments.
Tim-Philipp Müller [Thu, 3 Dec 2009 20:55:37 +0000 (20:55 +0000)]
po: update .po files after string changes
(The queue2 strings could use some tidying up)
Tim-Philipp Müller [Thu, 3 Dec 2009 20:53:25 +0000 (20:53 +0000)]
filesink, filesrc: printf format fixes
gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 9 has type ‘gsize’
gstfilesrc.c:588: error: format ‘%08llx’ expects type ‘long long unsigned int’, but argument 8 has type ‘off_t’
Stefan Kost [Thu, 3 Dec 2009 14:44:28 +0000 (16:44 +0200)]
tee: add special case for only one pad conected
It is not easy to setup a tee on the fly, thus apps need to add them always if
they might need them. This changes the code so, that if only one src-pad is
active, we push buffers directly. In the normal code path all buffers are pushed
with an extra ref, that forces followup inplace elements to copy the data.
Stefan Kost [Thu, 3 Dec 2009 14:11:59 +0000 (16:11 +0200)]
tee: only message once per received buffer
Avoids checking for each source pad. The messages would be almost identical
anyway.
Stefan Kost [Thu, 3 Dec 2009 13:27:21 +0000 (15:27 +0200)]
drafts: planning
Stefan Kost [Thu, 3 Dec 2009 14:05:03 +0000 (16:05 +0200)]
tee: remove unused offset member
Stefan Kost [Thu, 3 Dec 2009 14:02:35 +0000 (16:02 +0200)]
tee: only notify alloc-pad property if changed.
Wim Taymans [Wed, 2 Dec 2009 12:29:28 +0000 (13:29 +0100)]
event: fix docs for _copy()
David Schleef [Wed, 2 Dec 2009 06:37:51 +0000 (22:37 -0800)]
tools: Fix check for Windows
David Schleef [Wed, 2 Dec 2009 02:09:04 +0000 (18:09 -0800)]
Make gcc inline assembly conditional on gcc
Edward Hervey [Tue, 1 Dec 2009 18:29:25 +0000 (19:29 +0100)]
queue: Register debug funcptr only once.
Makes creating queue elements 3-4 times faster and avoids contention on the
global funcptr lock.
Edward Hervey [Tue, 1 Dec 2009 18:27:47 +0000 (19:27 +0100)]
basesrc/basesink: Register debug funcptr only once.
Makes basesrc/basesink initialization 3-4 times faster and avoids
contention on the global funcptr lock
Edward Hervey [Tue, 1 Dec 2009 16:54:56 +0000 (17:54 +0100)]
gstghostpad: Register debug funcptr only once.
This makes ghostpad/proxypad creation 5 times faster and avoids contention
over the global funcptr lock.
I also moved the two class init down in the code to avoid having to forward
declare all the various functions.
Edward Hervey [Tue, 1 Dec 2009 16:54:14 +0000 (17:54 +0100)]
gstpad: Only register debug funcptr once.
This makes pad initialization 2 times faster and without any contention
over the debug funcptr global lock.
Edward Hervey [Tue, 1 Dec 2009 16:53:03 +0000 (17:53 +0100)]
gstinfo: API: Add GST_DEBUG_REGISTER_FUNCPTR method.
This is a variant of GST_DEBUG_FUNCPTR which does not return anything.
Tim-Philipp Müller [Tue, 1 Dec 2009 15:05:34 +0000 (15:05 +0000)]
Automatic update of common submodule
From 87bf428 to 47cb23a
Sebastian Dröge [Tue, 1 Dec 2009 13:08:29 +0000 (14:08 +0100)]
configure: Use new AG_GST_PLATFORM macro
Sebastian Dröge [Tue, 1 Dec 2009 13:10:59 +0000 (14:10 +0100)]
Automatic update of common submodule
From da4c75c to 87bf428
Wim Taymans [Sat, 28 Nov 2009 21:29:29 +0000 (22:29 +0100)]
basesink: clip stepping boundaries
Rounding errors with the floating point rate could make it so that we
don't end up exactly at the required stepping duration.
Use the segment clipping boundaries, which are not subject to rate
adjustements, instead to detect when we reached the stepping duration.
Add some debug info related to going to the PAUSED state.
Wim Taymans [Sat, 28 Nov 2009 16:02:17 +0000 (17:02 +0100)]
docs: fix another typo
Wim Taymans [Sat, 28 Nov 2009 14:40:30 +0000 (15:40 +0100)]
docs: fix typo
Edward Hervey [Fri, 27 Nov 2009 17:54:33 +0000 (18:54 +0100)]
Automatic update of common submodule
From 53a2485 to da4c75c
Thiago Santos [Fri, 27 Nov 2009 16:42:36 +0000 (13:42 -0300)]
gstevent: fix docs
Fix flush stops docs, those are serialized, not out of bounds.
Probably a copy and paste mistake.
Stefan Kost [Fri, 27 Nov 2009 14:39:37 +0000 (16:39 +0200)]
docs: fix broken xrefs
Stefan Kost [Fri, 27 Nov 2009 14:39:37 +0000 (16:39 +0200)]
docs: fix broken xrefs
Stefan Kost [Fri, 27 Nov 2009 14:39:01 +0000 (16:39 +0200)]
docs: add missing section to libs-docs
Stefan Kost [Fri, 27 Nov 2009 12:18:02 +0000 (14:18 +0200)]
docs: make links work (needs recent gtk-doc)
Stefan Kost [Fri, 27 Nov 2009 12:17:35 +0000 (14:17 +0200)]
docs: add missing parameter docs
Stefan Kost [Fri, 27 Nov 2009 12:16:54 +0000 (14:16 +0200)]
docs: enable docs for GstObjectClass to fix links
Stefan Kost [Fri, 27 Nov 2009 12:15:08 +0000 (14:15 +0200)]
gstobject: add FIXME-0.11 comments
Stefan Kost [Wed, 25 Nov 2009 16:25:01 +0000 (18:25 +0200)]
docs: better way to link class methods
Stefan Kost [Wed, 25 Nov 2009 16:24:16 +0000 (18:24 +0200)]
docs: use '*' instead of xxx to avoid creating a broekn xref
Stefan Kost [Wed, 25 Nov 2009 15:37:33 +0000 (17:37 +0200)]
docs: fix more bogus xrefs
Stefan Kost [Wed, 25 Nov 2009 15:27:30 +0000 (17:27 +0200)]
docs: add docs for GstPluginFlags
This also makes links to them work.
Tim-Philipp Müller [Wed, 25 Nov 2009 15:39:44 +0000 (15:39 +0000)]
docs: improve GstMixer and GstTuner docs
Mention that elements implementing GstMixer and GstTuner need to be
in the right state before they can be used. Also mention GLib
functions for converting filenames to and from URIs.
Fixes #602877.
Stefan Kost [Wed, 25 Nov 2009 14:44:05 +0000 (16:44 +0200)]
docs: fix xrefs in docs
Fix typos in xrefs, links to non existing functions and rework plural forms.
Stefan Kost [Wed, 25 Nov 2009 12:41:26 +0000 (14:41 +0200)]
docs: remove gtkdoc header as these things don't come up on our docs even
Stefan Kost [Wed, 25 Nov 2009 12:23:53 +0000 (14:23 +0200)]
docs: add missing parameter doc string
Stefan Kost [Wed, 25 Nov 2009 12:21:50 +0000 (14:21 +0200)]
docs: document new event in enum
Stefan Kost [Wed, 25 Nov 2009 12:18:14 +0000 (14:18 +0200)]
docs: fix gtk-doc syntax for doc-blob start
Wim Taymans [Mon, 23 Nov 2009 10:34:07 +0000 (11:34 +0100)]
query: whitespace fixes
Wim Taymans [Mon, 23 Nov 2009 10:33:48 +0000 (11:33 +0100)]
docs: fix grammar
Jan Schmidt [Sat, 21 Nov 2009 15:37:34 +0000 (16:37 +0100)]
basesrc: Add gst_base_src_new_seamless_segment()
Merge new function from resindvd into the primary GstBaseSrc for
starting a new seamless segment.
API: gst_base_src_new_seamless_segment()
Tim-Philipp Müller [Fri, 20 Nov 2009 16:00:47 +0000 (16:00 +0000)]
bytewriter: fix compiler warning
Some gcc versions warn about bytewriter writing to memory accessed
via a const guint8 pointer, despite our explicit cast to guint8 *.
Work around that by using an intermediary variable.
Fixes #598526.
Sebastian Dröge [Fri, 20 Nov 2009 08:33:48 +0000 (09:33 +0100)]
check: Only check for gmp/gsl if building of tests is not disabled
Jan Schmidt [Thu, 19 Nov 2009 18:00:05 +0000 (19:00 +0100)]
basesink: Clamp the base time correctly in position reporting
When clamping the base time, correctly use 'now', instead of
'-now' - the intent is to prevent 'now-base' ever being
negative, which would cause a position report outside the segment.
Fixes: #602419
David Schleef [Mon, 9 Nov 2009 18:52:42 +0000 (10:52 -0800)]
gstplugin: Add C++ escape for gst_plugin_desc define
In order to properly export the gst_plugin_desc symbol
from DLLs in MSVC, it needs to be extern "C".
Tim-Philipp Müller [Thu, 19 Nov 2009 12:59:28 +0000 (12:59 +0000)]
parse/grammar.y: remove unused ERROR define
Tim-Philipp Müller [Thu, 19 Nov 2009 10:29:38 +0000 (10:29 +0000)]
Automatic update of common submodule
From 1861252 to 53a2485
Priit Laes [Mon, 16 Nov 2009 13:47:57 +0000 (15:47 +0200)]
check: fix symbol exporting when building under et_EE locale
[A-Z] regexp fails under et_EE locale because Z in Estonian alphabet is
located after S and therefore characters starting with 'TUV...' are not
in the range anymore.
Fixes bug #602093.
Sebastian Dröge [Wed, 18 Nov 2009 06:59:36 +0000 (07:59 +0100)]
basesink: Handle the new sink-message event
Sebastian Dröge [Wed, 18 Nov 2009 06:52:24 +0000 (07:52 +0100)]
event: API: Add sink-message event
gst_event_new_sink_message()
gst_event_parse_sink_message()
This event is used for sending a GstMessage downstream and synchronized
with the stream, to be posted by the sink once it reaches the sink.
Fixes bug #602275.
Tim-Philipp Müller [Mon, 16 Nov 2009 00:12:22 +0000 (00:12 +0000)]
plugin-scanner: rename plugin-scanner helper binary to gst-plugin-scanner
and install into a different directory $(libexecdir/gstreamer-0.10) so that
everything is versioned properly.
NOTE: run 'make clean' after updating; if you are running an uninstalled setup,
you will need to update your gst-uninstalled script (unless it's symlinked
to gstreamer core master) and exit/enter your uninstalled environment to get
the updated environment. If you are running an installed setup, you should
run 'make uninstall' before merging this change or remove the old
plugin-scanner binary manually.
Fixes #601698.
Tim-Philipp Müller [Wed, 18 Nov 2009 09:10:37 +0000 (09:10 +0000)]
Revert "structure: don't check type twice"
This reverts commit
f864187bf5fdfaf71f2e038949e403a42e6daf0e.
Reverting this as it changes behaviour and the documentation is
ambiguous about whether the caller must check the type first or
not (call must check type vs. returns NULL if not a string). If
GLib has been compiled with G_DISABLE_CHECKS then g_value_get_string()
may return complete garbage even if the value does not contain
a string. Better play it safe, esp. since the extra check is just
an integer comparison. For fundamental types we could return values
from the GValue structure directly if we really wanted to bypass
the extra check.
Stefan Kost [Tue, 17 Nov 2009 15:06:08 +0000 (17:06 +0200)]
structure: don't check type twice
Sebastian Dröge [Tue, 17 Nov 2009 17:35:55 +0000 (18:35 +0100)]
event: Add step event quark
Tim-Philipp Müller [Tue, 17 Nov 2009 10:02:36 +0000 (10:02 +0000)]
gst-uninstalled: add paths for gst-qa-system
Tim-Philipp Müller [Tue, 17 Nov 2009 09:06:48 +0000 (09:06 +0000)]
docs: set GST_PLUGIN_SCANNER when calling gtkdoc-scangobj
Otherwise the docs build won't work properly
Stefan Kost [Mon, 16 Nov 2009 11:58:10 +0000 (13:58 +0200)]
structure: remove some blank lines (previous gst-indent failure)
Stefan Kost [Mon, 16 Nov 2009 11:53:44 +0000 (13:53 +0200)]
structure: use local variable earlier
Stefan Kost [Mon, 16 Nov 2009 11:49:32 +0000 (13:49 +0200)]
structure: don't check enum types twice.
G_VALUE_HOLDS_ENUM(value) is defined as G_TYPE_CHECK_VALUE_TYPE (value,
G_TYPE_ENUM). Just check for the right enum-type right away.
Jan Schmidt [Sat, 14 Nov 2009 22:35:07 +0000 (22:35 +0000)]
check: Add a debug status to the systemclock test
Next time it fails on a buildbot we can see which clock id
return it is getting.
Wim Taymans [Mon, 16 Nov 2009 17:25:45 +0000 (18:25 +0100)]
TODO: remove stepping from TODO
Remove the frame stepping API from the TODO list.
Wim Taymans [Mon, 16 Nov 2009 13:02:07 +0000 (14:02 +0100)]
basesink: fix position reporting
Only update the current stream time after we checked if we got a new step
event. This improves the position reporting by the sink.
See #595958
Sebastian Dröge [Mon, 16 Nov 2009 08:49:46 +0000 (09:49 +0100)]
utils: API: Add multiplication and addition functions for fractions
gst_util_fraction_add()
gst_util_fraction_multiply()
These work on plain integers instead of GValues to
keep the overhead as low as possible.
Sebastian Dröge [Mon, 16 Nov 2009 08:29:10 +0000 (09:29 +0100)]
gstutils: API: Add fraction helper functions
gst_util_greatest_common_divisor()
gst_util_double_to_fraction()
gst_util_fraction_to_double()
Using these instead of going over GValue has much lower overhead.
Also add float<->fraction transform functions for GValue.
Stefan Kost [Fri, 13 Nov 2009 13:45:52 +0000 (15:45 +0200)]
debug: add more debug logging to help tracking parsing errors
Ole André Vadla Ravnås [Fri, 13 Nov 2009 10:42:02 +0000 (11:42 +0100)]
miniobject: avoid race when recycling buffers
Avoid a race where a miniobject is recycled and quickly freed, which causes the
g_type_free_instance() to be called on the same object twice.
Ref the object before calling the finalize method and check if we still need to
free it afterward.
Also add a unit test for this case.
Fixes #601587
Stefan Kost [Thu, 12 Nov 2009 15:02:40 +0000 (17:02 +0200)]
whitespace: remove blanks in doc-comment
Руслан Ижбулатов [Fri, 6 Nov 2009 12:42:57 +0000 (15:42 +0300)]
registry: Import _priv_gst_dll_handle into gstregistry.c
Fixes bug #601668.
Руслан Ижбулатов [Thu, 12 Nov 2009 11:10:06 +0000 (14:10 +0300)]
tests: Do not list libgstcheck as a requirement for tests/examples/manual
Fixes bug #601669.
Jan Schmidt [Wed, 11 Nov 2009 17:12:19 +0000 (17:12 +0000)]
basesink: Fix treating base_time as unsigned in position calculation
Element base_time is a signed quantity, which leads to basesink returning
a position of 0 when dealing with a negative base time - which are quite
legal when clocks (such as the audio clock) are close to 0.
This doesn't manifest in normal pipelines, of course - but can happen
(at least) when manually setting the base time on a pipeline.
Sebastian Dröge [Tue, 10 Nov 2009 17:03:43 +0000 (18:03 +0100)]
registry: API: Add gst_{default,}_registry_get_feature_list_cookie()
This returns the internal feature list cookie, which changes every
time a feature is added or removed. This can be used by elements
to check if they should update their cached feature lists.
Thiago Santos [Tue, 10 Nov 2009 14:55:34 +0000 (11:55 -0300)]
queue2: fix printf format
Cast the variable to gint to conform to the printf format used.
It is casted rather than changing the format because the
message is created with a cast to gint too.
Thiago Santos [Tue, 10 Nov 2009 13:10:56 +0000 (10:10 -0300)]
queue2: avoid crashing due to negative percent
queue2 would crash when using small buffer sizes because
it would overflow when calculating the percentage, resulting
in the buffering GstMessage not being created and trying to be
used. This patch uses a gint64 instead of a gint to do the
percentage math, making it harder to overflow.
Thiago Santos [Tue, 10 Nov 2009 12:52:30 +0000 (09:52 -0300)]
queue2: Fix small doc typo
Tim-Philipp Müller [Tue, 10 Nov 2009 00:57:00 +0000 (00:57 +0000)]
registrychunks: fix compilation with debugging disabled
Add ugly ifdef to fix unused variable warning when compiling with
debug logging disabled.
Stefan Kost [Mon, 9 Nov 2009 14:20:52 +0000 (16:20 +0200)]
planning: add thoughts about foreign registry cache updates
Stefan Kost [Mon, 9 Nov 2009 12:55:54 +0000 (14:55 +0200)]
inspect: allow to get plugin-install-info for all installed plugins
If no plugin is given, print the info for all plugins. This can be used as a
starting point to generate a profile about what the gstreamer installation can
potentialy handle (e.g. for MTP or DLNA).
Wim Taymans [Mon, 9 Nov 2009 11:42:35 +0000 (12:42 +0100)]
docs: don't forget to unref the pad
Tim-Philipp Müller [Sat, 7 Nov 2009 20:22:49 +0000 (20:22 +0000)]
gst-launch: wake up less often to check if we've been interrupted
Check if we've been interrupted only four times per second instead
of twenty times per second, to wake up the cpu less often and
save power (see bug #600922).
Tim-Philipp Müller [Thu, 5 Nov 2009 21:18:26 +0000 (21:18 +0000)]
gstconfig.h: add define to force printf format checking for debug messages
Force printf format checking for debug messages if GST_DISABLE_PRINTF_EXTENSION
is defined. This is useful to quickly check code for printf format mismatches
in debugging messages that would usually not be caught (with glibc+gcc and
printf extensions being used).
To use: make clean; make CFLAGS='-g -O2 -DGST_DISABLE_PRINTF_EXTENSION'
Edward Hervey [Thu, 5 Nov 2009 20:09:28 +0000 (21:09 +0100)]
tests: Make sure we use the local libgstbase and not a stray outside one.
Theoretically we should also do this for all local libraries to make sure
we don't test with a 'stray' outside library.
Tim-Philipp Müller [Thu, 5 Nov 2009 18:36:38 +0000 (18:36 +0000)]
docs: fix typo
Tim-Philipp Müller [Thu, 5 Nov 2009 15:59:31 +0000 (15:59 +0000)]
taglist: avoid looking up GstTagInfo twice in a row
Pass the info structure to our internal function if already available.
Also clean up warnings for unknown tags.
Edward Hervey [Thu, 5 Nov 2009 17:55:30 +0000 (18:55 +0100)]
gstregistrychunks: We're certain plugin_name is an intern string.
The only place this method is called from creates the plugin_name argument
with g_intern_string().
Shaves off 1% from registry loading.
Bastien Nocera [Wed, 4 Nov 2009 19:33:58 +0000 (19:33 +0000)]
implement buffering-left argument to buffer messages
Using the current fill level of the queue, and the average input
rate, we can determine how long it will take to finish downloading
the whole stream to the temporary file.
Fixes #600726
Wim Taymans [Thu, 5 Nov 2009 14:13:04 +0000 (15:13 +0100)]
query: whitespace fixes
Wim Taymans [Thu, 5 Nov 2009 13:02:28 +0000 (14:02 +0100)]
ghostpad: fix locking