multifdsink

multifdsink — Send data to multiple filedescriptors

Synopsis




            GstMultiFdSink;
enum        GstMultiFdSinkFlags;
enum        GstRecoverPolicy;
enum        GstSyncMethod;
enum        GstUnitType;
enum        GstClientStatus;

Object Hierarchy


  GObject
   +----GstObject
         +----GstElement
               +----GstBaseSink
                     +----GstMultiFdSink
                           +----GstTCPServerSink

Properties


  "buffers-max"          gint                  : Read / Write
  "buffers-queued"       guint                 : Read
  "buffers-soft-max"     gint                  : Read / Write
  "bytes-served"         guint64               : Read
  "bytes-to-serve"       guint64               : Read
  "mode"                 GstFDSetMode          : Read / Write
  "protocol"             GstTCPProtocol        : Read / Write
  "recover-policy"       GstRecoverPolicy      : Read / Write
  "sync-clients"         gboolean              : Read / Write
  "sync-method"          GstSyncMethod         : Read / Write
  "timeout"              guint64               : Read / Write

Signal Prototypes


"add"       void        user_function      (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);
"clear"     void        user_function      (GstMultiFdSink *gstmultifdsink,
                                            gpointer user_data);
"client-added"
            void        user_function      (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);
"client-removed"
            void        user_function      (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            GstClientStatus arg2,
                                            gpointer user_data);
"get-stats" GValueArray*user_function      (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);
"remove"    void        user_function      (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);

Description

Element Information

plugin tcp
authorThomas Vander Stichele <thomas at apestaart dot org>, Wim Taymans <wim@fluendo.com>
classSink/Network

Details

GstMultiFdSink

typedef struct _GstMultiFdSink GstMultiFdSink;


enum GstMultiFdSinkFlags

typedef enum {
  GST_MULTI_FD_SINK_OPEN             = (GST_ELEMENT_FLAG_LAST << 0),

  GST_MULTI_FD_SINK_FLAG_LAST        = (GST_ELEMENT_FLAG_LAST << 2),
} GstMultiFdSinkFlags;


enum GstRecoverPolicy

typedef enum
{
  GST_RECOVER_POLICY_NONE,
  GST_RECOVER_POLICY_RESYNC_LATEST,
  GST_RECOVER_POLICY_RESYNC_SOFT_LIMIT,
  GST_RECOVER_POLICY_RESYNC_KEYFRAME,
} GstRecoverPolicy;


enum GstSyncMethod

typedef enum
{
  GST_SYNC_METHOD_LATEST,
  GST_SYNC_METHOD_NEXT_KEYFRAME,
  GST_SYNC_METHOD_LATEST_KEYFRAME,
} GstSyncMethod;


enum GstUnitType

typedef enum
{
  GST_UNIT_TYPE_BUFFERS,
  GST_UNIT_TYPE_TIME,
  GST_UNIT_TYPE_BYTES,
} GstUnitType;


enum GstClientStatus

typedef enum
{
  GST_CLIENT_STATUS_OK		= 0,
  GST_CLIENT_STATUS_CLOSED	= 1,
  GST_CLIENT_STATUS_REMOVED	= 2,
  GST_CLIENT_STATUS_SLOW	= 3,
  GST_CLIENT_STATUS_ERROR	= 4,
  GST_CLIENT_STATUS_DUPLICATE	= 5,
} GstClientStatus;

Properties

The "buffers-max" property

  "buffers-max"          gint                  : Read / Write

max number of buffers to queue (-1 = no limit).

Allowed values: >= -1

Default value: -1


The "buffers-queued" property

  "buffers-queued"       guint                 : Read

Number of buffers currently queued.

Default value: 0


The "buffers-soft-max" property

  "buffers-soft-max"     gint                  : Read / Write

Recover client when going over this limit (-1 = no limit).

Allowed values: >= -1

Default value: -1


The "bytes-served" property

  "bytes-served"         guint64               : Read

Total number of bytes send to all clients.

Default value: 0


The "bytes-to-serve" property

  "bytes-to-serve"       guint64               : Read

Number of bytes received to serve to clients.

Default value: 0


The "mode" property

  "mode"                 GstFDSetMode          : Read / Write

The mode for selecting activity on the fds.

Default value: Poll


The "protocol" property

  "protocol"             GstTCPProtocol        : Read / Write

The protocol to wrap data in.

Default value: GST_TCP_PROTOCOL_NONE


The "recover-policy" property

  "recover-policy"       GstRecoverPolicy      : Read / Write

How to recover when client reaches the soft max.

Default value: Do not try to recover


The "sync-clients" property

  "sync-clients"         gboolean              : Read / Write

(DEPRECATED) Sync clients to a keyframe.

Default value: FALSE


The "sync-method" property

  "sync-method"          GstSyncMethod         : Read / Write

How to sync new clients to the stream.

Default value: Serve starting from the latest buffer


The "timeout" property

  "timeout"              guint64               : Read / Write

Maximum inactivity timeout in nanoseconds for a client (0 = no limit).

Default value: 0

Signals

The "add" signal

void        user_function                  (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);

Hand the given open file descriptor to multifdsink to write to.

gstmultifdsink : the multifdsink element to emit this signal on
arg1 : the file descriptor to add to multifdsink
user_data :user data set when the signal handler was connected.

The "clear" signal

void        user_function                  (GstMultiFdSink *gstmultifdsink,
                                            gpointer user_data);

Clear all file descriptors from multifdsink.

gstmultifdsink : the multifdsink element to emit this signal on
user_data :user data set when the signal handler was connected.

The "client-added" signal

void        user_function                  (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);

The given file descriptor was added to multifdsink.

gstmultifdsink : the multifdsink element that emitted this signal
arg1 : the file descriptor that was added to multifdsink
user_data :user data set when the signal handler was connected.

The "client-removed" signal

void        user_function                  (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            GstClientStatus arg2,
                                            gpointer user_data);

The given file descriptor was removed from multifdsink.

gstmultifdsink : the multifdsink element that emitted this signal
arg1 : the file descriptor that was removed from multifdsink
user_data :user data set when the signal handler was connected.

The "get-stats" signal

GValueArray*user_function                  (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);

gstmultifdsink :the object which received the signal.
arg1 :
user_data :user data set when the signal handler was connected.
Returns :

The "remove" signal

void        user_function                  (GstMultiFdSink *gstmultifdsink,
                                            gint arg1,
                                            gpointer user_data);

Remove the given open file descriptor from multifdsink.

gstmultifdsink : the multifdsink element to emit this signal on
arg1 : the file descriptor to remove from multifdsink
user_data :user data set when the signal handler was connected.