Commit graph

394 commits

Author SHA1 Message Date
Sebastian Dröge
e86973bc10 utils: Remove deprecated gst_element_factory_can_{sink,src}_caps() 2011-03-17 10:54:27 +01:00
Sebastian Dröge
4e16347bfa Merge branch 'master' into 0.11
Conflicts:
	gst/gstbufferlist.c
2011-03-17 10:50:43 +01:00
Tim-Philipp Müller
90b4dc4869 utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED
GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers,
not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI
pages in wiki.

https://bugzilla.gnome.org/show_bug.cgi?id=402141
2011-03-10 17:50:51 +00:00
Edward Hervey
430e83ca2a win32: Update .def file for API addition 2011-03-10 16:46:04 +01:00
Wim Taymans
f0e3902a37 Merge branch 'master' into 0.11 2011-03-10 10:25:07 +01:00
Thijs Vermeir
dbc21e0174 gstutils: replace gst_element_factory_can_{sink,src}_caps
Add new functions to clarify how the caps are compared to the template caps of
the element factory. Improve the docs to point out the difference.

Deprecate: gst_element_factory_can_{src|sink}_caps
API: add gst_element_factory_can_{src|sink}_{any|all}_capps

https://bugzilla.gnome.org/show_bug.cgi?id=402141
2011-03-09 15:28:05 +02:00
Wim Taymans
2247363ab9 defs: update defs 2011-03-02 11:57:40 +01:00
Wim Taymans
d3c9f9247c docs: update bufferpool docs 2011-03-02 11:24:27 +01:00
Wim Taymans
0caa41e173 bufferpool: use GstStructure to configure the pool
Use a GstStructure to provide the pool with the right configuration. Also
provide some helper methods to configure such a structure.
don't pass the config in alloc_buffer, pool implementation will already have
parsed it during set_config.
Update defs
2011-03-02 11:23:21 +01:00
Wim Taymans
8dbb10dac7 fix defs 2011-03-02 11:23:21 +01:00
Wim Taymans
230c3455ac Merge branch 'master' into 0.11
Conflicts:
	gst/gstregistry.h
2011-03-02 11:08:34 +01:00
Wim Taymans
362a724cfb meta: add default memory metadata
Add a metadata implementation for normall malloced memory.
2011-02-27 20:42:15 +01:00
Wim Taymans
58060d7528 meta: separate add and get methods
Make separate api for getting and adding metadata. This allows us to pass extra
parameters to the init functions when creating metadata, which is needed for
specific API implementations.
Add beginnings of memory metadata.
2011-02-27 19:40:45 +01:00
Wim Taymans
0969106993 docs: update docs and defs 2011-02-27 12:21:32 +01:00
Wim Taymans
0210890840 defs: fix defs 2011-02-25 13:23:19 +01:00
Wim Taymans
d7b989bf40 defs: fix defs 2011-02-25 10:37:07 +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
Tim-Philipp Müller
27027a2dd2 uri: add gst_filename_to_uri() that takes relative filenames
Add function that (unlike the GLib equivalent) also accepts paths that
aren't absolute and will clean up relative markers such as ./ and ../
before forming a URI.

Fixes warnings with e.g. filesrc location=foo ! typefind caused by the
recent switch to g_filename_to_uri(), but also actually creates valid
URIs for the first time.

Windows code paths could need some more work, e.g. we don't clean up
the relative markers there for now (because path could have \ and /
as separators).

API: gst_filename_to_uri()
2011-02-24 15:36:52 +00:00
Wim Taymans
bd028a7524 defs: fix defs 2011-02-23 12:08:03 +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
401d73df7f defs: fix defs file for new symbols 2011-02-16 17:56:39 +01:00
Wim Taymans
f5b175972c message: add progress message functions 2011-02-15 18:55:22 +01:00
Wim Taymans
4ee5c61a2d basesink: add property to configure a throttle-time
Add a property to configure the throttle time on a sink. The
property is not yet used.

See #638891
2011-02-10 15:21:45 +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
Sebastian Dröge
8163e51bad clock: API: Add function to re-init periodic GstClockIDs 2011-01-24 19:15:29 +01:00
Tim-Philipp Müller
07c916be92 Back to development 2011-01-23 23:45:40 +00:00
Tim-Philipp Müller
5b04e61a35 Release 0.10.32 2011-01-21 10:25:32 +00:00
Tim-Philipp Müller
9774a8d510 0.10.31.4 pre-release 2011-01-18 10:10:05 +00:00
Tim-Philipp Müller
1e52eeabac 0.10.31.3 pre-release 2011-01-11 18:39:06 +00:00
Tim-Philipp Müller
39c22331c0 0.10.31.2 pre-release 2011-01-07 12:13:37 +00:00
Edward Hervey
04ebbc9f5a GstElement: Add a more flexible way to get request pads.
The new request_new_pad_full vmethod provides an additional caps field,
which allows elements to take better decision process.

Also, add a gst_element_request_pad() function to allow developers to be
able to specify which pad template they want a pad of.

Convert gstutils to use that new method instead of the old one when more
efficient.

This is useful for being able to request pads in a more flexible way,
especially when the element can provide pads whose caps depend on
runtime configuration and therefore can't provide pre-registered
pad templates.

API: GstElement::request_new_pad_full
API: gst_element_request_pad

https://bugzilla.gnome.org/show_bug.cgi?id=637300
2011-01-05 19:46:47 +01:00
Stefan Kost
373be6f14e tags: don't produce duplicated entries when merging same value twice
Add a variant of gst_value_list_concat() that skips duplicates and use that when
merging taglists.

API: gst_value_list_merge()
2011-01-02 22:35:08 +00:00
Wim Taymans
49e0573e74 defs: update defs 2010-12-07 18:33:51 +01:00
Wim Taymans
35d10af06d poll: add method to get a GPollFD 2010-12-03 15:50:38 +01:00
Edward Hervey
b4285611ad gstclock: New API to re-use a single shot GstClockID
API: gst_clock_single_shot_id_reinit

https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Tim-Philipp Müller
a538abad86 Back to development 2010-12-01 23:56:45 +00:00
Tim-Philipp Müller
0dec58311f Release 0.10.31 2010-11-30 17:40:47 +00:00
Tim-Philipp Müller
a7f9e83a2a 0.10.30.5 pre-release 2010-11-18 00:29:41 +00:00
Thiago Santos
1b27e1e792 datetime: Add _from_unix_epoch variants
Adds 2 variants for the gst_date_time_from_unix_epoch function,
one for UTC and another for local time.

API: gst_date_time_new_from_unix_epoch_utc
API: gst_date_time_new_from_unix_epoch_local_time

Fixes #653031

https://bugzilla.gnome.org/show_bug.cgi?id=635031
2010-11-17 09:58:32 -03:00
Tim-Philipp Müller
e250e9c5ba 0.10.30.4 pre-release 2010-11-01 16:06:43 +00:00
Tim-Philipp Müller
029fcf433d 0.10.30.3 pre-release 2010-10-22 17:35:23 +01:00
Tim-Philipp Müller
349899e735 0.10.30.2 pre-release 2010-10-16 00:25:52 +01:00
Tim-Philipp Müller
8834567cd4 win32: define GST_PACKAGE_RELEASE_DATETIME in win32 config.h as well 2010-09-24 00:23:22 +01:00
Wim Taymans
0447e72c97 bufferlist: add function to add a list of buffers
Add a function to add a list of buffers to the bufferlist.
2010-09-17 17:35:45 +02:00
Wim Taymans
1afaa1680f adapter: add function to get a list of buffers
Add a function to retrieve a list of buffers containing the first N bytes from
the adapter. This can be done without a memcpy and should make it possible to
transfer the list to a GstBufferList later.
2010-09-17 17:35:41 +02:00
Tim-Philipp Müller
7e5a9580ef structure: add gst_structure_{id_}take_value()
Add _set_value() variants that take ownership of the value passed
instead of making a copy of the value. This is useful for setting
values to things that aren't refcounted (e.g. GValueArrays or
strings or string arrays, etc.).

API: gst_structure_take_value()
API: gst_structure_id_take_value()

https://bugzilla.gnome.org/show_bug.cgi?id=629831
2010-09-16 19:39:58 +01:00
Stefan Kost
65356fbb7a element-details: allow for arbitrary element details
Add a GstStructure to GstElementClass and GstElementFactory. Add setters/getter.
Handle it in the registry code. Print items in gst-inspect.
Fixes #396774.

API: gst_element_class_set_meta_data(), gst_element_factory_get_meta_data_detail()
2010-09-06 12:31:04 +03:00
Edward Hervey
e724175cd1 win32: Add new symbols from GstElementFactoryList
And here's a reminder since I forgot to put them in my previous
commit.

API: gst_element_factory_list_filter
API: gst_element_factory_list_get_elements
API: gst_element_factory_list_is_type
API: gst_plugin_feature_list_debug
API: gst_plugin_feature_rank_compare_func
API: GstElementFactoryListType
API: GST_ELEMENT_FACTORY_TYPE_ANY
API: GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS
API: GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER
API: GST_ELEMENT_FACTORY_TYPE_DECODABLE
API: GST_ELEMENT_FACTORY_TYPE_DECODER
API: GST_ELEMENT_FACTORY_TYPE_DEMUXER
API: GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER
API: GST_ELEMENT_FACTORY_TYPE_ENCODER
API: GST_ELEMENT_FACTORY_TYPE_FORMATTER
API: GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS
API: GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO
API: GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
API: GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
API: GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
API: GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
API: GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
API: GST_ELEMENT_FACTORY_TYPE_MUXER
API: GST_ELEMENT_FACTORY_TYPE_PARSER
API: GST_ELEMENT_FACTORY_TYPE_PAYLOADER
API: GST_ELEMENT_FACTORY_TYPE_SINK
API: GST_ELEMENT_FACTORY_TYPE_SRC
API: GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER
2010-09-05 10:25:23 +02:00
Philippe Normand
9ef1c47079 gstquery: new buffering_ranges API
Added a new query type to retrieve informations about the areas of the
media currently buffered. See bug 623121.

API: gst_query_add_buffering_range
API: gst_query_get_n_buffering_ranges
API: gst_query_parse_nth_buffering_range
2010-09-03 19:55:25 +02:00
Philippe Normand
b2e6379be8 gstvalue: Add new GstInt64Range type
new GstInt64Range to store gint64 ranges.

API: GST_TYPE_INT64_RANGE
API: gst_value_set_int64_range
API: gst_value_get_int64_range_min
API: gst_value_get_int64_range_max

Fixes bug #627826.
2010-09-01 11:07:37 +02:00
Sebastian Dröge
4e861cefbd utils: Add gst_util_fraction_compare() to the docs and exported symbols 2010-08-28 10:16:37 +02: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
Thiago Santos
f2c18c6c98 gststructure: Adds datetime getter function
Adds gst_structure_get_date_time function

API: gst_structure_get_date_time

Fixes #594504
2010-07-26 11:57:52 -03:00
Thiago Santos
3449bfc30e taglist: Add datetime get functions
Adds _date_time_get and _date_time_get_index functions to
taglist.

API: gst_tag_list_get_date_time
API: gst_tag_list_get_date_time_index

Fixes #594504
2010-07-26 11:57:51 -03:00
Thiago Santos
b4870282cb gstvalue: Adds datetime functions
Adds a datetime functions to gstvalue

Fixes #594504
2010-07-26 11:57:50 -03: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
068e1a6384 Back to development. 2010-07-16 11:16:15 +01:00
Tim-Philipp Müller
5ca0726648 Release 0.10.30 2010-07-15 10:18:12 +01:00
Tim-Philipp Müller
e688f6fb2b 0.10.29.4 pre-release
Also bump libtool versions now (which I meant to do for the first
pre-release but forgot).
2010-07-06 23:52:04 +01:00
Alessandro Decina
3a553f4eda basesink: add accessors for the enable-last-buffer property.
API: gst_base_sink_set_last_buffer_enabled
API: gst_base_sink_is_last_buffer_enabled
2010-07-06 16:39:18 +02:00
Alessandro Decina
7acde37fc1 win32: export gst_clock_id_wait_async_full 2010-07-06 10:46:42 +02:00
Tim-Philipp Müller
dbaae8f244 0.10.29.3 pre-release 2010-06-29 18:48:05 +01:00
Tim-Philipp Müller
484ab2a561 0.10.29.2 pre-release 2010-06-26 17:48:31 +01:00
Edward Hervey
5faf5620f3 gstutils: New gst_element_link_pads_full method
Links the elements with the specified pad linking checks.

API:gst_element_link_pads_full

https://bugzilla.gnome.org/show_bug.cgi?id=622504
2010-06-23 18:42:40 +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
Thiago Santos
9ee11a2af4 taglist: add gst_tag_list_peek_string_index to avoid a copy
Adds a variation of the _get_string_index function that doesn't copy
the string.

API: gst_tag_list_peek_string_index

https://bugzilla.gnome.org/show_bug.cgi?id=621896
2010-06-18 11:49:21 -03:00
Edward Hervey
4a11063768 Revert "GstPad: Add GST_PAD_NEGOTIABLE GstPadFlag"
This reverts commit dc38e75d88.

boom
2010-06-15 11:54:19 +02:00
Edward Hervey
dc38e75d88 GstPad: Add GST_PAD_NEGOTIABLE GstPadFlag
A pad is 'negotiable' when its container element is in a state greater
than GST_STATE_READY

API:gst_pad_is_negotiable
API:gst_pad_set_negotiable
API:GST_PAD_NEGOTIABLE

https://bugzilla.gnome.org/show_bug.cgi?id=618644
2010-06-14 17:08:14 +02:00
Mark Nauwelaerts
d5ed339f20 adapter: add extended masked_scan_uint32_peek that also provides matching value
Also add to .def and docs.

Fixes #619828.

API: gst_adapter_masked_scan_uint32_peek
2010-06-14 15:09:38 +02:00
Edward Hervey
c11723aab7 win32: fix .def file 2010-06-14 13:39:07 +02:00
Edward Hervey
32adac81ee gstcaps: New gst_caps_steal_structure() method
This allows removing structures from caps without them being freed. Helpful when
plugins need to move around structures without having to do an expensive structure
copy.

API:gst_caps_steal_structure

https://bugzilla.gnome.org/show_bug.cgi?id=621527
2010-06-14 13:16:18 +02:00
Tim-Philipp Müller
6773a8c6a2 win32: add pre-generated versions of gstmarshal.[ch] as well
and put them next to the pre-generated enumtypes files for those
not using autotools for buildling GStreamer.
2010-05-31 15:17:31 +01:00
Sebastian Dröge
e35fe4ef9c structure: API: Add gst_structure_fixate_field_string() 2010-05-22 10:01:44 +02:00
Tim-Philipp Müller
24814d22be Back to development. 2010-04-29 15:53:06 +01:00
Tim-Philipp Müller
4e3266345d Release 0.10.29 2010-04-27 23:42:12 +01:00
Tim-Philipp Müller
18c775cbf8 0.10.28.3 pre-release 2010-04-25 21:15:51 +01:00
Tim-Philipp Müller
24f67f76bf 0.10.28.2 pre-release 2010-04-14 23:53:38 +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
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
Benjamin Otte
5c01dcb1f7 remove unused gst_element_default_error()
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 15:24:11 +01:00
Tim-Philipp Müller
b74d73980b Back to development 2010-03-09 17:37:45 +00:00
Tim-Philipp Müller
3d9213ffa2 Release 0.10.28 2010-03-08 23:09:01 +00:00
Tim-Philipp Müller
cebc1a1396 Release 0.10.27 2010-03-05 23:43:26 +00:00
Tim-Philipp Müller
2586004e85 0.10.26.4 pre-release 2010-03-03 19:54:50 +00:00
Tim-Philipp Müller
4818f60cd5 0.10.26.3 pre-release 2010-02-24 00:30:02 +00:00
Tim-Philipp Müller
6a4491efa9 0.10.26.2 pre-release 2010-02-18 20:08:39 +00:00
Thiago Santos
bfff7a1b4e bytewriter: add _fill function
Adds a new function to GstByteWriter that writes
a constant value to a memory area (aka memset).
Useful for adding padding to buffers.

Also updates .def file and docs.

API: gst_byte_writer_fill()
2010-02-12 17:23:29 -03:00
Tim-Philipp Müller
d0ed2b0fd6 Release 0.10.26 2010-02-10 19:17:28 +00:00
Tim-Philipp Müller
edfabdfca9 0.10.25.3 pre-release 2010-02-04 18:30:56 +00:00
Tim-Philipp Müller
10287a9c81 win32: update windows headers to latest version 2010-01-26 19:36:42 +00:00
Stefan Kost
e60216bce8 bin: also remove private function from def file 2010-01-24 23:12:22 +02:00
Wim Taymans
8fff434835 typefind: add a new method that also uses the file extension
Add a method to perform get_range typefinding that also uses the
uri/location extension as an extra hint. It will first try to call the
typefind functions of the factories that handle the given extension. The result
is that in the common case, we only call one typefind function, which speeds up
the typefinding a lot.
2010-01-12 17:34:39 +01:00
Wim Taymans
4718b7ef09 collectpads: add ability to install clipping functions
Add a method to install a clipping function that is called when a buffer is
received. Users of collectpads can then perform clipping on the incomming
buffers.

Also retab the header file a little.

See #590265
2009-12-24 15:25:14 +01:00
Jan Schmidt
332eb4ea4d basesrc: Add gst_base_src_new_seamless_segment()
Merge new function from resindvd into the primary GstBaseSrc for
starting a new seamless segment.

API: gst_base_src_new_seamless_segment()
2009-11-21 18:23:51 +01:00
Sebastian Dröge
fee1ad3a0a event: API: Add sink-message event
gst_event_new_sink_message()
gst_event_parse_sink_message()

This event is used for sending a GstMessage downstream and synchronized
with the stream, to be posted by the sink once it reaches the sink.

Fixes bug #602275.
2009-11-18 13:12:27 +01:00
Sebastian Dröge
0ed24bc50e utils: API: Add multiplication and addition functions for fractions
gst_util_fraction_add()
gst_util_fraction_multiply()

These work on plain integers instead of GValues to
keep the overhead as low as possible.
2009-11-16 09:56:32 +01:00
Sebastian Dröge
e4257e8d5f gstutils: API: Add fraction helper functions
gst_util_greatest_common_divisor()
gst_util_double_to_fraction()
gst_util_fraction_to_double()

Using these instead of going over GValue has much lower overhead.

Also add float<->fraction transform functions for GValue.
2009-11-16 09:56:32 +01:00
Sebastian Dröge
039ef83523 registry: API: Add gst_{default,}_registry_get_feature_list_cookie()
This returns the internal feature list cookie, which changes every
time a feature is added or removed. This can be used by elements
to check if they should update their cached feature lists.
2009-11-10 18:17:26 +01:00
Stefan Kost
f63ecd04a8 pad: rename new api from _refed to _reffed.
Due to popular demand rename the new api as we still can.
API: gst_pad_get_caps_reffed(), gst_pad_peer_get_caps_reffed()
2009-11-05 12:54:32 +02:00
Sebastian Dröge
f9e3b72ff6 structure: API: Add gst_structure_id_has_field{,_typed} 2009-11-02 09:24:10 +01:00