Commit graph

293 commits

Author SHA1 Message Date
Sebastian Dröge
7477b25df5 caps: Add new data type for handling caps features to the caps
These are meant to specify features in caps that are required
for a specific structure, for example a specific memory type
or meta.

Semantically they could be though of as an extension of the media
type name of the structures and are handled exactly like that.
2013-03-31 18:15:52 +02:00
Sebastian Dröge
b909061031 gst: Add new GstContext miniobject for sharing contexts in a pipeline 2013-03-29 16:40:21 +01:00
Simon Feltman
d2b03a4537 g-i: add built enumtypes headers and sources to gir creation
Add gstenumtypes.h/c for inclusion with g-ir-scanner. This fixes
problems where introspection based bindings think GstState is
typeless due to the GType not being included as an annotation.

https://bugzilla.gnome.org/show_bug.cgi?id=691185
2013-01-27 20:55:38 +00:00
Tim-Philipp Müller
64eee27ebc Use GST_*_1_0 environment variables everywhere
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
2013-01-15 13:47:32 +00:00
Tim-Philipp Müller
8c08af2345 gst: don't require gthread-2.0
We don't need to link to gthread-2.0 any longer, since all
the normal thread-related stuff is in GLib proper, and we
don't use g_thread_init() any more.

https://bugzilla.gnome.org/show_bug.cgi?id=689043
2012-11-26 00:26:34 +00:00
Tim-Philipp Müller
ca90ea6e55 Remove GST_USE_UNSTABLE_API guard and defines 2012-09-17 13:35:26 +01:00
Lionel Landwerlin
a30e637406 gst: use configure-detected or externally provided glib-mkenums
To ease cross-compilation.

https://bugzilla.gnome.org/show_bug.cgi?id=677620
2012-08-23 13:54:39 +01:00
Wim Taymans
f362f643ac memory: Make GstAllocator a GstObject
Make GstAllocator a GstObject instead of a GstMiniObject, like bufferpool.
Make a new gstallocator.c file. Make a GstAllocator subclass for the default
allocator.
2012-07-09 16:28:22 +02:00
Sebastian Dröge
b0d89da6b6 gst: Change versioning
Remove GST_MAJORMINOR and replace it by GST_API_VERSION
Also set GST_VERSION_{MAJOR,MINOR,MICRO,NANO} explicitely
now.

All versions are at 1.0.0 now for the release soon but
API/ABI can still change until the 1.0.0 release.

Next release versions until 1.0.0 will be 0.10.9X and
these will be release candidates. GST_VERSION_* will
nonetheless stay at 1.0.0.0.
2012-04-04 14:28: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
566025b993 Add new GstTocSetter interface 2012-04-02 10:49:38 +02:00
Alexander Saprykin
63256d271d Add generic table of contents (TOC) support 2012-04-02 10:49:38 +02:00
Sebastian Dröge
cfe71423f0 gst: Remove gstmarshal.[ch] completely and use the generic marshaller
Fixes bug #671130.
2012-03-02 11:05:48 +01:00
Sebastian Dröge
441402f9d5 gst: Don't install gstmarshal.h
The generic, FFI based marshaller should be used instead of these
and we definitely shouldn't export the marshallers in our public API.
2012-03-02 10:51:42 +01:00
Wim Taymans
1969b94267 trace: remove from public headers 2012-01-27 18:27:16 +01: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
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
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
Stefan Sauer
a1599f5f7e controller: merge controller into gstobject
This make the controller even more lightweight (no extra object, no extra lock,
less indirections). For object that don't use the controller the only 'overhead'
is a 3 unused fields in the gst_object structure.
2011-11-10 22:47:07 +02:00
Edward Hervey
deb8e74cad introspection: Add --warn-all to introspection scanner
... and let's get fixing all those docs !
2011-11-10 13:54:02 +01:00
Stefan Sauer
9a27b9c056 controller: move to core/gstobject
Move the controller to gstobject as a simple delegate. The controller and
controlsource are not classes in core. The controlsources stay separate as a lib
for now. This way we can avoid the qdata lookups.

Also remove controller_init(). There is no more need to link to controller for
elements.

Also sanitize the API. We now have functions to add properties like we had
methods to remove that. That avoids then ref count hacks we had in _new.
2011-11-04 20:11:51 +01:00
Tim-Philipp Müller
221c9423d3 filter: remove gst_filter_run() and deprecated filter func
If someone wants to resurrect this, please use a less
generic name space for it.
2011-10-31 14:16:05 +00:00
Tim-Philipp Müller
0a6ec83336 gst: make compiler warn about unstable API if GST_USE_UNSTABLE_API is not defined
And define it in our own build.
2011-07-05 09:46:43 +01:00
Tim-Philipp Müller
3dbcb73b11 Remove GstImplementsInterface
It was a bit too clever, and didn't really work as an API,
confusing people to no end. Better implement specific methods
whether an interface is usable/available/ready on the interface
itself, or even add GError arguments, rather than try to have
per-instance interfaces.
2011-06-26 22:59:26 +01:00
Tim-Philipp Müller
a4092cd5c4 Remove everything libxml2- and loadsave-related 2011-06-04 15:22:06 +01: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
0fee137dbc context: add helper object to manage events
Add a helper object to manage the events that define the context of a buffer and
a stream.
2011-05-04 15:20:10 +02:00
Sebastian Dröge
caaf5ad528 Merge branch 'master' into 0.11 2011-04-16 16:06:02 +02:00
Tim-Philipp Müller
d22ad73e74 gst: gobject-introspection scanner doesn't need to scan or update plugin info 2011-04-16 13:49:45 +01:00
Sebastian Dröge
bc68243123 gst: make sure gobject-introspection scanner calls gst_init()
https://bugzilla.gnome.org/show_bug.cgi?id=647922
2011-04-16 14:34:41 +02:00
Wim Taymans
6be4dbdb5a Merge branch 'master' into 0.11
Conflicts:
	android/base.mk
	android/controller.mk
	android/dataprotocol.mk
	android/elements.mk
	android/gst-inspect.mk
	android/gst-launch.mk
	android/gst-plugin-scanner.mk
	android/gst.mk
	android/indexers.mk
	android/net.mk
	win32/common/libgstbase.def
2011-04-11 10:26:54 +02:00
Alessandro Decina
3f1ef2255a android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:08:07 +02:00
Edward Hervey
87d16a992c gst: Don't forget to dist gstelementmetadata.h 2011-04-09 04:05:20 +02:00
Wim Taymans
063abd4cf1 memory: add memory implementation 2011-03-28 20:08:45 +02:00
Wim Taymans
8c9e3e6af3 bufferpool: add simple bufferpool helper object 2011-03-02 11:22:44 +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
238b9a57cc Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst/gstelement.c
	gst/gstelement.h
	gst/gstpad.c
	gst/gstutils.c
	libs/gst/base/Makefile.am
	libs/gst/check/Makefile.am
	libs/gst/controller/Makefile.am
	libs/gst/dataprotocol/Makefile.am
	libs/gst/net/Makefile.am
	win32/common/libgstreamer.def
2011-02-22 14:11:59 +01:00
Wim Taymans
4c9287687b atomicqueue: add an atomic queue
Add an atomic queue. The queue can be used from multiple threads simultaneously
and without taking any locks or doing any blocking operations. This makes it
highly scalable for things like the bus, bufferpools and object recycling.
2011-02-16 17:56:38 +01:00
Wim Taymans
920ef127ce element: rework GstElementDetails
Clean up the GstElement structure
Replace GstElementDetails with metadata
2010-12-07 15:33:04 +01:00
Wim Taymans
993eda5004 remove deprecated symbols and methods 2010-12-06 19:18:31 +01:00
Wim Taymans
99775e5271 more 0.10 -> 0.11 2010-12-06 13:21:45 +01:00
Evan Nemerson
4906671694 introspection: Include exported packages information in GIRs
https://bugzilla.gnome.org/show_bug.cgi?id=635389
2010-11-21 00:36:30 +00:00
Tim-Philipp Müller
2797f74c84 gst: add math-compat.h header
Add minimal math-compath.h header where we can define fallback
versions for miscellaneous math functions that aren't always
available, so we don't have to duplicate this in plugins.
The header is not included by default, so needs to be
included explicitly for now.

https://bugzilla.gnome.org/show_bug.cgi?id=630802
2010-10-05 18:31:29 +01:00
Thiago Santos
6425bde6ec gstdatetime: Adds GstDateTime
Adds GstDateTime to represent dates + time + timezone
information.

Tests included.

API: GstDateTime
API: gst_date_time_get_day
API: gst_date_time_get_month
API: gst_date_time_get_year
API: gst_date_time_get_hour
API: gst_date_time_get_microsecond
API: gst_date_time_get_minute
API: gst_date_time_get_second
API: gst_date_time_get_time_zone_offset
API: gst_date_time_new
API: gst_date_time_new_local_time
API: gst_date_time_new_from_unix_epoch
API: gst_date_time_new_now_local_time
API: gst_date_time_new_now_utc
API: gst_date_time_ref
API: gst_date_time_unref

Fixes #594504
2010-07-26 11:57:49 -03:00
Tim-Philipp Müller
e3e58e03b3 build: $(LIBM) belongs into LIBADD not LDFLAGS 2010-04-14 11:40:21 +01:00
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
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
Sebastian Dröge
ce74a1ae19 build: Make some more rules silent if requested 2010-03-09 20:57:17 +00:00
Tim-Philipp Müller
b6e061b4ea build: make sure gst-plugin-scanner gets installed where we expect it
Add check to make sure gst-plugin-scanner really gets installed where
we will look for it later, ie. paths and prefixes are set at configure
time and not specified via make.

Fixes #609941.
2010-02-16 11:33:19 +00:00