Commit graph

910 commits

Author SHA1 Message Date
Tim-Philipp Müller e2cd6ffafc Remove old alloc tracing code now that we have a GstTracer-based replacement
It's been internal API only in 1.x.
2016-08-13 10:10:30 +01:00
Guillaume Desmottes 1ed4140d00 leaks tracer: use G_OS_UNIX to check for signal support
Checking for signal.h is not good enough as it's present in Windows.
Those signals are UNIX specific anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=767857
2016-07-08 12:38:46 +03:00
Guillaume Desmottes 17c37efa83 leaks tracer: add creation stack trace support
This allow us to provide the trace of leaked objects making it easier
to debug.

https://bugzilla.gnome.org/show_bug.cgi?id=767862
2016-07-08 12:07:53 +03:00
Guillaume Desmottes 53d2e8c977 leaks tracer: log alive objects when receiving SIGUSR1
We don't want to automatically catch signals so use an env variable to
enable this feature.

https://bugzilla.gnome.org/show_bug.cgi?id=767857
2016-07-08 11:23:38 +03:00
Sebastian Dröge 52b1d7f42d Back to development 2016-07-06 13:50:56 +03:00
Sebastian Dröge af5c9cbb20 Release 1.9.1 2016-07-06 13:05:02 +03:00
Nirbheek Chauhan 48088867db win32: Don't use dllexport/import when only building statically
If the prototypes in the public API have dllimport in them when building
statically on Windows, the compiler will look for symbols with symbol
mangling and indirection corresponding to a DLL. This will cause a build
failure when trying to link tests/examples/etc.

External users of GStreamer also need to define -DGST_STATIC_COMPILATION
if they want to link to static gstreamer libraries on Windows.

A similar version of this patch has been committed to all gstreamer
repositories.

https://bugzilla.gnome.org/show_bug.cgi?id=767463
2016-06-23 23:39:45 +01:00
Sebastian Dröge 2a023cdc14 configure: Remove unneeded parenthesis from AG_GST_CHECK_CHECKS 2016-03-25 12:59:57 +02:00
Sebastian Dröge c2507ac86e Back to development 2016-03-24 13:32:41 +02:00
Sebastian Dröge 1abf889ddd Release 1.8.0 2016-03-24 11:49:08 +02:00
Sebastian Dröge b6859ed71f Release 1.7.91 2016-03-15 11:56:10 +02:00
Sebastian Dröge e505e1e6cd Release 1.7.90 2016-03-01 18:14:03 +02:00
Sebastian Dröge 9092fce0b0 Back to development 2016-02-19 12:38:21 +02:00
Sebastian Dröge 9e33bfa2c7 Release 1.7.2 2016-02-19 11:47:52 +02:00
Tim-Philipp Müller 8b88fc487f gst.h: Don't spew warnings if GST_USE_UNSTABLE_API is not defined
Only hide GstTracer and GstTracerRecord API behind GST_USE_UNSTABLE_API,
but don't spew any warnings, otherwise everyone has to define this
to avoid compiler warnings.

This reverts parts of commit 89ee5d948d.
2016-01-16 16:00:16 +00:00
Stefan Sauer 89ee5d948d tracer: add a GFlag for the tracer scope
Port all tracers. Add the GST_USE_UNSTABLE_API flag to the internal CFLAGS so
that we don't have to specify this for gir, docs, mkenum, ...
2016-01-16 13:31:51 +01:00
Stefan Sauer e5ca47236e configure: add a new option to disable the tracer hooks
This was previously done via {enable,disable}-gst-debug. Since both subsystems
are independent having separate options is better.
2016-01-06 11:33:34 +01:00
Sebastian Dröge a65e18d890 Back to development 2015-12-24 15:27:12 +01:00
Sebastian Dröge 2a188848eb Release 1.7.1 2015-12-24 13:58:52 +01:00
Koop Mast 6bf15b9d96 configure: Make -Bsymbolic check work with clang.
Update the -Bsymbolic check with the version glib has. This version
works with clang.

https://bugzilla.gnome.org/show_bug.cgi?id=759713
2015-12-21 12:24:11 +01:00
Sebastian Dröge 1efb451154 Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
2015-10-21 14:31:56 +03:00
Stefan Sauer d626c5b996 Revert "tracers: Only build getrusage() tracer if RUSAGE_THREAD is available"
This reverts commit 8ddbf76626.
2015-10-07 12:22:34 +02:00
Sebastian Dröge 8ddbf76626 tracers: Only build getrusage() tracer if RUSAGE_THREAD is available 2015-10-07 11:13:28 +01:00
Stefan Sauer fc9392c10f rusage: add a new rusage tracer
The tracer hooks up to all probes and logs resource usage figures.
2015-10-05 20:59:39 +02:00
Stefan Sauer 4e5d586c7d tracer: initial prototype for the tracing subsystem 2015-10-05 20:59:39 +02:00
Sebastian Dröge 3e8ef4cf5a Update GLib dependency to 2.40.0 2015-10-02 22:18:24 +03:00
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
Sebastian Dröge 8421a1453c Back to development 2015-09-25 23:51:03 +02:00
Sebastian Dröge 2beb654a15 Release 1.6.0 2015-09-25 23:14:33 +02:00
Sebastian Dröge b07b39d013 Release 1.5.91 2015-09-18 19:07:18 +02:00
Igor Rondarev 6972e7a926 configure: Check for socketpair() in -lsocket too
On e.g. QNX it is in an external library, not libc.

https://bugzilla.gnome.org/show_bug.cgi?id=754875
2015-09-11 23:23:50 +02:00
Sebastian Dröge e55e83227d Release 1.5.90 2015-08-19 12:50:56 +03:00
Sebastian Dröge d596d574d9 Back to development 2015-06-25 00:04:07 +02:00
Sebastian Dröge 9909c08807 Release 1.5.2 2015-06-24 23:05:29 +02:00
Sebastian Dröge 1ae38f7ba7 ptp: Check for the actual API we use instead of just looking for __APPLE__
Should fix the build on FreeBSD, DragonFly and other BSDs.

https://bugzilla.gnome.org/show_bug.cgi?id=750530
2015-06-09 11:01:29 +02:00
Sebastian Dröge 270360ca30 Back to development 2015-06-07 16:44:26 +02:00
Sebastian Dröge 100be890d4 Release 1.5.1 2015-06-07 09:41:28 +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 367d4bab2c configure: can use AM_SILENT_RULES unconditionally now
https://autotools.io/automake/silent.html
2015-04-22 10:11:51 +01:00
Tim-Philipp Müller 307dce442a configure: bump automake requirement to 1.14 and autoconf to 2.69
This is only required for builds from git, people can still
build tarballs if they only have older autotools.

https://bugzilla.gnome.org//show_bug.cgi?id=747624
2015-04-22 10:11:28 +01:00
Nicolas Dufresne 038c0a1360 bash-completion: Respect the prefix
Don't try and install the bash helpers outside the defined prefix.

https://bugzilla.gnome.org/show_bug.cgi?id=744877
2015-03-24 13:15:24 -04: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
Mathieu Duponchelle 46e7baff74 bash-completion: Implement in a different way.
+ Gets installed
+ Uses a helper tool, gst-completion-helper, installed in
  bash-completions/helpers.
+ Adds a common script that other tools can source.

https://bugzilla.gnome.org/show_bug.cgi?id=744877
2015-02-23 17:57:57 +01:00
Ilya Konstantinov 05296b35a5 task: Add thread name support on OS X and iOS 2015-02-01 20:11:20 +01:00
Jan Schmidt f9f45834e7 netclock: Add simple network clock server and client examples 2015-01-21 22:27:18 +11:00
Sebastian Rasmussen 0b09573bbe check: Have autotools generate internal-check.h
Previously GStreamer got access to the libcheck interface by including
libs/gst/check/check.h which in turn included internal-check.h in the
same directory. internal-check.h was generated by copying
libs/gst/check/libcheck/check.h which in turn was generated from
check.h.in in the same directory. In this case generating
libs/gst/check/libcheck/check.h is unnecessary, in addition this file
was accidentally distributed in generated project tarballs.

Now libs/gst/check/internal-check.h is generated directly from
libs/gst/check/libcheck/check.h.in by configure. This means that the
libcheck source must include internal-check.h instead of the previously
generated libs/gst/check/libcheck/check.h. However the unnecessary
intermediate step is now skipped.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741359
2014-12-16 16:32:39 +01:00
Sebastian Rasmussen 85c8b5d2c4 check: Apply GStreamer-specific patches
Reintroduced patches:

 * Make sure that fail_if(1) actually fails
   from commit 9f99d056a2

New patches due to updated libcheck (based on 0.9.14):

 * Checks in m4/check-checks.m4 to cater for new dependencies
 * Conditional compile-time compat POSIX fallbacks for libcheck
 * Avoid relative paths for libcheck header files
 * Make timer_create() usage depend on posix timers, not librt
 * Rely on default AX_PTHREAD behavior to allow HAVE_PTHREAD to be used
   when checking for types and functions (like clock_gettime())
 * Avoid double declaration of clock_gettime() when availabe outside of
   librt by making compat clock_gettime() declaration conditional
 * check 0.9.9 renamed _fail_unless() and 0.9.12 later renamed it again
   to _ck_assert_failed(), so ASSERT_{CRITICAL,WARNING}() now calls this
   function
 * Remove libcheck fallback infrastructure for malloc(), realloc(),
   gettimeofday() and snprintf() since either they appear to be
   available or they introduce even more dependencies.

The result is an embedded check in gstreamer that has been tested by
running check tests in core, -base, -good, -bad, -ugly and rtsp-server
on Linux, OSX and Windows.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
2014-12-06 17:48:25 +01:00
Tim-Philipp Müller 66bdae5f33 plugins: add helper function for writing buffers out with writev() 2014-11-30 14:40:46 +00:00
Sebastian Dröge 55c7656a03 uri: Include our own BSD licensed copy of strcasestr() for Windows and others 2014-09-29 16:22:47 +03:00
Sebastian Dröge 34e111f84f Back to development 2014-07-19 18:04:31 +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 Dröge 417fac010b Release 1.3.90 2014-06-28 11:13:13 +02:00
Sebastian Dröge a76f319e3b Back to development 2014-06-22 19:36:14 +02:00
Sebastian Dröge 755ca23148 Release 1.3.3 2014-06-22 18:07:42 +02:00
Sebastian Dröge 683a6ee663 Back to development 2014-05-21 13:23:21 +02:00
Sebastian Dröge 07334eca5a Release 1.3.2 2014-05-21 13:06:34 +02:00
Sebastian Dröge b963319964 Back to development 2014-05-03 20:48:22 +02:00
Sebastian Dröge 473c008199 Release 1.3.1 2014-05-03 17:41:41 +02:00
Sebastian Dröge ab56b96462 configure: Actually use 1.3.0.1 as version to make configure happy 2013-09-24 15:05:16 +02:00
Sebastian Dröge 3217defa69 Back to development 2013-09-24 15:00:17 +02:00
Sebastian Dröge cd202c647b Release 1.2.0 2013-09-24 14:07:02 +02:00
Sebastian Dröge e6acc1462f Back to development 2013-09-19 11:34:51 +02:00
Sebastian Dröge 7d76c2d538 Release 1.1.90 2013-09-19 10:48:24 +02:00
Sebastian Dröge 4a03af8296 Back to development 2013-08-28 13:26:28 +02:00
Sebastian Dröge 7a0d219862 Release 1.1.4 2013-08-28 12:36:16 +02:00
Lubosz Sarnecki 6c11da18a5 build: add subdir-objects to AM_INIT_AUTOMAKE
Fixes warnings with automake 1.14

https://bugzilla.gnome.org/show_bug.cgi?id=705350
2013-08-02 15:25:46 +01:00
Sebastian Dröge 2ee414c1c1 Back to development 2013-07-29 14:47:15 +02:00
Sebastian Dröge 5af3380860 Release 1.1.3 2013-07-29 13:34:53 +02:00
Sebastian Dröge f8fdb61b02 Back to development 2013-07-11 16:57:06 +02:00
Sebastian Dröge dd9ebd3ed0 Release 1.1.2 2013-07-11 15:12:39 +02:00
Sebastian Dröge c8d0936273 Back to development 2013-06-05 18:36:40 +02:00
Sebastian Dröge f50d555755 Release 1.1.1 2013-06-05 18:33:12 +02:00
Sebastian Dröge 18a7a1d062 gst: Add better support for static plugins
API: GST_PLUGIN_STATIC_DECLARE()
API: GST_PLUGIN_STATIC_REGISTER()

Based on a patch by Håvard Graff <havard.graff@tandberg.com>.

This now allows GST_PLUGIN_DEFINE() to create a static plugin if
GST_PLUGIN_BUILD_STATIC is defined. The resulting plugin can be
statically linked or dynamically linked during compilation but
can't be dynamically loaded during runtime.

Also adds GST_PLUGIN_STATIC_DECLARE() and GST_PLUGIN_STATIC_REGISTER(),
which allows to register a static linked plugin easily.
It is still required to manually register every single statically linked
plugin from inside the application as this can't be automated in a portable
way.

A new configure parameter --enable-static-plugins was added that allows
to build all plugins we build here as static plugins.

Fixes bug #667305.
2013-04-15 15:52:18 +02:00
Tim-Philipp Müller 5299a0cd65 printf: deal with some of the HAVE_FOO used in the printf code
Probably needs some more work for MSVC.
2013-04-12 23:05:59 +01:00
Tim-Philipp Müller ff292d530c printf: enable and fix compiler warnings
But suppress -Wformat-nonliteral warnings since sprintf
is used with a runtime-generated format string in our
vasnprintf implementation.
2013-04-12 23:05:58 +01: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 8fc876f09f printf: add our own printf implementation for debug logging
We will add support for our own printf modifiers, so we can
get nice debug log output on all operating systems irrespective
of the specific libc version used.

https://bugzilla.gnome.org/show_bug.cgi?id=613081
2013-04-12 23:05:56 +01:00
Руслан Ижбулатов e2f2ee3582 configure: Also check for clock_gettime in libpthread
libwinpthreads provides POSIX time API.
It also provides libpthread alias for itself, for compatibility, so that
is what we will link with.

Fixes #697550
2013-04-09 20:34:35 +02:00
Tim-Philipp Müller d0c8831f1f configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
AM_CONFIG_HEADER has been removed in the just-released automake 1.13:
https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html

https://bugzilla.gnome.org/show_bug.cgi?id=690881
2012-12-30 23:48:47 +00:00
Edward Hervey 465eb900a9 configure.ac: Update libtool versioning
In order for 1.x and 1.(x+1) versions to not invade on each other
we need to have different lib versions.

So we need a consistent and predictable scheme:
  library version number = MINOR * 100 + MICRO

Ex:
  1.0.0 => 0 (duh)
  1.0.3 => 3
  1.1.0 => 100
  1.1.1 => 101
  1.2.0 => 120
  1.10.5 => 1005
  ....
2012-11-28 18:21:00 +01:00
Tim-Philipp Müller 647cdef6fb gstreamer-1.0.pc: move gmodule-no-export-2.0 dependency to Requires.private
Users of GStreamer are not generally expected to use the GModule API
directly. so don't force them all to link against it.

While we're at it, no need to define this via configure.ac really, just
put the dependencies directly into the .pc.in file.
2012-11-25 23:44:26 +00:00
Tim-Philipp Müller 2e9bc3ba10 configure: update courtesy of autoupdate 2012-11-07 18:15:11 +00:00
Tim-Philipp Müller d90d5acdc6 configure: let AG_GST_PLUGIN_DOCS check for python
And update common for move from AS_PATH_PYTHON to AM_PATH_PYTHON,
which as a side-effect should pick up newer python versions as well.

https://bugzilla.gnome.org/show_bug.cgi?id=563903
2012-10-31 17:52:20 +00:00
Tim-Philipp Müller ebbce54583 Back to feature development 2012-10-25 12:10:27 +01:00
Tim-Philipp Müller 6d44898652 Release 1.0.2 2012-10-25 00:04:49 +01: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
Tim-Philipp Müller ad0a4f4819 Back to development (bug-fixing) 2012-10-07 16:48:25 +01:00
Tim-Philipp Müller c6de3adac8 Release 1.0.1 2012-10-07 13:10:33 +01:00
Tim-Philipp Müller 4b74a78a9f Back to development (bug fixing) 2012-09-24 16:46:57 +01:00
Tim-Philipp Müller 9e167f6f91 Release 1.0.0 2012-09-24 13:27:05 +01:00
Tim-Philipp Müller 2e6d61743f Release 0.11.99 2012-09-17 17:56:44 +01:00
Tim-Philipp Müller ca90ea6e55 Remove GST_USE_UNSTABLE_API guard and defines 2012-09-17 13:35:26 +01:00
Tim-Philipp Müller 29418de194 Back to development 2012-09-14 02:54:52 +01:00
Tim-Philipp Müller b3393cac76 Release 0.11.94 2012-09-14 02:46:34 +01:00
Tim-Philipp Müller a053bfb6f4 configure: add reminder to remove GST_UNSTABLE_API stuff before 1.0.0 2012-09-01 23:54:23 +01:00
Tim-Philipp Müller 8cd5813fa6 gst-element-check.m4: rename AM_GST_ELEMENT_CHECK to GST_ELEMENT_CHECK
And allow passing of a minimum version (if not needed, pass 1.0).

https://bugzilla.gnome.org/show_bug.cgi?id=682968
2012-09-01 23:32:17 +01:00
Stefan Sauer ccc50681c5 configure: bump gtk-doc req to 1.12 (mar-2009)
This allows us to e.g. unconditionally use gtkdoc-rebase.
2012-08-22 13:16:00 +02:00
Tim-Philipp Müller 22c398b189 Back to development 2012-08-08 16:18:15 +01:00