FarsightCodec

FarsightCodec — A descriptor of a codec

Synopsis




            FarsightCodec;
            FarsightCodecParameter;
            FarsightCodecPreference;
enum        FarsightMediaType;
void        farsight_codec_init             (FarsightCodec *codec,
                                             int id,
                                             const char *encoding_name,
                                             FarsightMediaType media_type,
                                             guint clock_rate);
void        farsight_codec_destroy          (FarsightCodec *codec);
FarsightCodec* farsight_codec_copy          (FarsightCodec *codec);
void        farsight_codec_list_destroy     (GList *codec_list);
GList*      farsight_codec_list_copy        (const GList *codec_list);

Description

Details

FarsightCodec

typedef struct {
  gint id;
  char *encoding_name;
  FarsightMediaType media_type;
  guint clock_rate;
  guint channels;
  GList *optional_params;
} FarsightCodec;

gint id; numeric identifier for encoding, eg. PT for SDP
char *encoding_name; the name of the codec
FarsightMediaType media_type; type of media this codec is for
guint clock_rate; clock rate of this stream
guint channels; Number of channels codec should decode
GList *optional_params; key pairs of param name to param data

FarsightCodecParameter

typedef struct {
    gchar *name;
    gchar *value;
} FarsightCodecParameter;

Used to store arbitary parameters for a codec

gchar *name; paramter name.
gchar *value; parameter value.

FarsightCodecPreference

typedef struct {
    gchar *encoding_name;
    gint clock_rate;
} FarsightCodecPreference;

Used to give a preferece for what type of codec to use.

gchar *encoding_name; name of encoding preferred
gint clock_rate; rate of codec preffered

enum FarsightMediaType

typedef enum
{
  FARSIGHT_MEDIA_TYPE_AUDIO,
  FARSIGHT_MEDIA_TYPE_VIDEO,
  FARSIGHT_MEDIA_TYPE_LAST = FARSIGHT_MEDIA_TYPE_VIDEO
} FarsightMediaType;

Enum used to signify the media type of a codec or stream.

FARSIGHT_MEDIA_TYPE_AUDIO A media type that encodes audio.
FARSIGHT_MEDIA_TYPE_VIDEO A media type that encodes video.
FARSIGHT_MEDIA_TYPE_LAST

farsight_codec_init ()

void        farsight_codec_init             (FarsightCodec *codec,
                                             int id,
                                             const char *encoding_name,
                                             FarsightMediaType media_type,
                                             guint clock_rate);

Initialises a FarsightCodec structure

codec : FarsightCodec structure to initialise
id : codec identifier, if RTP this should be based on IETF RTP payload types
encoding_name : Name of media type this encodes
media_type : FarsightMediaType for type of codec
clock_rate : The clock rate this codec encodes at, if applicable

farsight_codec_destroy ()

void        farsight_codec_destroy          (FarsightCodec *codec);

Deletes a FarsightCodec structure and all its data

codec : FarsightCodec structure to free

farsight_codec_copy ()

FarsightCodec* farsight_codec_copy          (FarsightCodec *codec);

Copies a FarsightCodec structure.

codec : codec to copy
Returns : a copy of the codec

farsight_codec_list_destroy ()

void        farsight_codec_list_destroy     (GList *codec_list);

Deletes a list of FarsightCodec structures and the list itself

codec_list : a GList of FarsightCodec to delete

farsight_codec_list_copy ()

GList*      farsight_codec_list_copy        (const GList *codec_list);

Copies a list of FarsightCodec structures.

codec_list : a GList of FarsightCodec to copy
Returns : The new list.