Commit graph

5739 commits

Author SHA1 Message Date
Tim-Philipp Müller
031514faeb registry: fix lseek() return code handling
lseek() returns the offset if successful, and this is != 0 and
does not indicate an error. And if it does actually fail, don't
return FALSE (0) as an int, but -1. None of these things are
likely to have made a difference, ever. I don't think the offset
seek can ever actually happen, the current file position and the
current offset should always be increased in lock step, unless
there was an error in which case we'd just error out.
2012-02-24 23:49:54 +00:00
Tim-Philipp Müller
c25b8e153d registry: don't forget to clean up registry temp file in another error case
Also clean up temp file if we get an error during write() rather
than just when doing fsync() or close().
2012-02-24 23:49:54 +00:00
Havard Graff
609e618e70 registry: fix compilation with --disable-registry
__registry_reuse_plugin_scanner is only defined when
GST_DISABLE_REGISTRY is not defined.

gstregistry.c: In function 'gst_registry_scan_plugin_file':
gstregistry.c:1131:8: error: '__registry_reuse_plugin_scanner' undeclared (first use in this function)

https://bugzilla.gnome.org/show_bug.cgi?id=667284
2012-02-04 15:52:21 +00:00
Vincent Penquerc'h
ec7a7c318a bin: reset the EOS detection machinery after sending an EOS message
This will allow detecting further EOS, for instance after looping
a stream without changing states.

https://bugzilla.gnome.org/show_bug.cgi?id=668289
2012-02-03 11:23:28 +00:00
João Paulo Pizani Flor
3af9544f95 Fixes the lack of an include directive in gst/gstpreset.h
It blocked the build of external libraries depending on gstreamer-core (namely, gstreamermm).
Complete bug report at https://bugzilla.gnome.org/show_bug.cgi?id=669036
2012-01-30 17:22:59 +00:00
Vincent Penquerc'h
68a091303f gstplugin: add a few consts to read only data 2012-01-27 11:32:12 +00:00
Vincent Penquerc'h
98c99630ad gststructure: clarify _get docs about the returned reference
https://bugzilla.gnome.org/show_bug.cgi?id=667689
2012-01-11 12:23:25 +00:00
Tim-Philipp Müller
1aec7a3d72 gst: include locale.h before any other i18n headers
This is also how we do it in -base.

https://bugzilla.gnome.org/show_bug.cgi?id=667290
2012-01-05 00:32:42 +00:00
Idar Tollefsen
c8c961ac81 gstconfig.h: adds and uses SunPro visibility attribute for proper function exports
Define GST_EXPORT for SunPro.

https://bugzilla.gnome.org/show_bug.cgi?id=667289
2012-01-05 00:08:19 +00:00
Idar Tollefsen
f0e121c197 poll: include correct poll.h based on autoconf test
https://bugzilla.gnome.org/show_bug.cgi?id=667286
2012-01-04 23:47:46 +00:00
Tim-Philipp Müller
cb23beda4f tags: add GST_TAG_LANGUAGE_NAME
API: GST_TAG_LANGUAGE_NAME
2012-01-02 00:17:17 +00:00
Tim-Philipp Müller
ee7f9f4228 value: micro-optimisation: avoid some unnecessary g_value_unset()
We know there's nothing to do here and can save us the function
calls and GValueTable lookups.
2011-12-26 11:27:07 +00:00
Mark Nauwelaerts
f2d76b7e7b pipeline: only have a top-level pipeline do pipeline management
Fixes #665390.
2011-12-22 12:31:36 +01:00
Sebastian Dröge
36f999ab64 glib-compat: Add license boilerplate for LGPL 2011-12-12 11:55:52 +01:00
Stefan Sauer
f2b5b79eeb preset: allow applications to specify an extra preset dir
An extra application preset dir help to organize presets created for special
purposes. Fixes #660760
API: gst_preset_set_app_dir(), gst_preset_get_app_dir()
2011-12-09 16:15:27 +01:00
Tim-Philipp Müller
c33b50e00f indexfactory: fix memory leak
Introduced by commit bd302bb6 pluginfeature: avoid duplicating feature->name

https://bugzilla.gnome.org/show_bug.cgi?id=459466
https://bugzilla.gnome.org/show_bug.cgi?id=665703
2011-12-06 23:54:59 +00:00
Tim-Philipp Müller
2666450864 Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
2011-12-04 14:38:26 +00:00
Tim-Philipp Müller
5889260d5a Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
2011-12-04 13:35:38 +00:00
Tim-Philipp Müller
fef18639db g_thread_init() is deprecated in glib master
It's not needed any longer.
2011-12-03 17:40:53 +00:00
Tim-Philipp Müller
ff96aeee84 tagsetter: update for thread API deprecations in glib master 2011-12-03 16:02:36 +00:00
Tim-Philipp Müller
4b18f0a5c3 taglist: update for thread API deprecations in glib master 2011-12-03 15:36:58 +00:00
Tim-Philipp Müller
ca179625f8 g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead 2011-12-03 13:58:51 +00:00
Stefan Sauer
e34d796e41 bus: use GST_MESSAGE_SOURCE_NAME() which also takes care of src=NULL. 2011-12-01 16:25:07 +01:00
Tim-Philipp Müller
c9bd4e4e96 event: warn and fail instead of creating newsegment events in GST_FORMAT_UNDEFINED 2011-11-30 00:24:32 +00:00
Vincent Penquerc'h
c0ba7985bd gstelement: add gst_element_class_add_pad_template_from_static
This function helps ensure the pad template is unreffed
without having to complicate the calling code.

https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:07 +00:00
Stefan Sauer
52e3861e91 warnings: avoid set-but-unused warnings with load-save disabled 2011-11-27 20:39:42 +01:00
Tim-Philipp Müller
7eb796d447 uri: fix wrong G_GNUC_MALLOC
_get_protocols() points to const memory in 0.10
despite the non-const return value.
2011-11-26 19:45:48 +00:00
Tim-Philipp Müller
c8380cb0d2 gst: sprinkle some G_GNUC_MALLOC
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
2011-11-26 18:57:44 +00:00
Tim-Philipp Müller
33078aaeb7 buffer: add gst_buffer_{set,get}_qdata()
Allows people/us to attach arbitrary metadata to buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=664720

API: gst_buffer_set_qdata()
API: get_buffer_get_qdata()
2011-11-25 17:42:07 +00:00
Sebastian Dröge
0280a3c29f pad: Remove g_warning() if pad accepted caps that are not a subset of the pad caps
This check is correct but unfortunately it's impossible to implement
in a threadsafe way because the caps could have changed in the meantime.

Fixes bug #659606.
2011-11-24 11:15:29 +01:00
Tim-Philipp Müller
4d6795dcd1 gst, controller: replace g_list_prepend + reverse with GQueue 2011-11-12 14:57:48 +00:00
Vincent Penquerc'h
d9e5c529ba gstvalue: consider lists and ranges equal if they hold the same set
This fixes caps operations when different elements advertise some
of their caps' properties differently (eg, for audio channels, either
a range from 1 to 2, or a list of 1 and 2).

https://bugzilla.gnome.org/show_bug.cgi?id=663643
2011-11-09 11:24:55 +01:00
Tim-Philipp Müller
16dcd5e958 docs: fix Since: markers for API added after 0.10.35 2011-11-08 00:32:36 +00:00
Vincent Penquerc'h
9121a30f9a gstcaps: remove unneeded use of gint64
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:35 +00:00
Vincent Penquerc'h
b37d06aed8 gstvalue: quicker version of intersection when we do not need the result
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:19 +00:00
Vincent Penquerc'h
d9901a6288 gststructure: simplify return statement in gst_structure_can_intersect
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:14 +00:00
Vincent Penquerc'h
afc80c10d1 gststructure: early out when we know a value cannot be a subset
If two values can be ordered, but are unequal, they are
necessarily distinct, thus one cannot be a subset of the other.

https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:04 +00:00
Vincent Penquerc'h
29c97fe780 gstvalue: quicker test for substraction emptiness
When we do not care about the actual resulting set,
but only whether it is empty of not, we can skip a fair bit
of GValue juggling.

Add a function that does so, since we cannot just pass NULL
to the existing API as it may be part of the API contract.

https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:16:52 +00:00
Vincent Penquerc'h
7090257a83 gststructure: rejig test ordering for speed
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:16:26 +00:00
Sjoerd Simons
57074fc025 caps: Add gst_caps_is_strictly_equal 2011-11-04 17:49:55 +00:00
Peteris Krisjanis
795e836ce3 introspection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NSECOND constants
gobject-introspection won't parse them properly otherwise.

Still need to force the right type though (either GstClockTime or
guint64), but Type: xyz has no effect for me here, so someone with
a newer g-i needs to test this.

Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE.
2011-11-04 00:19:56 +00:00
Tim-Philipp Müller
d2c713a9b5 bin: use statically allocated GQueue
Because we can.
2011-11-03 22:58:50 +00:00
Nicolas Dufresne
391568efde ghostpad: Don't cache internal proxy pad target
The internal proxy pad target is simply a cache of the internal proxy pad
peer. This patch uses the well implement GstPad peer handling to obtain the
target. This fixes issues with target not being set in both direction when
two ghostpads are linked together (empty bin).

https://bugzilla.gnome.org/show_bug.cgi?id=658517
2011-11-03 09:27:00 +01:00
Tim-Philipp Müller
d9f95e8920 filter: deprecate gst_filter_run()
It's not really used outside of core at all, and has
serious namespace issues. If anyone feels the need to
revive this one, please use a less generic name space.

API: deprecate gst_filter_run()
API: deprecate GstFilterFunc
2011-10-30 21:55:05 +00:00
Tim-Philipp Müller
8008837986 registry: don't use soon-to-be-deprecated gst_filter_run()
Lines-of-code savings are negligible anyway.
2011-10-30 21:47:39 +00:00
Tim-Philipp Müller
19b4c9c793 pluginfeature: deprecate gst_plugin_feature_type_name_filter()
It's only used internally anyway and the helper struct
has namespace issues.

API: deprecated gst_plugin_feature_type_name_filter()
API: deprecated GstTypeNameData
2011-10-30 21:47:26 +00:00
Tim-Philipp Müller
606c53fc94 taglist: add to_string and new_from_string functions
We want to make GstTagList opaque and not have people use
GstStructure API on it.

API: gst_tag_list_to_string()
API: gst_tag_list_new_from_string()
2011-10-30 09:58:16 +00:00
Tim-Philipp Müller
911c078c2b taglist: avoid pointless tag name -> quark lookups
We never get a tag name quark from a caller, it's always a
string, from which we'll try to look up our tag info in the
hash table, so change the hash table key from quark to string.
Avoids a bunch of pointless string => quark lookup in the
global quark table. We need to do an extra string => quark
conversion now when we copy a taglist, but in that case we're
in a slow path anyway.
2011-10-30 09:26:52 +00:00
Tim-Philipp Müller
cdade325ae taglist: add gst_tag_list_is_equal()
API: gst_tag_list_is_equal()
2011-10-30 01:44:00 +01:00
Tim-Philipp Müller
bc1a37e64f structure: identical structures are definitely equal 2011-10-29 23:52:22 +01:00