mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-16 11:15:31 +00:00
docs/random/ensonic/media-device-daemon.txt: wild idea, can this be done?
Original commit message from CVS: * docs/random/ensonic/media-device-daemon.txt: wild idea, can this be done? * docs/gst/gstreamer-sections.txt: * gst/gsterror.h: * gst/gstfilter.c: * gst/gstfilter.h: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gsttrace.c: * gst/gstvalue.c: * gst/gstvalue.h: doc fixes and additions
This commit is contained in:
parent
a8560f7b3b
commit
b06c505f1c
11 changed files with 98 additions and 23 deletions
15
ChangeLog
15
ChangeLog
|
@ -1,3 +1,18 @@
|
|||
2005-11-21 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* docs/random/ensonic/media-device-daemon.txt:
|
||||
wild idea, can this be done?
|
||||
* docs/gst/gstreamer-sections.txt:
|
||||
* gst/gsterror.h:
|
||||
* gst/gstfilter.c:
|
||||
* gst/gstfilter.h:
|
||||
* gst/gstplugin.h:
|
||||
* gst/gstpluginfeature.c:
|
||||
* gst/gsttrace.c:
|
||||
* gst/gstvalue.c:
|
||||
* gst/gstvalue.h:
|
||||
doc fixes and additions
|
||||
|
||||
2005-11-21 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
|
||||
|
|
|
@ -360,8 +360,6 @@ gst_clock_get_internal_time
|
|||
gst_clock_adjust_unlocked
|
||||
gst_clock_get_calibration
|
||||
gst_clock_set_calibration
|
||||
gst_clock_get_master
|
||||
gst_clock_set_master
|
||||
gst_clock_id_get_time
|
||||
gst_clock_id_wait
|
||||
gst_clock_id_wait_async
|
||||
|
@ -1476,7 +1474,6 @@ gst_plugin_get_version
|
|||
gst_plugin_get_module
|
||||
gst_plugin_is_loaded
|
||||
gst_plugin_name_filter
|
||||
gst_plugin_check_file
|
||||
gst_plugin_load_file
|
||||
gst_plugin_load
|
||||
gst_plugin_load_by_name
|
||||
|
@ -1911,6 +1908,7 @@ gst_trace_new
|
|||
gst_trace_destroy
|
||||
gst_trace_flush
|
||||
gst_trace_text_flush
|
||||
gst_trace_add_entry
|
||||
gst_trace_get_size
|
||||
gst_trace_get_offset
|
||||
gst_trace_get_remaining
|
||||
|
@ -1930,7 +1928,6 @@ gst_alloc_trace_set_flags
|
|||
gst_alloc_trace_register
|
||||
gst_alloc_trace_new
|
||||
gst_alloc_trace_free
|
||||
gst_trace_add_entry
|
||||
<SUBSECTION Standard>
|
||||
GST_TYPE_ALLOC_TRACE_FLAGS
|
||||
<SUBSECTION Private>
|
||||
|
|
26
docs/random/ensonic/media-device-daemon.txt
Normal file
26
docs/random/ensonic/media-device-daemon.txt
Normal file
|
@ -0,0 +1,26 @@
|
|||
$Id$
|
||||
|
||||
- 4 new elements
|
||||
virtual-audiosink, virtual-videosink
|
||||
virtual-audiosrc, virtual-videosrc
|
||||
|
||||
- daemon that holds list of instances
|
||||
- gui app that lists instances as mixing-desk like channelstrips
|
||||
- channelstrips would contain
|
||||
- audio
|
||||
- volume, panorama, 3-band eq
|
||||
- video
|
||||
- brightness, contrast, alpha-level
|
||||
- user can
|
||||
- add insert-fx
|
||||
- route channel to targets, where targets can be real sinks or more
|
||||
virtual-sinks (sub-groups)
|
||||
- virtual sinks need queues to decouple application processes
|
||||
- interfaces
|
||||
- expose child-elements via child-proxy
|
||||
- then e.g. the applications volume-control could directly access the
|
||||
channelstrip
|
||||
- state-control (play, pause/mute)
|
||||
- it would be useful if one app could pause/mute others
|
||||
- think of a voip-client, if there is an incomming call, if pauses your
|
||||
media-player, or mutes the monitoring of your recording app
|
|
@ -220,7 +220,7 @@ typedef enum
|
|||
/**
|
||||
* GST_ERROR_SYSTEM:
|
||||
*
|
||||
* Returns a string using errno describing the previously failed system
|
||||
* Builds a string using errno describing the previously failed system
|
||||
* call. To be used as the debug argument in #GST_ELEMENT_ERROR.
|
||||
*/
|
||||
#define GST_ERROR_SYSTEM ("system error: %s", g_strerror (errno))
|
||||
|
|
|
@ -21,6 +21,20 @@
|
|||
* SECTION:gstfilter
|
||||
* @short_description: A utility function to filter GLists.
|
||||
*
|
||||
* <example>
|
||||
* <title>Filtering a list</title>
|
||||
* <programlisting>
|
||||
* GList *node;
|
||||
* GstObject *result = NULL;
|
||||
*
|
||||
* node = gst_filter_run (list, (GstFilterFunc) my_filter, TRUE, NULL);
|
||||
* if (node) {
|
||||
* result = GST_OBJECT (node->data);
|
||||
* gst_object_ref (result);
|
||||
* gst_list_free (node);
|
||||
* }
|
||||
* </programlisting>
|
||||
* </example>
|
||||
*/
|
||||
#include "gst_private.h"
|
||||
#include <gst/gstfilter.h>
|
||||
|
|
|
@ -24,6 +24,17 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/**
|
||||
* GstFilterFunc:
|
||||
* @obj: the object
|
||||
* @user_data: filter data
|
||||
*
|
||||
* Function prototype for a filter callback taht can be use in gst_filter_run().
|
||||
* The function should apply its filtering to @obj. Additional data passed to
|
||||
* gst_filter_run() are in @data.
|
||||
*
|
||||
* Returns: %TRUE for success.
|
||||
*/
|
||||
typedef gboolean (*GstFilterFunc) (gpointer obj, gpointer user_data);
|
||||
|
||||
GList* gst_filter_run (const GList *list, GstFilterFunc func, gboolean first, gpointer user_data);
|
||||
|
|
|
@ -269,7 +269,9 @@ gboolean gst_plugin_is_loaded (GstPlugin *plugin);
|
|||
|
||||
gboolean gst_plugin_name_filter (GstPlugin *plugin, const gchar *name);
|
||||
|
||||
/* This is not implemented (yet|anymore)
|
||||
gboolean gst_plugin_check_file (const gchar *filename, GError** error);
|
||||
*/
|
||||
GstPlugin * gst_plugin_load_file (const gchar *filename, GError** error);
|
||||
|
||||
GstPlugin * gst_plugin_load (GstPlugin *plugin);
|
||||
|
|
|
@ -133,6 +133,15 @@ gst_plugin_feature_load (GstPluginFeature * feature)
|
|||
return real_feature;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_plugin_feature_type_name_filter:
|
||||
* @feature: the #GstPluginFeature
|
||||
* @data: the type and name to check against
|
||||
*
|
||||
* Compares type and name of plugin feature. Can be used with gst_filter_run().
|
||||
*
|
||||
* Returns: TRUE if equal.
|
||||
*/
|
||||
gboolean
|
||||
gst_plugin_feature_type_name_filter (GstPluginFeature * feature,
|
||||
GstTypeNameData * data)
|
||||
|
|
|
@ -28,9 +28,21 @@
|
|||
* #GType. The counter is incremented for each object allocated and decremented
|
||||
* it when it's freed.
|
||||
*
|
||||
* (FIXME: add example - see jamboree/tests/read-tags.c)
|
||||
* <example>
|
||||
* <title>Tracing object instances</title>
|
||||
* <programlisting>
|
||||
* // trace un-freed object instances
|
||||
* gst_alloc_trace_set_flags_all (GST_ALLOC_TRACE_LIVE);
|
||||
* if (!gst_alloc_trace_available ()) {
|
||||
* g_warning ("Trace not available (recompile with trace enabled).");
|
||||
* }
|
||||
* gst_alloc_trace_print_live ();
|
||||
* // do something here
|
||||
* gst_alloc_trace_print_live ();
|
||||
* </programlisting>
|
||||
* </example>
|
||||
*
|
||||
* Last reviewed on 2005-11-18 (0.9.5)
|
||||
* Last reviewed on 2005-11-21 (0.9.5)
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
|
|
@ -2385,7 +2385,7 @@ gst_value_intersect (GValue * dest, const GValue * value1,
|
|||
}
|
||||
|
||||
/**
|
||||
* gst_value_register_intersection_func:
|
||||
* gst_value_register_intersect_func:
|
||||
* @type1: the first type to intersect
|
||||
* @type2: the second type to intersect
|
||||
* @func: the intersection function
|
||||
|
@ -2393,20 +2393,6 @@ gst_value_intersect (GValue * dest, const GValue * value1,
|
|||
* Registers a function that is called to calculate the intersection
|
||||
* of the values having the types @type1 and @type2.
|
||||
*/
|
||||
/**
|
||||
* GstValueIntersectFunc:
|
||||
* @dest: a uninitialized #GValue that will hold the calculated
|
||||
* intersection value
|
||||
* @value1: a value to intersect
|
||||
* @value2: another value to intersect
|
||||
*
|
||||
* Functions having this type calculate the intersection of @value1
|
||||
* and @value2. If the intersection is non-empty, the result is
|
||||
* placed in @dest and TRUE is returned. If the intersection is
|
||||
* empty, @dest is unmodified and FALSE is returned.
|
||||
*
|
||||
* Returns: TRUE if the intersection is non-empty, FALSE otherwise
|
||||
*/
|
||||
void
|
||||
gst_value_register_intersect_func (GType type1, GType type2,
|
||||
GstValueIntersectFunc func)
|
||||
|
|
|
@ -312,7 +312,10 @@ typedef int (* GstValueUnionFunc) (GValue *dest,
|
|||
* @value2: a #GValue operand
|
||||
*
|
||||
* Used by gst_value_intersect() to perform intersection for a specific #GValue
|
||||
* type. Register a new implementation with gst_value_register_intersection_func().
|
||||
* type. If the intersection is non-empty, the result is
|
||||
* placed in @dest and TRUE is returned. If the intersection is
|
||||
* empty, @dest is unmodified and FALSE is returned.
|
||||
* Register a new implementation with gst_value_register_intersection_func().
|
||||
*
|
||||
* Returns: %TRUE if the values can intersect
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue