Commit graph

2975 commits

Author SHA1 Message Date
Sebastian Dröge
202f463170 netclientclock: Add NTPv4 support
This uses all of the netclientclock code, except for the generation and
parsing of packets. Unfortunately some code duplication was necessary
because GstNetTimePacket is public API and couldn't be extended easily
to support NTPv4 packets without breaking API/ABI.
2015-06-06 23:00:44 +02:00
Sebastian Dröge
8d77759834 ptp: Initial implementation of a PTP clock
GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in
slave-only mode, that allows a GStreamer pipeline to synchronize
to a PTP network clock in some specific domain.

The PTP subsystem can be initialized with gst_ptp_init(), which then
starts a helper process to do the actual communication via the PTP
ports. This is required as PTP listens on ports < 1024 and thus
requires special privileges. Once this helper process is started, the
main process will synchronize to all PTP domains that are detected on
the selected interfaces.

gst_ptp_clock_new() then allows to create a GstClock that provides the
PTP time from a master clock inside a specific PTP domain. This clock
will only return valid timestamps once the timestamps in the PTP domain
are known. To check this, the GstPtpClock::internal-clock property and
the related notify::clock signal can be used. Once the internal clock
is not NULL, the PTP domain's time is known. Alternatively you can wait
for this with gst_ptp_clock_wait_ready().

To gather statistics about the PTP clock synchronization,
gst_ptp_statistics_callback_add() can be used. This gives the
application the possibility to collect all kinds of statistics
from the clock synchronization.

https://bugzilla.gnome.org/show_bug.cgi?id=749391
2015-06-03 13:55:28 +02:00
Sebastian Dröge
fe3249b0e1 clock: Add GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC and related API
gst_clock_wait_for_sync(), gst_clock_is_synced() and gst_clock_set_synced()
plus a signal to asynchronously wait for the clock to be synced.

This can be used by clocks to signal that they need initial synchronization
before they can report any time, and that this synchronization can also get
completely lost at some point. Network clocks, like the GStreamer
netclientclock, NTP or PTP clocks are examples for clocks where this is useful
to have as they can't report any time at all before they're synced.

https://bugzilla.gnome.org/show_bug.cgi?id=749391
2015-06-03 13:53:27 +02:00
Luis de Bethencourt
94df7f329b docs: fix typo in draft-klass.txt 2015-05-26 14:46:16 +01:00
Luis de Bethencourt
8115dd07ae code-reviews: remove obsolete code reviews
This obsolete folder hasn't been touched since 2001 and has no purpose. It
confuses new developers.
2015-05-26 14:03:28 +01:00
Jan Schmidt
f9e5178dd1 gstvalue: Add GstFlagSet type
GstFlagSet is a new type designed for negotiating sets
of boolean capabilities flags, consisting of a 32-bit
flags bitfield and 32-bit mask field. The mask field
indicates which of the flags bits an element needs to have
as specific values, and which it doesn't care about.

This allows efficient negotiation of arrays of boolean
capabilities.

The standard serialisation format is FLAGS:MASK, with
flags and mask fields expressed in hexadecimal, however
GstFlagSet has a gst_register_flagset() function, which
associates a new GstFlagSet derived type with an existing
GFlags gtype. When serializing a GstFlagSet with an
associated set of GFlags, it also serializes a human-readable
form of the flags for easier debugging.

It is possible to parse a GFlags style serialisation of a
flagset, without the hex portion on the front. ie,
+flag1/flag2/flag3+flag4, to indicate that
flag1 & flag4 must be set, and flag2/flag3 must be unset,
and any other flags are don't-care.

https://bugzilla.gnome.org/show_bug.cgi?id=746373
2015-05-25 16:23:33 +10:00
Reynaldo H. Verdejo Pinochet
5d14d5bb7c docs/design/part-negotiation.txt: minor corrections 2015-05-16 14:14:30 -03:00
Stefan Sauer
b8c6ebd0f2 gstobject: add gst_object_has_as_ancestor and deprecate previous function
The old gst_object_has_ancestor will call the new code. This establishes the
symetry with the new gst_object_has_as_parent.

API: gst_object_has_as_ancestor()
2015-05-15 13:55:19 +02:00
Stefan Sauer
3492105a06 gstobject: rename gst_object_has_parent to gst_object_has_as_parent
This avoid confusion with a potential punction that check if a gstobject has-a
parent.

API: gst_object_has_as_parent()
2015-05-15 13:45:18 +02:00
Reynaldo H. Verdejo Pinochet
e7e36d36fd docs/design/part-conventions.txt: minor corrections 2015-05-09 22:10:30 -03:00
Reynaldo H. Verdejo Pinochet
c4b558e0e3 docs/design/part-context.txt: minor corrections 2015-05-09 22:04:52 -03:00
Reynaldo H. Verdejo Pinochet
25257ccf58 docs/design/part-clocks.txt: minor corrections 2015-05-09 22:01:04 -03:00
Tim-Philipp Müller
a70055b585 docs: update porting guides to mention new device probing API 2015-05-02 17:16:38 +01:00
Reynaldo H. Verdejo Pinochet
e394e62578 docs/design/part-states.txt: minor corrections 2015-05-01 20:39:26 -03:00
Alex Ashley
abdafb0d64 protection: add GstProtectionMeta to support protected content
In order to support some types of protected streams (such as those
protected using DASH Common Encryption) some per-buffer information
needs to be passed between elements.

This commit adds a GstMeta type called GstProtectionMeta that allows
protection specific information to be added to a GstBuffer. An example
of its usage is qtdemux providing information to each output sample
that enables a downstream element to decrypt it.

This commit adds a utility function to select a supported protection
system from the installed Decryption elements found in the registry.
The gst_protection_select_system function that takes an array of
identifiers and searches the registry for a element of klass Decryptor that
supports one or more of the supplied identifiers. If multiple elements
are found, the one with the highest rank is selected.

This commit adds a unit test for the gst_protection_select_system
function that adds a fake Decryptor element to the registry and then
checks that it can correctly be selected by the utility function.

This commit adds a unit test for GstProtectionMeta that creates
GstProtectionMeta and adds & removes it from a buffer and performs some
simple reference count checks.

API: gst_buffer_add_protection_meta()
API: gst_buffer_get_protection_meta()
API: gst_protection_select_system()
API: gst_protection_meta_api_get_type()
API: gst_protection_meta_get_info()

https://bugzilla.gnome.org/show_bug.cgi?id=705991
2015-04-18 12:24:06 +01:00
Tim-Philipp Müller
199c8ba561 docs: design: fix some 0.10-isms in GstSegment docs
1) segment.accum -> segment.base

2) Refer to GstSegment members as S.foo instead of
NS.foo, the event is now called a segment event
rather than newsegment event.

3) There's no more abs_rate field in GstSegment,
and there never was an abs_applied_rate field.

https://bugzilla.gnome.org/show_bug.cgi?id=690564
2015-04-04 19:31:42 +01:00
Nicolas Dufresne
e684e9ea68 doc: Add gst_segment_to_running_time_full 2015-04-03 16:32:16 -04:00
Vincent Penquerc'h
d6ae9c0feb segment: add gst_segment_is_equal
It beats memcmp due to the 'reserved' fields.

API: gst_segment_is_equal()

Found via, but probably not directly linked to,
https://bugzilla.gnome.org/show_bug.cgi?id=738216
2015-04-03 12:10:33 +01:00
Olivier Crête
59d9992ed0 pipeline: Add binding friendly gst_pipeline_get_pipeline_clock()
Also skip gst_pipeline_get_clock() and gst_pipeline_set_clock() from the
bindings as they are confused with gst_element_*_clock().

API: gst_pipeline_get_pipeline_clock()

https://bugzilla.gnome.org/show_bug.cgi?id=744442
2015-04-02 17:33:22 -04:00
Thibault Saunier
506afa54df basetransform: Add a method to let subclasses cleanly update srcpad caps
API:
    gst_base_transform_update_src

https://bugzilla.gnome.org/show_bug.cgi?id=734424
2015-04-02 17:16:23 -04:00
Tim-Philipp Müller
5bed94924a docs: pwg: fix missing comma and 0.10-ism in code sample
https://bugzilla.gnome.org/show_bug.cgi?id=747267
https://bugzilla.gnome.org/show_bug.cgi?id=747266
2015-04-02 21:18:39 +01:00
Michael Catanzaro
5b6ab53e7f docs: Fix typos
https://bugzilla.gnome.org/show_bug.cgi?id=746585
2015-03-25 23:36:59 +00:00
Tim-Philipp Müller
e6a0f52e3c adapter: add gst_adapter_take_buffer_list()
API: gst_adapter_take_buffer_list()
2015-03-14 17:22:22 +00:00
William Manley
fc765592a1 meta: Add GstNetControlMessageMeta
GstNetAddress can be used to store ancillary data which was received with
or is to be sent alongside the buffer data.  When used with socket sinks
and sources which understand this meta it allows sending and receiving
ancillary data such as unix credentials (See `GUnixCredentialsMessage`)
and Unix file descriptions (See `GUnixFDMessage`).

This will be useful for implementing protocols which use file-descriptor
passing in payloaders/depayloaders without having to re-implement all the
socket handling code already present in elements such as multisocketsink,
etc.  This, in turn, will be useful for implementing zero-copy video IPC.

This meta uses the platform independent `GSocketControlMessage` API
provided by GLib as a part of GIO.  As a result this new meta does not
require any new dependencies or any conditional compliation for
portablility, although it is unlikely to do anything useful on non-UNIX
platforms.
2015-03-14 13:54:51 +01:00
Vivia Nikolaidou
6ec3c4bc66 utils: Add gst_bin_sync_children_states()
gst_bin_sync_children_states() will iterate over all the elements of a bin and
sync their states with the state of the bin. This is useful when adding many
elements to a bin and would otherwise have to call
gst_element_sync_state_with_parent() on each and every one of them.

https://bugzilla.gnome.org/show_bug.cgi?id=745042
2015-03-13 12:50:48 +00:00
Vincent Penquerc'h
7b48b7a5bc docs: clarify min-latency wording in part-latency.txt
https://bugzilla.gnome.org/show_bug.cgi?id=744338
2015-03-04 11:02:41 +00:00
Luis de Bethencourt
f54ef68958 docs: remove dead link
Remove dead link to wiki page for SubmittingPatches

https://bugzilla.gnome.org/show_bug.cgi?id=730311
2015-02-24 18:14:47 +00:00
Sebastian Dröge
fd3a064c97 design/part-latency: Minor logic fix
The maximum latency will be the element's minimum latency or bigger,
not bigger than the element's minimum latency or bigger.
2015-02-12 11:26:26 +02:00
Sebastian Dröge
ee8d67ef2c design/part-latency: Add more details about min/max latency handling
These docs missed many details that were not obvious and because of that
handled in a few different, incompatible ways in different elements and base
classes.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 17:53:04 +02:00
Stefan Sauer
0461c9f21d docs: ignore libcheck headers that use doxygen comments 2014-12-29 12:05:27 +01:00
Sebastian Rasmussen
13f9fda2c3 docs: Add missing interfaces to documentation
https://bugzilla.gnome.org/show_bug.cgi?id=742057
2014-12-28 12:22:59 +00:00
Sebastian Dröge
1f6d5d3ff5 structure/caps: Add gst_{structure,caps}_filter_and_map_in_place()
https://bugzilla.gnome.org/show_bug.cgi?id=739765
2014-12-16 18:22:46 +01:00
Sebastian Dröge
bc11a1b79d caps: Add gst_caps_foreach() and gst_caps_map_in_place()
https://bugzilla.gnome.org/show_bug.cgi?id=739765
2014-12-16 18:22:46 +01:00
Stefan Sauer
8102b66c41 docs: add new preset api 2014-12-12 21:54:51 +01:00
Sebastian Dröge
154eefecc9 Don't compare booleans for equality to TRUE and FALSE
TRUE is 1, but every other non-zero value is also considered true. Comparing
for equality with TRUE would only consider 1 but not the others.

Also normalize booleans in a few places.
2014-12-01 09:51:37 +01:00
Tim-Philipp Müller
a44ae03be1 docs: add GST_GL_* environment variables to 'Running GStreamer' section 2014-11-25 09:39:40 +00:00
Jan Alexander Steffens (heftig)
5a930aa642 gstobject: Add gst_object_has_parent()
Adds gst_object_has_parent, which works like gst_object_has_ancestor
but does not ascend further.

API: gst_object_has_parent()
2014-11-10 10:03:57 +01:00
Felix Schwarz
24428e9326 docs: pwd: fix typos
https://bugzilla.gnome.org/show_bug.cgi?id=738612
2014-10-16 12:53:55 +01:00
Guillaume Desmottes
cea054c84a docs: pwg: fix two typos
https://bugzilla.gnome.org/show_bug.cgi?id=738153
2014-10-10 10:32:12 +01:00
Guillaume Desmottes
2cc55af046 docs: pwg: fix typo in 'Dynamic negotiation' section
The point of this example is to show how to set caps
on the source pad once it has been set on the sink pad.
So, in passthrough mode, the caps is just copied to the
source pad.

https://bugzilla.gnome.org/show_bug.cgi?id=738153
2014-10-10 10:31:49 +01:00
David Waring
54c5f1855c GstUri: Add GstUri miniobject to handle URIs in an RFC 3986 compliant fashion
https://bugzilla.gnome.org/show_bug.cgi?id=725221
2014-09-29 12:19:05 +03:00
Jonas Holmberg
4a304a7774 flowcombiner: add a gst_flow_combiner_clear() method
https://bugzilla.gnome.org/show_bug.cgi?id=737359

API: gst_flow_combiner_clear()
2014-09-25 15:40:42 +01:00
Tim-Philipp Müller
eefe8be9fe docs: pwg: fix some links to the API docs
https://bugzilla.gnome.org/show_bug.cgi?id=736762
2014-09-19 00:33:58 +01:00
Wim Taymans
a7d7d9305f docs: fix typo 2014-09-16 16:08:08 +02:00
Thibault Saunier
87a79673b0 check: Add a function to check destruction of objects
Add a method letting people to ensure that unreffing one object
leads to its destruction, and possibly the destruction of more object
(think destruction of a GstBin etc...).

https://bugzilla.gnome.org/show_bug.cgi?id=736477
2014-09-12 17:18:21 +02:00
Guillaume Desmottes
692606bdd2 manual: fix typo in advanced-dataaccess.xml
https://bugzilla.gnome.org/show_bug.cgi?id=735609
2014-08-29 11:35:09 +03:00
Tim-Philipp Müller
86d7a597f0 bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
Adds API to get or peek a sub-reader of a certain size from
a given byte reader. This is useful when parsing nested chunks,
one can easily get a byte reader for a sub-chunk and make
sure one never reads beyond the sub-chunk boundary.

API: gst_byte_reader_peek_sub_reader()
API: gst_byte_reader_get_sub_reader()
2014-08-15 10:03:26 +01:00
Sebastian Dröge
9861003939 concat: Add documentation and integrate into documentation build 2014-08-12 15:39:09 +03:00
Sebastian Rasmussen
4cf6a6e086 tests: Add missing unrefs of objects after use
Unreffing the objects returned by gst_bin_get_by_name() and
gst_pipeline_get_use() were missing in several tests, so add these.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734345
2014-08-06 13:47:11 +02:00
Sebastian Dröge
98a5de66b9 Release 1.4.0 2014-07-19 16:46:41 +02:00
Sebastian Dröge
ed39f8b5b7 Release 1.3.91 2014-07-11 10:46:01 +02:00
Sebastian Rasmussen
863ba1a598 docs: Fix documentation typos and inconsistencies
* GstGlobalDeviceMonitor was renamed to GstDeviceMonitor
 * Expand GST_MESSAGE_DEVICE to the full enum value names
 * Correct the incorrect references to the GstDeviceProvider interfaces
 * Describe caps arguments for gstcheck interface
 * Add missing docs for GstNetAddressMeta and its add function
 * Add docs for toc helper macros
 * Avoid refering to GstValueList type as done elsewhere

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786
2014-07-09 09:22:11 +02:00
Sebastian Rasmussen
05cd4f89d3 docs: Cleanup interface references in docs
* Delete references to removed interfaces
 * Add missing documentation sections
 * Fix duplicate interface references for GstDevice

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786
2014-07-09 09:21:32 +02:00
Sebastian Dröge
417fac010b Release 1.3.90 2014-06-28 11:13:13 +02:00
Olivier Crête
6d12b33945 devicemonitor: Make it possible to add multiple filters
Each filter will include a GstCaps and a set of classes to match
2014-06-26 21:01:38 -04:00
Olivier Crête
c2583cae90 GstDeviceMonitor: Rename from GstGlobalDeviceMonitor 2014-06-26 15:08:46 -04:00
Olivier Crête
7992174a1a DeviceProvider: Rename from DeviceMonitor 2014-06-26 14:45:30 -04:00
Sebastian Dröge
755ca23148 Release 1.3.3 2014-06-22 18:07:42 +02:00
Tim-Philipp Müller
2092754ed1 device: rename "klass" and get_klass() to "device-class" and _get_device_class()
There's some precedent in GstElementFactory, but a
"klass" property just seems weird.
2014-06-21 01:26:46 +01:00
Olivier Crête
77db6bf3d6 GstDevice: Document GstDevice and related classes 2014-06-20 16:55:06 -04:00
Wim Taymans
45c61db152 downloadbuffer: improve start/stop in buffering query
The start and stop should represent the currently downloading region.
The estimated-total should represent the remaining time to download
the currently downloading region. This makes it a lot more useful
for applications because they can then use those values to update
the fill region and use the estimated time to delay playback.
Update the docs with this clarification.
2014-06-03 22:17:17 +02:00
Tim-Philipp Müller
a6d9c1a3c3 docs: add GstFlowCombiner 2014-05-27 10:05:51 +01:00
Nicolas Dufresne
103a40b6ce bufferpool: Add method and virtuals to set flushing state
Currently there is no other way to unlock a buffer pool other then
stopping it. This may have the effect of freeing all the buffers,
which is too heavy for a seek. This patch add a method to enter and
leave flushing state. As a convenience, flush_start/flush_stop
virtual are added so pool implementation can also unblock their own
internal poll atomically with the rest of the pool.  This is fully
backward compatible with doing stop/start to actually flush the pool
(as being done in GstBaseSrc).

https://bugzilla.gnome.org/show_bug.cgi?id=727611
2014-05-26 13:31:21 -04:00
Sebastian Dröge
07334eca5a Release 1.3.2 2014-05-21 13:06:34 +02:00
Tim-Philipp Müller
1cb650383d docs: remove reference to Mandrake and packages we no longer provide
https://bugzilla.gnome.org/show_bug.cgi?id=730312
2014-05-18 10:54:33 +01:00
Wim Taymans
7e60572425 docs: fix typo 2014-05-15 16:41:58 +02:00
Tim-Philipp Müller
fa94322349 sparsefile: keep it private as helper API for downloadbuffer
There's no expectation that any other element or applications
might want to use this helper API any time soon, so keep it
private for the time being. There were open questions regarding
portability and binding-friendliness too.

This also removes the gio dependency of -base again.

https://bugzilla.gnome.org/show_bug.cgi?id=729951
https://bugzilla.gnome.org/show_bug.cgi?id=729949
2014-05-13 20:05:55 +01:00
Tim-Philipp Müller
b17ea57223 docs: pick up GstBaseParse hierarchy and properties 2014-05-13 19:14:08 +01:00
Tim-Philipp Müller
de6968de7f docs: expose GstPushSrcClass in documentation
Might come in handy in case someone wants to derive from it.
2014-05-13 19:10:43 +01:00
Nicolas Dufresne
194db480e0 bufferpool: Add an helper to validate config
When we call gst_buffer_pool_set_config() the pool may return FALSE and
slightly change the parameters. This helper is useful to do the minial required
validation before accepting the modified configuration.

https://bugzilla.gnome.org/show_bug.cgi?id=727916
2014-05-08 13:11:14 -04:00
Wim Taymans
451d0e3b0d downloadbuffer: update docs 2014-05-08 16:54:57 +02:00
Sebastian Dröge
473c008199 Release 1.3.1 2014-05-03 17:41:41 +02:00
Tim-Philipp Müller
3d990799ab docs: add new device probing API to docs table of contents
https://bugzilla.gnome.org/show_bug.cgi?id=729440
2014-05-03 12:14:43 +01:00
Nicolas Dufresne
2077e404ca doc: Add GstDevice* to gstreamer-sections.txt
https://bugzilla.gnome.org/show_bug.cgi?id=729440
2014-05-03 10:22:07 +02:00
Xavi Artigas
3b617f1fb2 docs: enhancements to porting guide documentation
https://bugzilla.gnome.org/show_bug.cgi?id=727754
2014-04-28 10:46:49 +01:00
Sebastian Dröge
3b331155e1 query: Add boolean to URI query to specify if a redirect is permanent or not 2014-04-28 10:03:15 +02:00
Felipe Ortiz
c10663ba3e docs: add docs for various GstPad macros
https://bugzilla.gnome.org/show_bug.cgi?id=723652
2014-04-26 23:14:36 +01:00
Tim-Philipp Müller
b2722a45dd Revert "docs: add docs for various GstPad macros"
This reverts commit d17438d5fd.

This commit featured the wrong author, sorry.
2014-04-26 23:12:13 +01:00
Tim-Philipp Müller
6eb6d9ec38 docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 21:21:51 +01:00
Showayb Zahda
d17438d5fd docs: add docs for various GstPad macros
https://bugzilla.gnome.org/show_bug.cgi?id=723652
2014-04-26 17:05:41 +01:00
Sebastian Dröge
d445027ec1 event: Add running-time-offset field to all events
Events passing through #GstPads that have a running time
offset set via gst_pad_set_offset() will get their offset
adjusted according to the pad's offset.

If the event contains any information that related to the
running time, this information will need to be updated
before usage with this offset.
2014-04-10 08:25:50 +02:00
Stefan Sauer
0fb6a15a65 toc: expand GstTocEntry with loop fields
Add loop_type and repeat_count fields to GstTocEntry plus setters and getters.
This allows to represent edit-lists in a toc as well as loops in instruemnts (wav, xi).

API: gst_toc_entry_set_loop
API: gst_toc_entry_get_loop
2014-03-16 16:55:55 +01:00
Sebastian Rasmussen
3de939cb5b adapter: Adapt gst_adapter_copy() for bindings
This is done by introducing a new gst_adapter_copy_bytes() call that
returns a GBytes structure.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725476
2014-03-15 13:16:16 +01:00
Tim-Philipp Müller
6e56c3df80 docs: update plugin docs 2014-03-11 21:55:46 +00:00
Stefan Sauer
4a38acaa10 pad: add debug helper for GstPadLinkReturn names
Add a helper like gst_flow_get_name() for GstPadLinkReturn. Use this in core.
API: gst_pad_link_get_name()
2014-03-11 21:50:36 +01:00
Wim Taymans
41cdfb710e docs: add some more new API do docs 2014-02-27 16:46:45 +01:00
Sebastian Dröge
ab9fdf13a0 structure: Add getters for int64 and uint64 values 2014-02-25 15:41:45 +01:00
Jan Alexander Steffens (heftig)
a2742a575b pwg: Update raw properties
Using info from gst-plugins-base/docs/design .

Encoded streams might make use of the raw properties, so list them all under foo/* .
For foo/raw, only note which of these properties are mandatory.

I didn't take a closer look at the raw formats yet. Those might still be out-of-date.

https://bugzilla.gnome.org/show_bug.cgi?id=724187
2014-02-17 18:47:20 +01:00
Stefan Sauer
f5fae6f339 docs: add the boxed types to the .types.in
This makes them show up in the object hierarchy.
2014-02-15 22:35:37 +01:00
Stefan Sauer
b892b438cc docs: gtkdoc is not good at parsing inline functions in headers
Mark the inline function, so that gtkdoc skips them. Avoids some warnings about
unparsable declarations.
2014-02-15 21:27:23 +01:00
Sebastian Dröge
f47c704b99 basesrc: Add gst_base_src_set_automatic_eos() API
This defaults to TRUE and if it is set to FALSE it is the subclasses
responsibility to return GST_FLOW_EOS from the create() vmethod once
the stream is done.
2014-02-13 12:09:06 +01:00
William Manley
be8eeabefc docs: Fix location of plugins and registry in home directories
Fixes out of date documentation left over since 0.10.  In 1.0 plugins are
stored in $XDG_DATA_HOME and the registry in $XDG_CACHE_HOME conformant
with the XDG Base Directory Specification[1].

[1]: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

https://bugzilla.gnome.org/show_bug.cgi?id=724132
2014-02-11 20:56:48 +01:00
Sebastian Rasmussen
f0047132a1 docs: add missing seqnum file for distribution
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723997
2014-02-10 09:35:34 +01:00
Tim-Philipp Müller
b23af1f2f2 docs: document GST_TAG_*ENCODING environment variables
https://bugzilla.gnome.org/show_bug.cgi?id=721850
2014-02-09 16:53:55 +00:00
Tim-Philipp Müller
eee7aa5f15 docs: enable parallel build of subdirectories
We can build gtk docs, ADM, PWG and FAQ in parallel.
2014-02-09 16:47:53 +00:00
Sebastian Dröge
a00cc4338a manual: Fix build by using the correct C file name 2014-02-04 22:23:06 +01:00
Sebastian Dröge
b110286e95 manual: Clean up code a bit to be suitable for the docs 2014-02-04 21:36:18 +01:00
Todd Agulnick
cb1657fcea manual: Replace manual's effectswitch.c with newer test-effect-switch.c
https://bugzilla.gnome.org/show_bug.cgi?id=721100
2014-02-04 21:35:12 +01:00
Stefan Sauer
f6d638153c docs: fix more gtk-doc warnings 2014-02-01 16:18:13 +01:00
Stefan Sauer
b06e86fb18 docs: unhide docs for allocator
Unhinde the class docs. Tech gtk-doc about GST_EXPORTS.
2014-01-31 08:36:55 +01:00
Stefan Sauer
6b5ccf31aa part-toc: emphasize that the later chapters are design draft ideas 2014-01-29 22:48:04 +01:00
Stefan Sauer
bdb1f268a6 part-toc: add format specific information 2014-01-29 20:37:34 +01:00
Thiago Santos
5880c9c4c3 docs: design: add part-seqnums
Hopefully clarifies how seqnums should be used and copied from
events to events/messages when those are handled.

https://bugzilla.gnome.org/show_bug.cgi?id=722791
2014-01-24 09:31:44 -03:00
Nicolas Dufresne
ba7de077fb doc: Update sections with the new rounding macros 2014-01-14 16:22:31 -05:00
Stefan Sauer
4f70bd5a5a docs: ensure GstBufferPools shows up as with GObject features
GstBufferPool is a GstObject, add the _get_type function to the types file.
2014-01-13 20:51:03 +01:00
Stefan Sauer
fb2140b627 design/part-toc.txt: update design docs 2014-01-02 20:18:36 +01:00
Erik Andresen
2cbab400b2 docs: fix memory leak of appsink example in manual
https://bugzilla.gnome.org/show_bug.cgi?id=721076
2013-12-26 11:21:29 +00:00
William Jon McCann
26df7fa26d docs: fix project links
https://bugzilla.gnome.org/show_bug.cgi?id=720665
2013-12-18 11:43:35 +00:00
Tim-Philipp Müller
d92361ba52 docs: moving plugins: minor 0.10 -> 1.0 fix
Spotted by Jay Fenlason
2013-12-13 22:52:05 +00:00
Sebastian Rasmussen
53ae1b2c9c docs: Fix typos in function/object descriptions
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720029
2013-12-07 17:11:12 +00:00
Sebastian Rasmussen
249a775d2b docs: add missing files for distribution
* add some documentation files in docs/design
 * add docs/list-ulink.xsl so check in docs/manual works

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719814
2013-12-03 23:50:36 +00:00
Sebastian Rasmussen
49950e57ad docs: add missing docs, fixing doc errors
* add many missing declarations to sections
 * GstController has been removed, update docs
 * skip GstIndex when generating documentation
 * rephrase so gtkdoc doesn't imagine return value
 * add missing argument description for gst_context_new()
 * document GstOutputSelectorPadNegotiationMode and move to header-file

https://bugzilla.gnome.org/show_bug.cgi?id=719614
2013-12-03 00:11:59 +00:00
Wim Taymans
02b64ee03b systemclock: Add gst_system_clock_set_default
Used for setting the default system clock that is obtained through
gst_system_clock_obtain(), which is sometimes needed for unit
testing.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711269
2013-11-11 12:25:14 +01:00
Reynaldo H. Verdejo Pinochet
a3431f5d8b docs: fix common typos emited/eachother/... 2013-10-31 16:28:06 -07:00
Antonio Ospite
c76aaaaa1d pwg: rename the "samplerate" variable to make example code compilable
In one of the examples about gst_my_filter_setcaps() there is a variable
declared as "rate", but then the name "samplerate" is used when setting
the caps.

Use the name "rate" everywhere in gst_my_filter_setcaps().

https://bugzilla.gnome.org/show_bug.cgi?id=710876
2013-10-30 18:46:37 +01:00
Fabian Kirsch
4ceeee9ff8 doc: fix forward reference about ghost pads
https://bugzilla.gnome.org/show_bug.cgi?id=711089
2013-10-29 22:06:31 +00:00
Tim-Philipp Müller
40872f26ae docs: design: fix some fixes 2013-10-28 12:55:19 +00:00
Tim-Philipp Müller
20c2008ef8 docs: flesh out gst-uninstalled entry in faq some more
https://bugzilla.gnome.org/show_bug.cgi?id=709916
2013-10-26 09:48:06 +01:00
Fabian Kirsch
d0dd23cf9f docs: FAQ update to mention create-uninstalled-setup.sh
https://bugzilla.gnome.org/show_bug.cgi?id=709916
2013-10-26 09:41:26 +01:00
Stefan Sauer
0089bcd3e2 design: flesh out the tracing design a little more 2013-10-25 20:05:03 +02:00
Reynaldo H. Verdejo Pinochet
941cfd14d5 docs: Gram and nit fixes for part-meta.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
8a7ad85b23 docs: Gram and nit fixes for part-element-source.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
4d3b1d1558 docs: Gram and nit fixes for part-sink.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
a6b018a3bc docs: Gram and nit fixes for part-conventions.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
3abad71867 docs: Gram and nit fixes for part-controller.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
e6dda14148 docs: Gram and nit fixes for part-context.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
11503e4b3f docs: Gram and nit fixes for part-clocks.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
3d693f387f docs: Gram and nit fixes for part-caps.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
72edc18465 docs: Gram and nit fixes for part-buffer.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
20c32ffbdf docs: Gram and nit fixes for part-bufferpool.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
06a79347f3 docs: Gram and nit fixes for part-buffering.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
52810aa6ee docs: Gram and nit fixes for part-messages.txt 2013-10-24 12:06:01 -07:00
Reynaldo H. Verdejo Pinochet
eb57390198 docs: Gram and nit fixes for part-memory.txt 2013-10-24 12:06:01 -07:00
Thibault Saunier
8a5adf9c68 docs: Add gst_pad_store_sticky_event to sections.txt
So it appears in the generated documentation
2013-10-14 18:08:55 -03:00
Reynaldo H. Verdejo Pinochet
94a3394edf core: Fix max DEBUG_LEVEL incongruence on 5 vs 9
In the docs and the autocompletion logic the maximum
value jumped incongruently between 5 and 9.
2013-10-10 13:06:14 -07:00
Fabian Kirsch
0db5ae7962 docs: Fix some reference URIs
https://bugzilla.gnome.org/show_bug.cgi?id=709804
2013-10-10 13:15:45 +02:00
Tim-Philipp Müller
89ae3c2a82 docs: fix function name in qos design docs 2013-10-05 10:09:00 +01:00
Sebastian Dröge
cd202c647b Release 1.2.0 2013-09-24 14:07:02 +02:00
Sebastian Dröge
7d76c2d538 Release 1.1.90 2013-09-19 10:48:24 +02:00
Sebastian Dröge
f09b122453 context: Add convenience function gst_context_has_context_type() 2013-09-19 09:49:40 +02:00
Sebastian Dröge
29ccafb83b context: Update docs 2013-09-18 21:42:42 +02:00
Sebastian Dröge
2ae9809ae8 context: Update documentation 2013-09-17 13:36:49 +02:00
Mathieu Duponchelle
ff05a4698e meta: Add a #define for memory metadata 2013-09-09 15:33:54 +02:00
Sebastian Dröge
7a0d219862 Release 1.1.4 2013-08-28 12:36:16 +02:00
Thiago Santos
581c4297d0 dataqueue: add gst_data_queue_push_force
Adds a variant of the _push function that doesn't check the queue limits
before adding the new item. It is useful when pushing an element to the
queue shouldn't lock the thread.

One particular scenario is when the queue is used to serialize buffers
and events that are going to be pushed from another thread. The
dataqueue should have a limit on the amount of buffers to be stored to
avoid large memory consumption, but events can be considered to have
negligible impact on memory compared to buffers. So it is useful to be
used to push items into the queue that contain events, even though the
queue is already full, it shouldn't matter inserting an item that has
no significative size.

This scenario happens on adaptive elements (dashdemux / mssdemux) as
there is a single download thread fetching buffers and putting into the
dataqueues for the streams. This same download thread can als generate
events in some situations as caps changes, eos or a internal control
events. There can be a deadlock at preroll if the first buffer fetched
is large enough to fill the dataqueue and the download thread and the
next iteration of the download thread decides to push an event to this
same dataqueue before fetching buffers to other streams, if this push
locks, the pipeline will be stuck in preroll as no more buffers will be
downloaded.
There is a somewhat common practice in dash streams to have a single
very large buffer for audio and one for video, so this will always
happen as the download thread will have to push an EOS right after
fetching the first buffer for any stream.

API: gst_data_queue_push_force

https://bugzilla.gnome.org/show_bug.cgi?id=705694
2013-08-13 12:00:48 -03:00
Wim Taymans
9920f37f69 design: fix typo 2013-08-02 16:24:31 +02:00
Sebastian Dröge
5af3380860 Release 1.1.3 2013-07-29 13:34:53 +02:00
Sebastian Dröge
75d9454bf4 gst: Add new group-id field to the stream-start event
All streams that have the same group id are supposed to be played
together, i.e. all streams inside a container file should have the
same group id but different stream ids. The group id should change
each time the stream is started, resulting in different group ids
each time a file is played for example.
2013-07-22 15:30:10 +02:00
Руслан Ижбулатов
797fcd1d49 info: Add debug color mode option
This allows to explicitely set the debug output color
mode to UNIX on every platform, enable it (use platform
default color mode) or enable it.

https://bugzilla.gnome.org/show_bug.cgi?id=674320
2013-07-18 14:30:44 +02:00
Sebastian Dröge
356ef049d3 query: Add gst_query_has_context_type() 2013-07-16 15:16:16 +02:00
Sebastian Dröge
dd9ebd3ed0 Release 1.1.2 2013-07-11 15:12:39 +02:00
Jonas Holmberg
0ea8748c6b check: Added gst_check_setup_events_with_stream_id()
Added a new function gst_check_setup_events_with_stream_id(), since
gst_check_setup_events() does not work with multiple pads.

https://bugzilla.gnome.org/show_bug.cgi?id=703377
2013-07-01 15:54:11 +02:00
Stefan Sauer
1de0c60c1a docs: add missing file for doc-link check 2013-06-18 11:40:28 +02:00
Stefan Sauer
6ca26e9a00 docs: fix some external links 2013-06-16 15:07:35 +02:00
Stefan Sauer
128763bb74 docs: check for broken links in docs
The check is done using curl (if available). It lists the curl exit code + http
status code (for those > 399) together with the use of the url in the code. The
check is not fatal.
2013-06-16 14:45:08 +02:00
Stefan Sauer
1dea024564 docs: change https to http urls
Thank you browser for needlessly changing to https for static doc pages.
2013-06-16 13:05:21 +02:00
Stefan Sauer
eba146a5f4 docs: update links to developer.gnome.org
The URL layout has changed. Fix the links and comment out one paragraph where
the doc is gone.
Fixes #702135
2013-06-16 11:45:18 +02:00
Sebastian Dröge
bd48ba333d structure: Add gst_structure_new_from_string()
Convenience API for bindings, gst_structure_from_string() returns
a tuple (structure, end_ptr) in bindings and is unintuitive to use
because of that.
2013-06-14 13:05:38 +02:00
Sebastian Dröge
f50d555755 Release 1.1.1 2013-06-05 18:33:12 +02:00
Andrzej Bieniek
0a32b1e2d6 manual: update elements to match the rest of "Boost priority of a thread" section 2013-06-01 20:10:38 +01:00
Andrzej Bieniek
40d76021ba manual: fix comment in effectswitch example 2013-06-01 20:10:37 +01:00
Andrzej Bieniek
78f4fecff3 manual: fix a typo in "Inserting data with appsrc" section 2013-06-01 20:10:37 +01:00
Andrzej Bieniek
4f11b70ea7 pwg: fix a few typos 2013-06-01 20:10:37 +01:00
Andrzej Bieniek
55c4db6295 docs: remove double "the" 2013-06-01 20:10:36 +01:00
Olivier Crête
bd5708a0cd docs: Remove mention of gconf* elements
Instead recommend pulsesrc/sink for audio, there is nothing GNOME
specific for video.
2013-05-24 16:25:09 +09:00
Nicolas Dufresne
a1866e64c5 check: Add helper that sends initial events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-10 09:23:28 +02:00
Tim-Philipp Müller
dc6aabfc55 docs: fix typo in metadata section in app dev manual
There's no g_tag_list_get_xyz().
2013-05-07 15:18:06 +01:00
Stefan Sauer
a2170fc7b8 porting-to-1.0.txt: nit clarification
It is the process context that matters.
2013-04-29 21:12:42 +02:00
Wim Taymans
25fc832d49 pwg: improve allocation docs 2013-04-27 20:34:43 +02:00
Tim-Philipp Müller
1905219235 porting-to-1.0.txt: add troubleshooting section
Add note about "cannot register existing type `GstObject'" warning.
2013-04-24 12:30:07 +01:00
Sebastian Dröge
ce8cb1f1b3 part-context: Write some design documentation about GstContext 2013-04-19 15:01:20 +02:00
Sebastian Dröge
eaf1f0db99 part-caps: Add more information about caps features, caps semantics and how to use them 2013-04-19 13:22:48 +02:00
Sebastian Dröge
7ae54c34e5 capsfeatures: Add documentation about ANY GstCapsFeatures 2013-04-19 11:24:38 +02:00
Sebastian Dröge
03c3738b67 context: Add gst_context_writable_structure() and let get_structure() return const again 2013-04-18 10:18:22 +02:00
Philippe Normand
54c678a21e query: new _BANDWIDTH_LIMITED flag
Source elements with limited bandwidth capabilities and supporting
buffering for downstream elements should set this flag when answering
a scheduling query. This is useful for the on-disk buffering scenario
of uridecodebin to avoid checking the URI protocol against a list of
hardcoded protocols.

Bug 693484
2013-04-16 16:52:08 +02:00
Tim-Philipp Müller
4997fd9f94 docs: fix missing flacdec in porting-to-1.0 pipeline example 2013-04-16 09:55:00 +01:00
Tim-Philipp Müller
9dd28ae13b docs: add note about decoders and parsers to porting-to-1.0 doc 2013-04-16 09:03:52 +01:00
Douglas Bagnall
142a55042f manual: Patch manual to refer to porting guide
https://bugzilla.gnome.org/show_bug.cgi?id=697845
2013-04-15 09:27:15 +02:00
Tim-Philipp Müller
7b19944280 info: use new internal printf for debug message printing
and remove all the printf extension/specifier stuff for
the system printf. Next we need to add back the custom
specifiers to our own printf implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=613081
2013-04-12 23:05:57 +01:00
Tim-Philipp Müller
ea69c642bf docs: document type change of playbin's connection-speed property in porting docs 2013-04-11 22:32:39 +01:00
Douglas Bagnall
e62abd3f2f Toggle upstream and downstream in RECONFIGURE paragraph. 2013-04-11 10:42:39 +02:00
Руслан Ижбулатов
0168411031 Use xlstproc instead of docbook2html 2013-04-09 20:58:30 +02:00
Brendan Long
71787d40f3 porting-to-1.0.txt: subtitle text media types changed as well
https://bugzilla.gnome.org/show_bug.cgi?id=697153
2013-04-03 10:19:54 +01:00
Sebastian Dröge
65c650d7d4 capsfeatures: Add GST_CAPS_FEATURES_ANY
This is equal to any other caps features but results in unfixed caps. It
would be used by elements that only look at the buffer metadata or are
currently working in passthrough mode, and as such don't care about any
specific features.
2013-04-02 22:17:22 +02:00
Stefan Sauer
5b5774b399 draft-tracing: update draft design with timer ideas 2013-04-01 18:00:54 +02:00
Sebastian Dröge
c989ff928b design: Add the caps features and describe how the caps operations actually work 2013-03-31 19:09:46 +02:00
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
Tim-Philipp Müller
0e5c1dcf64 event: add stream flags to stream-start event
API: gst_event_set_stream_flags()
API: gst_event_parse_stream_flags()
API: GST_STREAM_FLAG_NONE
API: GST_STREAM_FLAG_SPARSE

https://bugzilla.gnome.org/show_bug.cgi?id=600648
2013-03-31 11:47:40 +01:00
Sebastian Dröge
dd831b8114 element: Add API to get the last set context from an element
Elements should override GstElement::set_context() and also call
gst_element_set_context() to keep this context up-to-date with
the very latest context they internally use.
2013-03-31 11:26:32 +02:00
Stefan Sauer
782511d8f6 design: add initial tracing design doc 2013-03-30 14:13:10 +01:00
Edward Hervey
8c542540c2 Revert "pwg: Fix example"
This reverts commit 5d64f27d88.

*sigh*
2013-03-29 18:49:14 +01:00
Edward Hervey
5d64f27d88 pwg: Fix example 2013-03-29 18:46:18 +01:00
Sebastian Dröge
b909061031 gst: Add new GstContext miniobject for sharing contexts in a pipeline 2013-03-29 16:40:21 +01:00
Olivier Crête
ec16d6b0a4 buffer: Add annotations and pygi friendly extraction function
API: gst_buffer_extract_dup
2013-03-27 13:07:03 -04:00
Wim Taymans
21851c0e04 porting: hopefully clarify a little 2013-03-27 17:08:51 +01:00
Tim-Philipp Müller
a76885f333 toc: some documentation updates 2013-03-24 17:53:35 +00:00
Tim-Philipp Müller
1e6e797d65 docs: fix typo in query function example in Plugin Writer's Guide
https://bugzilla.gnome.org/show_bug.cgi?id=696142
2013-03-22 20:02:57 +00:00
Stefan Sauer
31fbc86e09 design: update controller design and add some thoughs for future stuff 2013-03-08 13:16:40 +01:00
Stefan Sauer
a0cff35ae8 manual: improve the controller docs a little more
Reword some sections. Explain value mappings better.
2013-02-28 23:00:46 +01:00
Wim Taymans
4df4fd33b1 memory: add method to check memory type
Add a method to check if a memory was allocated from an allocator of
a given type.

API: gst_memory_is_type()
2013-02-26 15:37:24 +01:00