gstreamer/gst/gst.h
Matthew Waters 86abf49c23 gst: add a promise object
An object that can be waited on and asked for asynchronous values.
In much the same way as promise/futures in js/java/etc

A callback can be installed for when the promise changes state.

Original idea by
Jan Schmidt <jan@centricular.com>

With contributions from
Nirbheek Chauhan <nirbheek@centricular.com>
Mathieu Duponchelle <mathieu@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=789843
2017-11-23 00:48:30 +11:00

141 lines
3.7 KiB
C

/* GStreamer
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
* 2000 Wim Taymans <wtay@chello.be>
*
* gst.h: Main header for GStreamer, apps should include this
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __GST_H__
#define __GST_H__
#include <glib.h>
#include <gst/glib-compat.h>
#include <gst/gstenumtypes.h>
#include <gst/gstversion.h>
#include <gst/gstatomicqueue.h>
#include <gst/gstbin.h>
#include <gst/gstbuffer.h>
#include <gst/gstbufferlist.h>
#include <gst/gstbufferpool.h>
#include <gst/gstcaps.h>
#include <gst/gstcapsfeatures.h>
#include <gst/gstchildproxy.h>
#include <gst/gstclock.h>
#include <gst/gstcontrolsource.h>
#include <gst/gstdatetime.h>
#include <gst/gstdebugutils.h>
#include <gst/gstdevice.h>
#include <gst/gstdevicemonitor.h>
#include <gst/gstdeviceprovider.h>
#include <gst/gstdynamictypefactory.h>
#include <gst/gstelement.h>
#include <gst/gstelementmetadata.h>
#include <gst/gsterror.h>
#include <gst/gstevent.h>
#include <gst/gstghostpad.h>
#include <gst/gstinfo.h>
#include <gst/gstiterator.h>
#include <gst/gstmessage.h>
#include <gst/gstmemory.h>
#include <gst/gstmeta.h>
#include <gst/gstminiobject.h>
#include <gst/gstobject.h>
#include <gst/gststreamcollection.h>
#include <gst/gstpad.h>
#include <gst/gstparamspecs.h>
#include <gst/gstpipeline.h>
#include <gst/gstplugin.h>
#include <gst/gstpoll.h>
#include <gst/gstpreset.h>
#include <gst/gstprotection.h>
#include <gst/gstquery.h>
#include <gst/gstregistry.h>
#include <gst/gstpromise.h>
#include <gst/gstsample.h>
#include <gst/gstsegment.h>
#include <gst/gststreams.h>
#include <gst/gststructure.h>
#include <gst/gstsystemclock.h>
#include <gst/gsttaglist.h>
#include <gst/gsttagsetter.h>
#include <gst/gsttask.h>
#include <gst/gsttaskpool.h>
#include <gst/gsttoc.h>
#include <gst/gsttocsetter.h>
#include <gst/gsttracer.h>
#include <gst/gsttracerfactory.h>
#include <gst/gsttracerrecord.h>
#include <gst/gsttypefind.h>
#include <gst/gsttypefindfactory.h>
#include <gst/gsturi.h>
#include <gst/gstutils.h>
#include <gst/gstvalue.h>
#include <gst/gstparse.h>
/* API compatibility stuff */
#include <gst/gstcompat.h>
G_BEGIN_DECLS
GST_EXPORT
void gst_init (int *argc, char **argv[]);
GST_EXPORT
gboolean gst_init_check (int *argc, char **argv[],
GError ** err);
GST_EXPORT
gboolean gst_is_initialized (void);
GST_EXPORT
GOptionGroup * gst_init_get_option_group (void);
GST_EXPORT
void gst_deinit (void);
GST_EXPORT
void gst_version (guint *major, guint *minor,
guint *micro, guint *nano);
GST_EXPORT
gchar * gst_version_string (void);
GST_EXPORT
gboolean gst_segtrap_is_enabled (void);
GST_EXPORT
void gst_segtrap_set_enabled (gboolean enabled);
GST_EXPORT
gboolean gst_registry_fork_is_enabled (void);
GST_EXPORT
void gst_registry_fork_set_enabled (gboolean enabled);
GST_EXPORT
gboolean gst_update_registry (void);
GST_EXPORT
const gchar * gst_get_main_executable_path (void);
G_END_DECLS
#endif /* __GST_H__ */