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:
Stefan Kost 2005-11-21 14:50:22 +00:00
parent a8560f7b3b
commit b06c505f1c
11 changed files with 98 additions and 23 deletions

View file

@ -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)

View file

@ -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>

View 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

View file

@ -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))

View file

@ -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>

View file

@ -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);

View file

@ -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);

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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
*/