gstnetbuffer

gstnetbuffer — Buffer for use in network sources and sinks

Synopsis


#include <gst/netbuffer/gstnetbuffer.h>


                    GstNetBuffer;
enum                GstNetType;
                    GstNetAddress;
GstNetBuffer*       gst_netbuffer_new                   (void);
gboolean            gst_netaddress_get_ip4_address      (GstNetAddress *naddr,
                                                         guint32 *address,
                                                         guint16 *port);
gboolean            gst_netaddress_get_ip6_address      (GstNetAddress *naddr,
                                                         guint8 address[16],
                                                         guint16 *port);
GstNetType          gst_netaddress_get_net_type         (GstNetAddress *naddr);
void                gst_netaddress_set_ip4_address      (GstNetAddress *naddr,
                                                         guint32 address,
                                                         guint16 port);
void                gst_netaddress_set_ip6_address      (GstNetAddress *naddr,
                                                         guint8 address[16],
                                                         guint16 port);

Description

GstNetBuffer is a subclass of a normal GstBuffer that contains two additional metadata fields of type GstNetAddress named 'to' and 'from'. The buffer can be used to store additional information about the origin of the buffer data and is used in various network elements to track the to and from addresses.

Last reviewed on 2006-08-21 (0.10.10)

Details

GstNetBuffer

typedef struct {
  GstBuffer buffer;

  GstNetAddress from;
  GstNetAddress to;
} GstNetBuffer;

buffer for use in network sources and sinks. It contains the source or destination address of the buffer.

GstBuffer buffer; the parent GstBuffer
GstNetAddress from; the address where this buffer came from.
GstNetAddress to; the address where this buffer should go to.

enum GstNetType

typedef enum {
  GST_NET_TYPE_UNKNOWN,
  GST_NET_TYPE_IP4,
  GST_NET_TYPE_IP6,
} GstNetType;

The Address type used in GstNetAddress.

GST_NET_TYPE_UNKNOWN unknown address type
GST_NET_TYPE_IP4 an IPv4 address type
GST_NET_TYPE_IP6 and IPv6 address type

GstNetAddress

typedef struct {
} GstNetAddress;

An opaque network address as used in GstNetBuffer.


gst_netbuffer_new ()

GstNetBuffer*       gst_netbuffer_new                   (void);

Create a new network buffer.

Returns : a new GstNetBuffer.

gst_netaddress_get_ip4_address ()

gboolean            gst_netaddress_get_ip4_address      (GstNetAddress *naddr,
                                                         guint32 *address,
                                                         guint16 *port);

Get the IPv4 address stored in naddr into address.

naddr : a network address
address : a location to store the address.
port : a location to store the port.
Returns : TRUE if the address could be retrieved.

gst_netaddress_get_ip6_address ()

gboolean            gst_netaddress_get_ip6_address      (GstNetAddress *naddr,
                                                         guint8 address[16],
                                                         guint16 *port);

Get the IPv6 address stored in naddr into address.

naddr : a network address
address : a location to store the result.
port : a location to store the port.
Returns : TRUE if the address could be retrieved.

gst_netaddress_get_net_type ()

GstNetType          gst_netaddress_get_net_type         (GstNetAddress *naddr);

Get the type of address stored in naddr.

naddr : a network address
Returns : the network type stored in naddr.

gst_netaddress_set_ip4_address ()

void                gst_netaddress_set_ip4_address      (GstNetAddress *naddr,
                                                         guint32 address,
                                                         guint16 port);

Set naddr with the IPv4 address and port pair.

naddr : a network address
address : an IPv4 network address.
port : a port number to set.

gst_netaddress_set_ip6_address ()

void                gst_netaddress_set_ip6_address      (GstNetAddress *naddr,
                                                         guint8 address[16],
                                                         guint16 port);

Set naddr with the IPv6 address and port pair.

naddr : a network address
address : an IPv6 network address.
port : a port number to set.