Commit graph

4748 commits

Author SHA1 Message Date
Rob Clark
e025e328fd parse: don't format the string twice
We were formatting the string once and then passing the string as a format
string to the log functions.
2009-10-07 23:23:08 +03:00
Stefan Kost
fcc5d783df pad: add variants of gst_pad_get_caps() that don't copy caps. Fixes #590941
In most places in core and baseclasses we just need the caps to do caps-
intersections. In that case ref'ed caps are enough (no need to copy).
This patch also switches the code to use the new functions.
API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
2009-10-07 22:41:30 +03:00
Michael Smith
8fd0f64951 elementfactory: fix spelling in comment 2009-10-07 10:37:39 -07:00
Tim-Philipp Müller
53c9c9d975 registry: improve plugin loader failure message for uninstalled setups
Everyone running an uninstalled git setup is going to wonder about
this failure next time they update, so let's mention the solution
in the error message.
2009-10-07 14:39:03 +01:00
Wim Taymans
b5adcf13a0 message: whitespace fixes 2009-10-07 10:38:11 +02:00
Stefan Kost
201cbbdce0 pad: flip the G_UNLIKELY
Its likely that we have caps and unlikely (error) otherwise.
2009-10-07 11:12:57 +03:00
Stefan Kost
cfb4aa4627 build: sprintf, sscanf need stdio.h 2009-10-07 10:59:54 +03:00
Stefan Kost
09c7d34921 childproxy: initialize gvalue in _valist function. Fixes #595602
Reflow the code to move error handling to the end of the functions. Initialize
gvalue like we do in the setter. Add a unit-test module with two simple tests
the catche this bug.
2009-10-07 10:59:54 +03:00
Stefan Kost
82526701f0 pad: don't intersect with any in proxy_pad_get_caps
We initialize the caps with any and if a pad has NULL caps, just skip it instead
of intersecting with any. Also add branch prediction here.
2009-10-07 10:59:54 +03:00
Stefan Kost
b1f88b3f1f docs: rename aggregator to adder in the docs. 2009-10-07 10:59:54 +03:00
Johan Bilien
920e9b569d introspection: Add annotations for gst_element_query_{duration,position}
Fixes bug #595511.
2009-10-07 07:18:04 +02:00
Wim Taymans
3ac4a08383 ghostpad: take locks around smaller section
We don't need the hold the proxy mutex locked for getting the internal pad and
for linking the new target pad when we retarget. So take the lock a little later
and release it earlier.

Fixes #596366
2009-10-06 22:40:17 +02:00
Tim-Philipp Müller
3c6db4ed95 gst: remove more unnecessary cast when using g_signal_*() 2009-10-06 20:04:10 +01:00
Jan Schmidt
8108494a38 pluginloader: Add a magic number and maximum size limit.
Guard against a hostile child process that sends bogus data
due to memory corruption by adding a magic number to each packet,
and limit the maximum size of any message to 32MB
2009-10-06 19:51:45 +01:00
Jan Schmidt
97d6c854ae registry: Also check the binary registry chunk version of the child.
When trying to find a function plugin-scanner, include a check on the
version of the binary registry chunks it sends, to make sure it's
what we understand.
2009-10-06 19:51:45 +01:00
Jan Schmidt
8bf3d8cec2 registry: Support installed/uninstalled plugin-scanner helper
Add a simple version check when starting the plugin-scanner so we can
verify we're talking to one that talks the same language.
First try a plugin-scanner in the installed path, then try one via the
GST_PLUGIN_SCANNER env var if that doesn't work.
Update the uninstalled script.
Install the plugin-scanner to the libexec dir
2009-10-06 19:51:44 +01:00
Jan Schmidt
6eee943b36 Remove checking for and mentions of fork where possible.
We no longer use fork() directly, instead using glib's spawn
functionality, so don't check for it, and don't use it in the
documentation notes.
2009-10-06 19:51:44 +01:00
Jan Schmidt
82aeddbc61 Only load the registry cache once per process.
When updating the registry, we don't need to re-read the registry cache
and waste time replacing all our existing, hopefully identical, plugins
and features that we're about to re-scan anyway.
2009-10-06 19:51:43 +01:00
Jan Schmidt
c7922fb838 Add some more debug the registry.
Add the full set of debug about why it's decided that a given plugin is
stale or not, and include the plugin name when finalizing it.
2009-10-06 19:51:43 +01:00
Jan Schmidt
ef32c11e6e Add restarting of the plugin loader and blacklisting of broken files 2009-10-06 19:51:42 +01:00
Jan Schmidt
38083fb0c8 Plugin loader phase 2
phase 2 - make the plugin loader receive the list of plugins to load and
send back the results asynchronously, so we don't context switch back
and forth so much.
2009-10-06 19:51:42 +01:00
Jan Schmidt
51675e0c2a registry: Add registry helper phase 1
Phase 1 of adding the registry scan helper
2009-10-06 19:51:42 +01:00
Jan Schmidt
1f4e477033 registry: Rearrange some things.
Prepare to land the external plugin helper process
2009-10-06 19:51:41 +01:00
Stefan Kost
4d472935a6 docs: GST_MESSAGE_STREAM_STATUS is implemented nowadays.
Docs were still mention it as "not yet implemented".
2009-09-14 14:09:07 +03:00
Sebastian Dröge
1c253a01a4 introspection: Don't typedef GstTagList to GstStructure for gobject-introspection 2009-09-12 14:35:08 +02:00
Jan Schmidt
fb1e9408b2 Don't use C++ style comments 2009-09-11 22:42:51 +01:00
Jan Schmidt
5128a1980b message: Disable restriction that structure changes are sink pads
The structure_change message was originally emitted on source pads and
then recently changed to be sink pads. This causes a failure in the
gst-python testsuite. Disable the restriction so that the published
behaviour is still allowed.
2009-09-11 22:22:34 +01:00
Stefan Kost
1949360f9b binaryregistry: don't crash in cleaning up on error.
Don't dereference NULL pointers.
2009-09-11 21:20:57 +03:00
David Schleef
61203b825f debug: use dummy code to avoid spurious semicolons
Fixes bug #589173.
2009-09-11 07:40:30 +02:00
Wim Taymans
d1032a2835 whitespace fixes 2009-09-10 11:54:01 +02:00
Wim Taymans
06e27c5209 pluginfeature: improve version check
Also parse the nano of the version and assume that X.Y.Z-1.1 >= X.Y.Z
With this change we can also check development versions against the version of
the upcomming release.
2009-09-10 11:54:01 +02:00
Sebastian Dröge
a4d38192f1 taglist: Add FIXME for 0.11 to not typedef GstTagList to be a GstStructure
See bug #518934.
2009-09-10 10:07:24 +02:00
David Schleef
e810dc0bca Fix typo in inline documentation 2009-09-09 16:29:47 -07:00
Sebastian Dröge
c4f76d5d22 utils: Add a comment to the scaling functions to explain why the rounding is correct 2009-09-09 18:38:29 +02:00
Wim Taymans
6a872b0b14 ghostpad: don't unref NULL caps
Caps can be NULL so don't call unref on it unconditionally, instead use an
existing exit pad for the function.
2009-09-09 16:45:17 +02:00
Sebastian Dröge
8d1aeeb2af utils: Use gcc's __uint128_t for 64bit unsigned integer scaling
This is available in newer gcc releases and it should only exist
on platforms that provide some native 128bit integer arithmetic
instructions.

The x86-64 assembly for this is still kept for non-gcc compilers
that don't provide __uint128_t magic.
2009-09-09 14:59:39 +02:00
Benjamin Otte
fceba1d6fe docs: Fix typo in gst_value_union() 2009-09-07 16:16:19 +02:00
Sebastian Dröge
6bbb833409 introspection: Fix for out-of-tree builds 2009-09-05 12:22:37 +02:00
Sebastian Dröge
0bb8634b37 gstbase: Add gobject-introspection support 2009-09-05 10:28:46 +02:00
Sebastian Dröge
7c031ae4d0 gst: Add gobject-introspection support
Partially fixes bug #550616.
2009-09-05 10:28:46 +02:00
Wim Taymans
1b8a3e0e2d event: whitespace fixes 2009-09-04 11:35:59 +02:00
Aurelien Grimaud
fe87509682 bin: Only unref EOS message after it is not used anymore
Fixes bug #594107.
2009-09-04 09:52:39 +02:00
Wim Taymans
f64243e037 states: post structure change on sinkpads
Post the structure change messages on the sinkpads of the elements. This allows
us to catch unlinked pads earlier without ending up with inconsistent element
degrees.
2009-09-02 18:54:06 +02:00
Wim Taymans
1ab11faf48 bin: avoid false 'loop detected' warnings
When we detect a pad unlink in progress, we will not be updating the degree of
the parent element. This can cause false loop detected warnings because the
degree counter is invalid. Handle this case by marking the iterator as 'dirty'
when we detect a pad unlink and avoid emiting the warning in this case. We have
to continue our state change as good as we can, we will eventually resync when
the pad unlink completed.
2009-09-02 18:13:22 +02:00
Wim Taymans
5ebd818ea3 buffer: whitespace fixes 2009-09-01 16:52:32 +02:00
Jan Schmidt
64fb67f700 gstbin: Don't propagate a NULL cached index to added elements
When an element is added to the bin, only set the index if we have a
cached index, rather than setting a NULL index on elements that might
have a default index object of their own.
2009-09-01 12:08:17 +01:00
Tim-Philipp Müller
0d50805678 element: don't take object lock for g_critical() and flesh out warning message some more 2009-09-01 10:05:21 +01:00
Sebastian Dröge
690f980690 iterator: Only visit the element a single time in the single iterator 2009-09-01 10:20:59 +02:00
Sebastian Dröge
66e5d4ee4b iterator: Fix single iterator for NULL objects and non-GTypeInstance objects
Fixes bug #593719.
2009-09-01 07:28:43 +02:00
Stefan Kost
86edbb954c debug: more detail in wrong-state-on-dispose error.
Also tell in which state the element actualy is and if it is eventualy
state-locked.
2009-09-01 00:06:27 +03:00