|  |  |  | Farstream Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
#include <farstream/fs-rtp.h>
                    FsRtpHeaderExtension;
FsRtpHeaderExtension * fs_rtp_header_extension_new      (guint id,
                                                         FsStreamDirection direction,
                                                         const gchar *uri);
FsRtpHeaderExtension * fs_rtp_header_extension_copy     (FsRtpHeaderExtension *extension);
void                fs_rtp_header_extension_destroy     (FsRtpHeaderExtension *extension);
gboolean            fs_rtp_header_extension_are_equal   (FsRtpHeaderExtension *extension1,
                                                         FsRtpHeaderExtension *extension2);
GList *             fs_rtp_header_extension_list_copy   (GList *extensions);
void                fs_rtp_header_extension_list_destroy
                                                        (GList *extensions);
GList *             fs_rtp_header_extension_list_from_keyfile
                                                        (const gchar *filename,
                                                         FsMediaType media_type,
                                                         GError **error);
#define             FS_RTP_HEADER_EXTENSION_FORMAT
#define             FS_RTP_HEADER_EXTENSION_ARGS        (hdrext)
typedef struct {
  guint id;
  FsStreamDirection direction;
  gchar *uri;
} FsRtpHeaderExtension;
Defines a RTP header extension with its negotiated identifier, direction
and URI. They should only be created with fs_rtp_header_extension_new().
| guint  | The identifier of the RTP header extension | 
| FsStreamDirection  | the direction in which this extension can be used | 
| gchar * | The URI that defines this extension | 
FsRtpHeaderExtension * fs_rtp_header_extension_new (guint id,FsStreamDirection direction,const gchar *uri);
Creates a new FsRtpHeaderExtension
| 
 | The identifier of the RTP header extension | 
| 
 | the direction in which this extension can be used | 
| 
 | The URI that defines this extension | 
| Returns : | a new FsRtpHeaderExtension | 
FsRtpHeaderExtension * fs_rtp_header_extension_copy     (FsRtpHeaderExtension *extension);
void                fs_rtp_header_extension_destroy     (FsRtpHeaderExtension *extension);
gboolean fs_rtp_header_extension_are_equal (FsRtpHeaderExtension *extension1,FsRtpHeaderExtension *extension2);
Compares two FsRtpHeaderExtension structures
| 
 | The first FsRtpHeaderExtension | 
| 
 | The second FsRtpHeaderExtension | 
| Returns : | TRUEif they are identical,FALSEotherwise | 
GList *             fs_rtp_header_extension_list_copy   (GList *extensions);
Does a deep copy of a GList of FsRtpHeaderExtension
| 
 | a GList of FsRtpHeaderExtension. [element-type FsRtpHeaderExtension][transfer none] | 
| Returns : | a new GList of FsRtpHeaderExtension. [element-type FsRtpHeaderExtension][transfer full] | 
void                fs_rtp_header_extension_list_destroy
                                                        (GList *extensions);
GList * fs_rtp_header_extension_list_from_keyfile (const gchar *filename,FsMediaType media_type,GError **error);
Reads the content of a GKeyFile of the following format into a GList of FsRtpHeaderExtension structures.
The groups have a format "rtp-hdrext:audio:XXX" or "rtp-hdrext:video:XXX" where XXX is a unique string (per media type).
The valid keys are:
Example:
| 1 2 3 4 5 6 7 8 | [rtp-hdrext:audio:a] id=1 uri=urn:ietf:params:rtp-hdrext:toffset [rtp-hdrext:audio:abc] id=3 uri=urn:ietf:params:rtp-hdrext:ntp-64 direction=receive | 
| 
 | Name of the GKeyFile to read the RTP Header Extensions from | 
| 
 | The media type for which to get header extensions | 
| 
 | location of a GError, or NULL if no error occured | 
| Returns : | a
GList of FsRtpHeaderExtension that must be freed with fs_rtp_header_extension_list_destroy(). [element-type FsRtpHeaderExtension][transfer full] | 
#define FS_RTP_HEADER_EXTENSION_FORMAT "%d: (%s) %s"
A format that can be used in printf like format strings to format a FsRtpHeaderExtension
#define FS_RTP_HEADER_EXTENSION_ARGS(hdrext)
Formats the codec in args for FS_RTP_HEADER_EXTENSION_ARGS
| 
 | a FsRtpHeaderExtension |