Commit graph

5037 commits

Author SHA1 Message Date
Tim-Philipp Müller
c4a4f2dad2 libs: point gobject-introspection scanner to .la files
Point g-ir-scanner to the .la file of our library, which hopefully
makes it find the right dependencies in all cases (ie. our locally
built libgstreamer and not the system-installed one). This is also
how it's done in Gtk+ and how it's documented in the wiki, see
http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration

Based on patches by Vincent Untz and Alan Knowles.

Fixes #603710.
2010-04-03 13:41:52 +01:00
Philip Withnall
6ca0b51e4e utils: Use G_GNUC_CONST instead of G_GNUC_PURE for conversion functions
Fixes bug #614629.
2010-04-02 18:43:37 +02:00
Sebastian Dröge
133792e5cd event: Use correct type for the message parameter in gst_event_{new,parse}_sink_message
The struct workaround was only necessary in gstevent.h, gstutils.h knows about GstMessage
2010-03-31 10:25:30 +02:00
Stefan Kost
477a5d0939 gstinfo: add a comment explaining the reason for using fucntion protos here. 2010-03-29 16:38:05 +03:00
Stefan Kost
e55d18baa2 gstinfo: always define dummy debug category as a function prototype
It does not seem to make sense to define this as a function only if we have
varargs macros.
2010-03-29 16:38:05 +03:00
Stefan Kost
b40c2f8114 build: fix redeclaration erors when building with --gst-disable-gst-debug
Give dummy symbols a uniqe name.
2010-03-29 16:38:04 +03:00
Stefan Kost
f89ccf7d3d build: move some prototypes out of #ifndef GST_DISABLE_GST_DEBUG
Move the prototypes up together. We only define the macros differently.
Fixes bug #614167 mostly.
2010-03-29 16:37:48 +03:00
Stefan Kost
04bf54c58f info: readd the use of GstDebugFuncPtr typedef and tell why
This reverts the related changes from 3f4954e42d
and ffb0a4e190.
2010-03-29 16:36:15 +03:00
Sebastian Dröge
ffb0a4e190 info: Fix build at least until the correct fix is found
See bug #614167.
2010-03-28 21:02:41 +02:00
Sebastian Dröge
e305e49ef4 structure: Make structure abbreviations array one-time initialization threadsafe 2010-03-28 19:49:00 +02:00
Sebastian Dröge
ad230b07f6 iterator: Add FIXME 0.11 for using GSlice for allocation 2010-03-28 19:48:54 +02:00
Sebastian Dröge
fd68dbc08f gst: Use GSlice instead of normal g_malloc in more places 2010-03-28 19:48:45 +02:00
Stefan Kost
3f4954e42d build: more some prototypes out if #ifndef GST_DISABLE_GST_DEBUG
The build was failing becasue of a new warning. There are still failures
(tracked via bug #614167).
2010-03-28 13:14:06 +03:00
Sebastian Dröge
d3f1d2aeb5 elementfactory: Add FIXME 0.11 to remove GstElementDetails from the public API
It's not necessary anymore to expose this as public API and this allows
easier extension of the element details by new fields.
2010-03-25 18:57:40 +01:00
Wim Taymans
5fdee7e064 bin: improve docs a little
Mention that a DURATION message does not mean that one can safely query the
duration on a bin, that only works when the bin is prerolled.
2010-03-25 18:12:06 +01:00
Thiago Santos
e875577b0f tags: Add new _USER_RATING tag
Adds a new tag for user favorite media rating.
User rating informs how much (from 0 to 100) a user
'likes' a media.
Having an percent uint range for this is easy to map into other scales,
like some players that allow users to attribute 'stars' to its
media.

API: GST_TAG_USER_RATING

Fixes #520697
2010-03-24 15:18:53 -03:00
Tim-Philipp Müller
3d5843e1f4 build: fix make distcheck
The change from GST_ALL_CFLAGS to GST_OPTION_CFLAGS dropped the includes,
putting them back fixes make distcheck.
2010-03-24 15:47:22 +00:00
Benjamin Otte
3b4aa3f76a Deprecated gst_element_class_set_details()
Use gst_element_class_set_details_simple() instead. If you want to
convert automatically, here's a script:

for file in `git grep -l GstElementDetails`; do
  sed -i -n -r '
    1h
    1!H
    $ {
      g
      s/((\/\*[^\n]*\*\/)?\n)*[^\n]*GstElementDetails .* =\s*GST_ELEMENT_DETAILS\s*\((\"[^\"]*\",\s*\"[^\"]*\",\s*\"[^\"]*\",\s*(\"[^\"]*\"\s*)*)\);\n*(.*)gst_element_class_set_details \(([^,]*),\s*[^)]*\)/\n\n\5gst_element_class_set_details_simple (\6, \3)/
      s/((\/\*[^\n]*\*\/)?\n)*[^\n]*GstElementDetails .* =\s*\{\s*(\"[^\"]*\",\s*\"[^\"]*\",\s*\"[^\"]*\",\s*(\"[^\"]*\"\s*)*)\};\n*(.*)gst_element_class_set_details \(([^,]*),\s*[^)]*\)/\n\n\5gst_element_class_set_details_simple (\6, \3)/
      p
    }' $file
  ~/gst/gstreamer/tools/gst-indent $file
done
2010-03-24 12:20:05 +01:00
Tim-Philipp Müller
0aa584917a structure: add mapping for (uint) to allow deserialisation of unsigned integers
Unsigned ints are used in taglists, would be nice to be able to
deserialise them, esp. in connection with the taginject API.
2010-03-23 19:23:22 +00:00
Stefan Kost
e3efae65bc gettext: build fixes: #if -> #ifdef 2010-03-22 17:10:06 +02:00
Stefan Kost
da287f556d parse-launch: make delayed set recursive
Right now deleyed set would only try for first set of children. We need to keep
trying to support arbitrary deep hierarchies (like in playbin2 with auto*sinks).
Also GstBin would need to actualy emit the child-added/removed signal as it
implements the iface. Fixes #613215.
2010-03-22 10:01:38 +02:00
Wim Taymans
d67f8733ac message: improve docs a little 2010-03-17 19:26:30 +01:00
Robert Swain
1a3257132d message: add QoS message to inform apps of lost data
This has been implemented as per part-qos.txt and partially addresses
bug #322947
2010-03-17 19:16:42 +01:00
Mart Raudsepp
719a9217fb docs: fix typo 2010-03-17 11:03:15 +00:00
Mart Raudsepp
db949f66e0 docs: fix since tag for gst_structure_id_has_field_typed()
gst_structure_id_has_field_typed was added in 0.10.26, not 0.10.16.
Apparent typo in commit f9e3b72f when the API was added.
2010-03-17 11:03:15 +00:00
Tim-Philipp Müller
235910e227 gst: use #if GLIB_CHECK_VERSION instead of #ifndef GLIBMACRO
for better greppability at the time we bump GLib version requirements.
2010-03-17 11:03:15 +00:00
Stefan Kost
5ff43184cf task: snprintf needs to include "stdio.h" 2010-03-16 09:56:41 +02:00
Wim Taymans
c78c637a77 task: use bionic/libc friendly arguments to prctl
prctl is supposed to take 5 arguments. It used to work with 2 arguments on some
versions of libc because it is defined as a varags function there.

See #611911
2010-03-15 17:07:59 +01:00
Wim Taymans
fb9243178a task: update docs. 2010-03-15 15:12:01 +01:00
Sebastian Dröge
f9f0346f3f taglist: Work around gtk-doc problem 2010-03-15 14:52:41 +01:00
Sebastian Dröge
fbbb671e54 utils: Handle iterator resyncs in gst_pad_proxy_setcaps()
Fixes bug #612881.
2010-03-15 14:52:40 +01:00
Wim Taymans
f9c74afe62 task: configure the object name as thread name
When we have prctl available, use it to set the configured object name as the
thread name for better debugging.

Based on patch by Robert Swain.
2010-03-15 14:48:19 +01:00
Wim Taymans
f089c3cceb pad: set a good name on the task of the pad
Use the element:pad names to configure a good name for the pad task.
2010-03-15 13:48:30 +01:00
Wim Taymans
f4b43b6c12 task: retab 2010-03-15 12:13:55 +01:00
Stefan Kost
575e7eb5f7 logging: remove extra newline 2010-03-15 11:17:22 +02:00
Stefan Kost
ba53eee64b bus: turn g_return_if_fail into g_assert.
This either must never happen (which makes sense in this case) and thus should
use assert() or we should use a traditional if (poll_data->message) return;
to avoid differnet behaviour of intenal api when compiling with
G_DISABLE_CHECKS.
2010-03-15 11:17:22 +02:00
Stefan Kost
1ca450ba5c caps: move the check to the public api.
This avoids creating empty caps and destroying them in the case of an error. We
also avoid double checking in other code path where we call the internal api.
2010-03-15 11:17:22 +02:00
Stefan Kost
43a4763491 caps: this is internal API where we need to ensure !NULL higher up 2010-03-15 11:17:22 +02:00
Stefan Kost
646d436799 gst: this is an internal function where we already ensure !NULL when calling 2010-03-15 11:17:21 +02:00
Stefan Kost
b9cb52a2c2 debugutils: fix case of pad flag
Due to a typo the code was always showing the flag as 's' (lower case).
Fixes #611075
2010-03-15 11:16:44 +02:00
Stefan Kost
0765d4b812 debug: add pretty printer for events
Adder is using GST_PTR_FORMAT for events already, so we might actualy
implement this and print out some useful info.
2010-03-15 09:10:05 +02:00
Benjamin Otte
7c1d33a8a3 Add some 0.11 FIXMEs for GstPluginInitFunc
See 8fe63000de for why having a TRUE/FALSE
return value is a bad idea.
I've scanned a few plugins and they generally get it wrong and aren't
unloadable when they return FALSE.
2010-03-13 11:05:33 +01:00
Leo Singer
3f86f8cee1 gstinfo: fix compilation error if HAVE_REGISTER_PRINTF_SPECIFIER is undefined
Use #if HAVE_FOO instead of #ifdef HAVE_FOO.

Fixes #612733.
2010-03-12 19:05:16 +00:00
Benjamin Otte
8fe63000de plugins: Do not ever unload a plugin after calling into it
This is what can happen in a plugin_init function:
- An element based on GstBaseSink is registered
- Other elements fail to register
- The plugin_init function returns FALSE

Now if this the plugin is the first plugin to link against
libgstbase.so, it will have caused libgstbase.so to be loaded and static
strings from that library will have been added to gobject while
registering GstBaseSink.

So unloading the plugin will cause those strings to go stale and the
next plugin using GstBaseSink will crash. So we must not unload modules
after calling into them ever.

https://bugzilla.redhat.com/show_bug.cgi?id=572800
2010-03-12 16:56:56 +01:00
Edward Hervey
bbe26d36ba gst: Use G_VALUE_COLLECT_INIT if available
This brings total call speedups between 5% and 25%.
gst_caps_set_simple_valist: +5%
gst_structure_set_valist: + 10%
gst_structure_id_set_valist: +25%
gst_tag_list_add_valist: +5%

Measured using valgrind when run over the discovery of 200 media files.

Fixes #610256
2010-03-12 10:01:47 +01:00
Thiago Santos
f563ac57f8 tags: Adds new geo location tags
Adds new tags GST_TAG_GEO_LOCATION_COUNTRY,
GST_TAG_GEO_LOCATION_CITY and GST_TAG_GEO_LOCATION_SUBLOCATION.

API: GST_TAG_GEO_LOCATION_COUNTRY
API: GST_TAG_GEO_LOCATION_CITY
API: GST_TAG_GEO_LOCATION_SUBLOCATION

Fixes #612410
2010-03-11 15:31:06 -03:00
Benjamin Otte
8fa19a360c win32: Add prototype for DllMain() 2010-03-11 18:37:24 +01:00
Edward Hervey
d60a3b8a59 gstreamer: remove unneeded casts
G_PARAM_SPEC_VALUE_TYPE does an expensive type check, whereas the
value_type field is a public field, so we can just use it directly.
2010-03-11 11:46:28 +01:00
Benjamin Otte
7e7f51f617 Fixes for -Wmissing-declarations -Wmissing-prototypes
Also adds those flags to the configure warning flags

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-11 10:59:57 +01:00
Tim-Philipp Müller
8a4aed855a buffer: fix printf format
Use %u to print unsigned integers.
2010-03-11 09:39:23 +00:00