GstNetTimePacket

GstNetTimePacket — Helper structure to construct clock packets used by network clocks.

Functions

Types and Values

Includes

#include <gst/net/gstnet.h>

Description

Various functions for receiving, sending an serializing GstNetTimePacket structures.

Functions

gst_net_time_packet_new ()

GstNetTimePacket *
gst_net_time_packet_new (const guint8 *buffer);

Creates a new GstNetTimePacket from a buffer received over the network. The caller is responsible for ensuring that buffer is at least GST_NET_TIME_PACKET_SIZE bytes long.

If buffer is NULL, the local and remote times will be set to GST_CLOCK_TIME_NONE.

MT safe. Caller owns return value (gst_net_time_packet_free to free).

Parameters

buffer

a buffer from which to construct the packet, or NULL.

[array]

Returns

The new GstNetTimePacket.


gst_net_time_packet_copy ()

GstNetTimePacket *
gst_net_time_packet_copy (const GstNetTimePacket *packet);

Make a copy of packet .

Parameters

packet

the GstNetTimePacket

 

Returns

a copy of packet , free with gst_net_time_packet_free().


gst_net_time_packet_free ()

void
gst_net_time_packet_free (GstNetTimePacket *packet);

Free packet .

Parameters

packet

the GstNetTimePacket

 

gst_net_time_packet_receive ()

GstNetTimePacket *
gst_net_time_packet_receive (GSocket *socket,
                             GSocketAddress **src_address,
                             GError **error);

Receives a GstNetTimePacket over a socket. Handles interrupted system calls, but otherwise returns NULL on error.

Parameters

socket

socket to receive the time packet on

 

src_address

address of variable to return sender address.

[out]

error

return address for a GError, or NULL

 

Returns

a new GstNetTimePacket, or NULL on error. Free with gst_net_time_packet_free() when done.

[transfer full]


gst_net_time_packet_send ()

gboolean
gst_net_time_packet_send (const GstNetTimePacket *packet,
                          GSocket *socket,
                          GSocketAddress *dest_address,
                          GError **error);

Sends a GstNetTimePacket over a socket.

MT safe.

Parameters

packet

the GstNetTimePacket to send

 

socket

socket to send the time packet on

 

dest_address

address to send the time packet to

 

error

return address for a GError, or NULL

 

Returns

TRUE if successful, FALSE in case an error occurred.


gst_net_time_packet_serialize ()

guint8 *
gst_net_time_packet_serialize (const GstNetTimePacket *packet);

Serialized a GstNetTimePacket into a newly-allocated sequence of GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is suitable for passing to write(2) or sendto(2) for communication over the network.

MT safe. Caller owns return value (g_free to free).

Parameters

packet

the GstNetTimePacket

 

Returns

A newly allocated sequence of GST_NET_TIME_PACKET_SIZE bytes.

Types and Values

struct GstNetTimePacket

struct GstNetTimePacket {
  GstClockTime local_time;
  GstClockTime remote_time;
};

Content of a GstNetTimePacket.

Members

GstClockTime local_time;

the local time when this packet was sent

 

GstClockTime remote_time;

the remote time observation

 

GST_NET_TIME_PACKET_SIZE

#define GST_NET_TIME_PACKET_SIZE 16

The size of the packets sent between network clocks.

See Also

GstClock, GstNetClientClock, GstNetTimeProvider