Commit graph

422 commits

Author SHA1 Message Date
Tim-Philipp Müller
985bc911a2 gst: log performance warning debug message if glib emulates atomic ops 2012-08-24 23:14:57 +01:00
Tim-Philipp Müller
1118c9264f gst: ref/unref taglist scope enum in gst_init()
Fixes make check and distcheck
2012-08-03 23:54:33 +01:00
Tim-Philipp Müller
e8ab1006c7 toc: add GstTocScope and require it in the constructor
This is because we need to be able to signal different TOCs
to downstream elements such as muxers and the application,
and because we need to send both types as events (because
the sink should post the TOC messages for the app in the
end, just like tag messages are now posted by the sinks),
and hence need to make TOC events multi-sticky.

https://bugzilla.gnome.org/show_bug.cgi?id=678742
2012-07-28 09:16:06 +01:00
Edward Hervey
d3ffa82639 Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
Wim Taymans
77bc2170f8 gst: add new flags 2012-07-10 10:11:57 +02:00
Wim Taymans
0ddb33bb4c update for new symbols 2012-07-05 11:19:16 +02:00
Josep Torra
d06c7dc6fd debugutils: Fix static linking on OS X
The linking behaviour of external variables that are not initialized
in the compilation unit where they are defined is undefined. On OS X
this causes a linking failure when statically linking GStreamer.
2012-05-25 10:49:47 +02:00
Tim-Philipp Müller
68da2aeeed toc: use global quark table 2012-05-20 17:48:55 +01:00
Sebastian Rasmussen
1c82367a0e gst: Only include init/deinit of alloc tracing when enabled
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675806
2012-05-11 13:39:38 +02:00
Wim Taymans
393c758a1c Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst/gst.c
	plugins/elements/gstqueue2.c
2012-04-10 12:55:31 +02:00
Wim Taymans
fd9c328260 gst: add toc entry ref/unref 2012-04-10 12:49:04 +02:00
Tim-Philipp Müller
94696f4bd9 gst: don't export private TOC functions 2012-04-07 16:04:14 +01:00
Tim-Philipp Müller
fcaa6e3c48 gst: ref new entry enum types
Fixes 'make check', again.
2012-04-02 23:28:15 +01:00
Alexander Saprykin
1f7096b52a Add generic table of contents (TOC) support 2012-04-02 21:50:55 +02:00
Stefan Sauer
1074a4e99a Merge branch '0.10'
Conflicts:
	docs/gst/gstreamer-sections.txt
	gst/Makefile.am
	gst/gst.c
	gst/gst.h
	gst/gstevent.c
	gst/gstevent.h
	gst/gstmessage.h
	gst/gstquark.c
	gst/gstquark.h
	gst/gstquery.c
	gst/gstquery.h
	tests/check/Makefile.am
2012-04-02 21:33:10 +02:00
Alexander Saprykin
63256d271d Add generic table of contents (TOC) support 2012-04-02 10:49:38 +02:00
Wim Taymans
9a1cd17136 GstBufferPoolParams -> GstBufferPoolAcquireParams
Because those flags are not from the bufferpool but for the acquire function.
2012-03-15 14:01:44 +01:00
Wim Taymans
5a21eb36c7 query: register queries like events
Also register queries with a QueryType that allows us to check if the event is
sent in the right direction. Add a serialized query type because we will need
this for the allocation query.
Remove the QueryTypeDefinition stuff, it is not used anymore and we now use
custom queries and separate API for them.
Update defs.
2012-03-14 14:51:16 +01:00
Sebastian Dröge
6b4091a30d Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbaseparse.c
	libs/gst/base/gstbasetransform.c
	plugins/elements/gsttee.c
2012-03-08 10:19:52 +01:00
Sebastian Dröge
c8cde669b7 gst: Fix 'comparison of unsigned enum expression >= 0 is always true' compiler warning 2012-03-06 12:16:19 +01:00
Philippe Normand
bd9d196700 core: don't ship gsttrace.h private header
Include it explicitely in gst.c and no longer include it in gst.h.
That header was made private in 1969b94267.
2012-01-30 10:15:33 +01:00
Tim-Philipp Müller
e115c28ae4 gst: ref new enum type in gst_init() 2012-01-28 18:49:44 +00:00
Tim-Philipp Müller
f1f11098fe gst: don't ref GType for private enum for which there's no GType any more 2012-01-27 17:45:39 +00:00
Wim Taymans
321ee10bd6 trace: rework alloc tracing
Remove trace, we use debug log for that
Make alloc trace simpler, removing some methods.
Activate alloc trace with a GST_TRACE=3 environment variable.
Dump leaked objects atexit.
Provide an offset in the object where the GType can be found so that more
verbose info can be given for objects.
Remove -T option from gst-launch because tracing is now triggered with the
environment variable.
2012-01-27 17:54:43 +01:00
Wim Taymans
166f6e1cc5 trace: make alloc trace work for miniobject again 2012-01-27 15:33:48 +01:00
Tim-Philipp Müller
1654b7f1d7 Use GLib's type for GError instead of our own
We introduced our own when GLib didn't want to add a GType
for GError. But now that there is one, we can use GLib's
unconditionally and remove our version.
2012-01-22 15:16:14 +00:00
Tim-Philipp Müller
13d91d1f6c Use recent GLib API unconditionally now that we depend on the latest GLib 2012-01-22 01:25:22 +00:00
Tim-Philipp Müller
612abd89dd trace: don't use deprecated GStaticMutex API in (still) public header 2012-01-22 00:42:34 +00:00
Tim-Philipp Müller
ed80a5cd4b registry: rename gst_registry_get_default() to gst_registry_get()
It's not really a default if there is only one that can't be changed.

Should we return a ref like e.g. g_volume_monitor_get() does?
2012-01-02 02:22:51 +00:00
Tim-Philipp Müller
be04f3945c index: remove GstIndex and GstIndexFactory for now
There are many good use cases for GstIndex and we want
to add it back again in some form, but possibly not with
the current API, which is very powerful (maybe too powerful),
but also a bit confusing. At the very least we'd need to
make the API bindings-friendly.
2011-12-30 18:32:57 +00:00
Stefan Sauer
7d6e165007 gst: unref the two cotnroller types in _deinit() 2011-12-30 17:57:41 +01:00
Wim Taymans
aca4fabfad gst: deinit meta flags too 2011-12-28 14:51:50 +01:00
Edward Hervey
a51c408161 gst: Initialize new GstMetaFlags in init_post() 2011-12-28 12:25:59 +01:00
Stefan Sauer
a80401b22c controller: move GstControlledProperty into a separate class
Add a GstControlBinding class. This is a preparation for making the
controlsources generate double valued control curves and do the gparamspec
mapping in the control binding. Now the API in GstObject is again mostly
for convenience.
2011-12-25 18:50:45 +01:00
Tim-Philipp Müller
a1daf846f3 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/gstobject.h
	libs/gst/check/gstcheck.h
	libs/gst/controller/gstcontroller.c
	plugins/elements/gstidentity.c
	tools/gst-xmlinspect.c
2011-12-04 15:38:09 +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
Wim Taymans
facf937276 sample: add new sample miniobject
Add a new simple miniobject that is a combination of a GstBuffer, GstCaps,
GstSegment and other arbitrary info organized in a GstStructure. This object can
be used to exchange samples between an element and the application or for
storing album art in tags etc.
2011-12-01 16:37:46 +01:00
Wim Taymans
165af7c903 gst: add new flags 2011-11-22 18:40:49 +01:00
Wim Taymans
12d5f03453 pad: fix scheduling mode enums
GstPadActivateMode -> GstPadMode
GST_PAD_ACTIVATE_* -> GST_PAD_MODE_*
2011-11-18 12:39:55 +01:00
Tim-Philipp Müller
682704750c urihandler: pass GError argument to gst_uri_handler_set_uri()
Also let gst_uri_handler_set_uri check already if the protocol
is supported, so that not every uri handler has to do that
itself.
2011-11-13 18:04:55 +00:00
Tim-Philipp Müller
4f004eff38 pad: rename GstActivateMode to GstPadActivateMode
These might be useful:
sed -i -e 's/GstActivateMode/GstPadActivateMode/g' `git grep GstActivateMode | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_ACTIVATE_/GST_PAD_ACTIVATE_/g'    `git grep GST_ACTIVATE_   | sed -e 's/:.*//' | sort -u`
2011-11-01 00:25:02 +00:00
Tim-Philipp Müller
bffc9207b5 pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return}
Better now than later in the cycle. These might come in handy:

sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g'   `git grep GstProbeReturn  | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g'          `git grep GST_PROBE_      | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GstProbeType/GstPadProbeType/g'       `git grep GstProbeType    | sed -e 's/:.*//' | sort -u`
2011-11-01 00:15:17 +00:00
Johan Dahlin
6cd0287bdb introspection: Skip gst_init_get_option_group
It uses GOptionGroup which is not wrappable

https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:23:57 +02:00
Tim-Philipp Müller
ac40ab45b3 info: make _gst_debug_init() private for now
This was a FIXME for 0.11. I guess a case could be made to keep it around
separately for apps or libraries that only want to use GStreamer's debugging
system, but it seems more likely they'd just copy the two source files into
their own tree if the case. Also, things like types wouldn't be initialised
without gst_init(). We can still make it public again if anyone needs it,
but then we should make it a proper function and not hide it behind
underscores.
2011-10-08 20:15:46 +01:00
Wim Taymans
f3b0d3cdbe init: add _get_type() functions
Remove gst_mini_object_register() and add a GST_DEFINE_MINI_OBJECT macro to
define a _get_type() function for the boxed miniobject.
Remove a bunch of custom _get_type() functions and replace them with the
miniobject macro.
Rename some _init method to _priv_*_initialize() like the rest of them.

Inspired by patch from Johan Dahlin and see bug #657603
2011-08-29 15:34:30 +02:00
Wim Taymans
4145598972 gst: add some _priv prefixes to private methods 2011-08-29 13:27:26 +02:00
Wim Taymans
7ee57702a8 buffer: pluralize the buffer flags 2011-08-25 14:09:37 +02:00
Wim Taymans
8170c34c94 Merge branch 'master' into 0.11
Conflicts:
	gst/gstbuffer.h
	gst/gstcaps.c
	gst/gstcaps.h
	gst/gstevent.c
2011-08-22 12:33:35 +02:00
Josep Torra
abda75bcf5 gst: use GstDebugLevel enum type to fix a warning building with ICC
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:13:03 +01:00
Wim Taymans
3bb21e0203 gst: add class ref/unref 2011-07-05 16:38:06 +02:00
Edward Hervey
ba8c8bb2c8 gst: Add enum/flags (de)registration in gst_(de)init 2011-06-06 11:21:23 +02:00
Wim Taymans
9597545d23 structure: more cleanups
gst_structure_get_type() -> _gst_structure_type to avoid method calls for
getting the GType that initialized at the start.
Hide some structure fields in private data so that we can change the
implementation.
Move structure equality check from caps.c to structure.c where it belongs.
2011-05-11 18:17:45 +02:00
Wim Taymans
4372869e80 pad: implement more sticky events
Remove the context again, adding an extra layer of refcounting and object
creation to manage an array is too complicated and inefficient. Use a simple
array again.
Also implement event updates when calling gst_pad_chain() and
gst_event_send_event() directly.
2011-05-06 11:14:02 +02:00
Wim Taymans
e72d062b33 gst: init the GType early 2011-05-05 13:17:08 +02:00
Wim Taymans
c4751ec8c1 Revert "context: use context on buffers instead of caps"
This reverts commit 9ef1346b1f.

Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
2011-05-05 13:17:08 +02:00
Wim Taymans
9ef1346b1f context: use context on buffers instead of caps
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
2011-05-04 18:59:47 +02:00
Sebastian Dröge
f51a23a83c Merge branch 'master' into 0.11 2011-04-16 08:59:58 +02:00
Sebastian Dröge
379d5dfb07 bufferlist: Add boxed type for GstBufferListIterator for gobject-introspection 2011-04-14 16:14:02 +02:00
Sebastian Dröge
2d7c81f1d7 parse: Add boxed type for GstParseContext for gobject-introspection 2011-04-14 16:14:01 +02:00
Wim Taymans
468ec5bc40 bufferlist: simplify bufferlists
We now have multiple memory blocks as part of the buffers and we can therefore
reduce the bufferlist to a simple array of buffers.
2011-03-31 17:51:02 +02:00
Wim Taymans
a12ede3fb1 Merge branch 'master' into 0.11-fdo
Conflicts:
	gst/gst.c
	libs/gst/base/gstcollectpads.c
2011-03-28 20:11:20 +02:00
Wim Taymans
100a3799bb gst: add class init 2011-03-28 20:08:46 +02:00
Wim Taymans
121ab46aa6 memory: remove memory metadata again 2011-03-28 20:08:46 +02:00
Wim Taymans
1af328e785 memory: more work on porting the unit tests 2011-03-28 20:08:46 +02:00
Edward Hervey
09d83e589a gstcaps: new API : gst_caps_intersect_full
Just like gst_caps_intersect, but adds a new parameter 'mode'
that allows selecting the intersection algorithm to use.

Currently we have GST_CAPS_INTERSECT_MODE_ZIG_ZAG (default) and
GST_CAPS_INTERSECT_MODE_FIRST.

API: gst_caps_intersect_full
API: GstCapsIntersectMode
API: GST_CAPS_INTERSECT_MODE_ZIG_ZAG
API: GST_CAPS_INTERSECT_MODE_FIRST

https://bugzilla.gnome.org/show_bug.cgi?id=617045
2011-03-24 11:14:18 -03:00
Wim Taymans
3b916bf57c gst: add flag registration 2011-03-04 17:43:24 +01:00
Wim Taymans
0a89debaf7 gst: add pool flags type 2011-03-02 11:24:27 +01:00
Wim Taymans
6f4a733063 metadata: Rename to GstMeta
Rename to the shorter GstMeta
Add docs
Add api to get metadata by API
2011-02-25 13:15:25 +01:00
Wim Taymans
8468dadc77 buffermeta: add beginnings of buffer metadata
Add first implementation of arbitrary buffer metadata. We use a simple linked
linked of slice allocated metadata chunks. Future implementations could use
something more performant.
Add get, remove, iterate methods to handle the metadata.
2011-02-25 10:34:47 +01:00
Wim Taymans
f78ceed43a gst: fix type registration
We need to have the types of the miniobjects before registering the
tranforms.
2011-02-23 12:01:55 +01:00
Wim Taymans
70be8d8d95 improve type registration 2011-02-23 10:35:36 +01:00
Wim Taymans
1037fd9919 deinit: add progress type class unref 2011-02-16 17:56:38 +01:00
Wim Taymans
4a1ad4407d gst: register new type 2011-02-15 18:55:22 +01:00
Wim Taymans
56826a5ee6 event: add QoS event type
Add a parameter to the QoS event to specify the QoS event type.
Update docs and add unit test.

See #638891
2011-02-10 15:21:45 +01:00
Tim-Philipp Müller
daa9c92038 gst: remove safety check for GLib < 2.8
Don't worry about accidentally using GLib < 2.8 at runtime anymore.
2011-01-05 15:36:55 +00:00
Tim-Philipp Müller
3256c708be docs: gst: more gobject introspection annotations
Many of these are superfluous, added for clarity.
2010-12-07 18:37:04 +00:00
Arun Raghavan
904c1a7a1d gst: Add a gst_is_initialized() API
For one, this will allow libraries that expect applications to
initialize GStreamer before using their API to have a check for this
condition.

https://bugzilla.gnome.org/show_bug.cgi?id=627438
2010-08-20 19:35:01 +02:00
Wim Taymans
aa68b600f5 gst: remove \n from debug statements 2010-08-04 10:28:32 +02:00
Sebastian Dröge
c8b06272bc gst: Fix usage of glib_check_version()
It returns NULL if the installed GLib version is as least as
new as the required version and some explanatory string otherwise.
2010-07-26 14:59:51 +02:00
Edward Hervey
625c4e2d80 GstPad: Add new pad linking method with configurable checks.
To be used for cases where we don't need all checks to be validated.

API: gst_pad_link_full
API: GstPadLinkCheck

https://bugzilla.gnome.org/show_bug.cgi?id=622504
2010-06-23 18:42:35 +02:00
Tim-Philipp Müller
3d6d9ca4e1 Bump GLib requirement to 2.20
See http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement
2010-04-30 13:10:16 +01: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
Benjamin Otte
8fa19a360c win32: Add prototype for DllMain() 2010-03-11 18:37:24 +01:00
Benjamin Otte
a9d1a493a7 Fixes for -Wwrite-strings
This changes some APIs in compatible ways:
- Some functions now take "const char *" arguments, not "char *"
- Some structs now have "conts char *" members, not "char *"
The changes may cause warnings when compiling with the right warning
flags. You've been warned.

Also adds -Wwrite-strings as a warning flag in configure.ac.

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:50:10 +01:00
Benjamin Otte
3234c0128b Fixes for -Wold-style-definition
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:45:35 +01:00
Tim-Philipp Müller
6c6f20e0b6 init: don't spew warning about late g_thread_init()s if GLib >= 2.23.2
Late g_thread_init() is fine with newer GLib versions and done automatically
from g_type_init() there, so don't warn if the application hasn't called
g_thread_init() yet when gst_init() is called with new GLib versions.

Fixes #608398.
2010-01-30 13:45:58 +00:00
Sebastian Dröge
f137d188cb build: Define G_THREADS_MANDATORY everywhere
We require threads to be supported in any case and defining this
will simplify the mutex, condition variable, etc. macros from gthread
to not always check if threads are really supported.

Fixes bug #607481.
2010-01-20 09:51:16 +01:00
Stefan Kost
cfebdcd452 annotations: add annotations to gst_init_check too 2009-10-28 10:14:36 +02:00
Stefan Kost
b66a4dbd42 docs: tell more about what happens in gst_init.
Add links to gst_update_registry and the env-vars.
2009-10-28 09:58:52 +02:00
Stefan Kost
369a63b11c docs: remove reference to OGI and rephrase sections docs
The OGI links are dead, so remove them. Also remove the paragraph that pointed
to OGI and DS. Only mentioning DS there made it a but pointless. Add a generic
paragraph instead that tells a bit about the usecases gstreamer covers.
2009-10-28 09:38:45 +02:00
Jan Schmidt
1f4e477033 registry: Rearrange some things.
Prepare to land the external plugin helper process
2009-10-06 19:51:41 +01:00
Sebastian Dröge
7c031ae4d0 gst: Add gobject-introspection support
Partially fixes bug #550616.
2009-09-05 10:28:46 +02:00
Tim-Philipp Müller
d628988e0a make check: add check for enum type class unrefs in gst_deinit() too
Just because we can really.
2009-06-24 09:28:01 +01:00
Jan Schmidt
c2e980f827 init: Fix indent, and ref the gst_buffer_list_item_get_type() class
Fix the check tests by reffing the GstBufferList class. Run gst-indent
to make git happy about some existing stuff
2009-06-21 00:09:53 +01:00
Руслан Ижбулатов
7ad8d2e54c Replaced deprecated win32-compatibility function with undeprecated one.
Fixes #560442.
2009-06-17 09:52:33 +01:00
Tim-Philipp Müller
fb007e5d50 Initialise some more types in gst_init(), esp. the new enum types
Possibly fixes GObject class creation/unref race conditions when
creating the last-message string in fakesink for events with
structures that have fields with these enum types.
2009-05-12 20:58:32 +01:00
Jonas Holmberg
d99cf4db1b bufferlist: add docs/build/debug/unittest
See #572285
2009-05-12 15:18:52 +02:00
Tim-Philipp Müller
01b93c1ef2 xmlregistry: remove the old xml registry
No point in keeping it around really. Fixes #577926.
2009-05-12 00:09:58 +01:00
Yaakov Selkowitz
eacfe25cf9 gst_init: relocatability is unnecessary on Cygwin
See #555978.
2009-04-17 11:39:59 +01:00
Wim Taymans
0c059ad2de windows: initial commit for terminal colors 2009-03-18 17:30:12 +01:00