Commit graph

146 commits

Author SHA1 Message Date
Stefan Sauer
6e7915d5cd tests/examples: add a demo for the interpolation control source modes
This is in preparation for new modes to be added. In particullar it demonstrates
how the cubic splines overshoot the range.
2015-09-27 11:45:29 +02:00
Lazar Claudiu
cb2c141eac controller: Added absolute direct control binding, example and test
Fixes: 740502
API: gst_direct_control_binding_new_absolute
2015-06-12 10:07:24 +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
Tim-Philipp Müller
6386934b3f tests: remove some pointless ancient code examples 2015-04-28 20:07:40 +01:00
Tim-Philipp Müller
8e6561be91 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 17:49:44 +01:00
Edward Hervey
0865bc02ea tests: Use AM_TESTS_ENVIRONMENT
Needed by the new automake test runner
2015-04-08 16:08:24 +02:00
HoonHee Lee
fadabe8b78 streamiddemux: Add streamiddemux element
Demultiplex a stream to multiple source pads based on the stream ids from the
stream-start events. This basically reverses the behaviour of funnel.

https://bugzilla.gnome.org/show_bug.cgi?id=707605
2015-03-12 14:42:18 +00:00
Jan Schmidt
f9f45834e7 netclock: Add simple network clock server and client examples 2015-01-21 22:27:18 +11:00
Tim-Philipp Müller
afffd9497f examples: controller: fix typo in comments 2014-08-07 14:54:37 +01: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
Wim Taymans
b215950234 example: fix FIXME in example
Use setpriority to raise priority
2013-01-28 13:05:44 +01:00
Tim-Philipp Müller
82c7b2da51 examples: don't compile testrtpool example if pthreads are not available like on win32
Based on patch by: italarab@gmail.com

https://bugzilla.gnome.org/show_bug.cgi?id=688511
2012-11-17 10:28:36 +00:00
Tim-Philipp Müller
666c8c11c6 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:44:48 +00:00
Руслан Ижбулатов
bbc908795b examples: link testrtpool to pthreads
Fixes #686787
2012-10-24 14:25:25 +02:00
Sebastian Dröge
1042857f33 configure: Properly check for pthread
The old check failed on Android for example.
2012-10-22 15:05:24 +02:00
Wim Taymans
b6ccd95b22 manual: add example of no-rebuffer buffering strategy 2012-10-11 17:10:17 +02:00
Wim Taymans
fa14d42a1e manual: talk about playsink
Talk about playsink and give an example of its usage.
2012-10-10 16:43:58 +02:00
Wim Taymans
36c47c89eb manual: add something about uridecodebin 2012-10-10 13:16:22 +02:00
Wim Taymans
775594fa3b manual: remove outdated autoplugging section
Remove autoplugging chapter and point to decodebin/playbin examples.
2012-10-09 17:06:04 +02:00
Wim Taymans
ff4522fe66 manual: Talk about threading
Rework the threading chapter.
Talk about stream-status and give some examples on how to change
the thread priorities.
2012-10-09 16:12:01 +02:00
Wim Taymans
402f0166c1 manual: add example for effect switching 2012-10-08 10:39:30 +02:00
Tim-Philipp Müller
7a5c11a164 examples: .gitignore more binaries from the manual 2012-10-06 12:08:46 +01:00
Wim Taymans
e11ca04ae7 manual: add dynamic capsfilter example 2012-10-04 11:50:58 +02:00
Wim Taymans
cadfeb2cd3 manual: add partial preroll example with probes 2012-10-03 13:09:00 +02:00
Wim Taymans
f31dcf4e71 pwg: add appsink docs 2012-10-02 16:44:28 +02:00
Wim Taymans
cbc46176e0 pwg: rewite data-access chapter
Rewrite the data-access chapter so that we talk about appsrc instead
of the fakesrc hacks.
2012-10-02 16:15:19 +02:00
Wim Taymans
7c24fc7450 manual: fix up the manual
MIME-type -> media types
Fix up the manual in various places with the 1.0 way of doing things
such as probes, static elements, scheduling, ...
Add porting from 0.10 to 1.0 chapter.
Add probe example to build.
Remove some docs for remove components such as GstMixer and
GstPropertyProbe, XML...
2012-09-25 14:45:15 +02:00
Mark Nauwelaerts
abf21d1f6d replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:01:21 +02:00
Wim Taymans
7921e652b6 tests: fix for appsink return value addition 2012-09-14 13:34:24 +02:00
Tim-Philipp Müller
1ead500dad examples: fix bus/fd leak in hello world example
https://bugzilla.gnome.org/show_bug.cgi?id=683470
2012-09-06 15:06:08 +01:00
Tim-Philipp Müller
38e3d6c7fd examples: update Makefile.am android bits in controller example
Should fix build failure reported on IRC.
2012-09-03 18:45:03 +01:00
Tim-Philipp Müller
c354714544 examples: don't put things with side effects inside g_assert()
They will be defined away to NOOPs otherwise in release builds.
2012-08-08 09:53:26 +01:00
Wim Taymans
a2027b5e9b allocator: remove user_data from alloc vmethod
Remove the user_data from the alloc vmethod. Subclasses that implement a new
alloc function can also implement their own vmethod to pass extra arguments. We
can then also require that custom allocators implement an alloc function so that
gst_allocator_alloc() always works.
2012-07-27 12:17:29 +02: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
Tim-Philipp Müller
1c43e3628d examples: fix debug log print formats in memory examples 2012-07-07 15:44:57 +01:00
Wim Taymans
408df31a48 memory: expose the GstAllocation structure
Expose the GstAllocation structure and provide an _init function. This makes it
easier to make 'subclasses' of the allocator that contain more info.
It also allows us to expose the flags on the allocator miniobject.
Make a flag to note that the allocator uses a custom alloc function.
2012-07-06 17:24:32 +02:00
Wim Taymans
a39b13ff9f tests: remove unused includes 2012-07-06 09:11:48 +02:00
Wim Taymans
968de7b725 memory: add more examples
Add an example of a custom allocator with a custom API.
2012-07-05 18:07:52 +02:00
Wim Taymans
50cf7f6a08 memory: add gst_memory_init()
Add a method that memory implementations can call to initialize the standard
GstMemory structure.
Move the parent handling in the _free handler.
Rearrange some internal function parameters so that the order is consistent.
Add more memory examples
2012-07-05 17:11:01 +02:00
Wim Taymans
b2b934a928 tests: add memory example 2012-07-05 16:17:20 +02:00
Wim Taymans
6efb5c9b6b bus: add GDestroyNotify to set_sync_handler() 2012-06-20 12:29:35 +02:00
Tim-Philipp Müller
1f8e6b4fa5 gst_tag_list_free -> gst_tag_list_unref 2012-06-05 15:05:07 +01:00
Sreerenj Balachandran
564eee8cd6 tests: rename playbin2 to playbin and adding some debug info 2012-05-23 10:14:32 +02:00
Stefan Sauer
772c58e255 controller: expand the api to offer functions for plain and GValue arrays
Rename the _get_value_array() functions to _get_g_value_array() and reintroduce
the former to operate on plain unboxed c datatypes (like in 0.10). The _g_value
variants are for bindings while the _value ones are more suited to processing
in elements.
2012-04-25 20:19:23 +02:00
Tim-Philipp Müller
0cfc3cf8a2 task: remove gst_task_set_priority()
It doesn't actually do anything.
2012-04-08 21:17:46 +01: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
5e4c13fc97 controller: constructures for control sources return GstControlSource
Don't return the specific types. In most cases there is no specific api there
anyway.
2012-01-31 12:29:52 +01:00
Stefan Sauer
4deaf9b8be controller: rename control-bindings
gst_control_binding_xxx -> gst_xxx_control_binding for consistency.
2012-01-30 21:18:57 +01:00
Wim Taymans
a521252845 Add new GstMapInfo
Use a structure to hold info about the mapping. The application then keeps track
of this state and we can use it to unmap the memory again later.
2012-01-25 11:54:23 +01:00
Stefan Sauer
b23977cb93 controller: allow different controlbindings
Make controlbinding an abstract baseclass. Move implementation to control-
binding-direct and add a control-binding-argb. Add an example.
2012-01-23 11:03:43 +01:00