Plugins System

Plugins System — Functions for manipulating the plugins

Functions

void (*OGMRipPluginFunc) ()
gint (*OGMRipPluginCmpFunc) ()
void ogmrip_plugin_init ()
void ogmrip_plugin_uninit ()
gint ogmrip_plugin_get_n_containers ()
void ogmrip_plugin_foreach_container ()
GType ogmrip_plugin_find_container ()
GType ogmrip_plugin_get_nth_container ()
const gchar * ogmrip_plugin_get_container_name ()
gint ogmrip_plugin_get_container_index ()
gboolean ogmrip_plugin_get_container_bframes ()
GModule * ogmrip_plugin_get_container_module ()
gint ogmrip_plugin_get_container_max_audio ()
gint ogmrip_plugin_get_container_max_subp ()
GType ogmrip_plugin_get_container_by_name ()
gint ogmrip_plugin_get_n_video_codecs ()
void ogmrip_plugin_foreach_video_codec ()
GType ogmrip_plugin_find_video_codec ()
GType ogmrip_plugin_get_nth_video_codec ()
const gchar * ogmrip_plugin_get_video_codec_name ()
gint ogmrip_plugin_get_video_codec_index ()
gint ogmrip_plugin_get_video_codec_format ()
gint ogmrip_plugin_get_video_codec_passes ()
gint ogmrip_plugin_get_video_codec_threads ()
GModule * ogmrip_plugin_get_video_codec_module ()
GType ogmrip_plugin_get_video_codec_by_name ()
gint ogmrip_plugin_get_n_audio_codecs ()
void ogmrip_plugin_foreach_audio_codec ()
GType ogmrip_plugin_find_audio_codec ()
GType ogmrip_plugin_get_nth_audio_codec ()
const gchar * ogmrip_plugin_get_audio_codec_name ()
gint ogmrip_plugin_get_audio_codec_index ()
gint ogmrip_plugin_get_audio_codec_format ()
GModule * ogmrip_plugin_get_audio_codec_module ()
GType ogmrip_plugin_get_audio_codec_by_name ()
gint ogmrip_plugin_get_n_subp_codecs ()
void ogmrip_plugin_foreach_subp_codec ()
GType ogmrip_plugin_find_subp_codec ()
GType ogmrip_plugin_get_nth_subp_codec ()
const gchar * ogmrip_plugin_get_subp_codec_name ()
gint ogmrip_plugin_get_subp_codec_index ()
gint ogmrip_plugin_get_subp_codec_format ()
gboolean ogmrip_plugin_get_subp_codec_text ()
GModule * ogmrip_plugin_get_subp_codec_module ()
GType ogmrip_plugin_get_subp_codec_by_name ()
gboolean ogmrip_plugin_can_contain_video ()
gboolean ogmrip_plugin_can_contain_audio ()
gboolean ogmrip_plugin_can_contain_subp ()
gboolean ogmrip_plugin_can_contain_format ()
gboolean ogmrip_plugin_can_contain_n_audio ()
gboolean ogmrip_plugin_can_contain_n_subp ()

Types and Values

Object Hierarchy


Includes

#include <ogmrip-plugin.h>

Description

Functions

OGMRipPluginFunc ()

void
(*OGMRipPluginFunc) (GType type,
                     const gchar *name,
                     const gchar *description,
                     gpointer data);

Specifies the type of functions passed to ogmrip_plugin_foreach_container(), ogmrip_plugin_foreach_video_codec(), ogmrip_plugin_foreach_audio_codec(), and ogmrip_plugin_foreach_subp_codec().

Parameters

type

The type of the plugin

 

name

The name of the plugin

 

description

The description of the plugin

 

data

The user data

 

OGMRipPluginCmpFunc ()

gint
(*OGMRipPluginCmpFunc) (GType type,
                        const gchar *name,
                        const gchar *description,
                        gconstpointer data);

Specifieѕ the type of functions passed to ogmrip_plugin_find_container(), ogmrip_plugin_find_video_codec(), ogmrip_plugin_find_audio_codec(), and ogmrip_plugin_find_subp_codec().

Parameters

type

The type of the plugin

 

name

The name of the plugin

 

description

The description of the plugin

 

data

The user data

 

Returns

0 when the expected plugin is found


ogmrip_plugin_init ()

void
ogmrip_plugin_init (void);

Initializes the plugin system.


ogmrip_plugin_uninit ()

void
ogmrip_plugin_uninit (void);

Uninitializes the plugin system.


ogmrip_plugin_get_n_containers ()

gint
ogmrip_plugin_get_n_containers (void);

Gets the number of container plugins.

Returns

the number of container plugins


ogmrip_plugin_foreach_container ()

void
ogmrip_plugin_foreach_container (OGMRipPluginFunc func,
                                 gpointer data);

Calls a function for each container plugin.

Parameters

func

The function to call with each container plugin's data

 

data

User data to pass to the function

 

ogmrip_plugin_find_container ()

GType
ogmrip_plugin_find_container (OGMRipPluginCmpFunc func,
                              gconstpointer data);

Finds a container using the supplied function.

Parameters

func

The function to call for each container plugin. It should return 0 when the desired container is found

 

data

User data passed to the function

 

Returns

The type of the container, or G_TYPE_NONE


ogmrip_plugin_get_nth_container ()

GType
ogmrip_plugin_get_nth_container (guint n);

Gets the container at the given position.

Parameters

n

The index of the container

 

Returns

The type of the container, or G_TYPE_NONE


ogmrip_plugin_get_container_name ()

const gchar *
ogmrip_plugin_get_container_name (GType container);

Gets the name of the given container.

Parameters

container

A container type

 

Returns

The name of the container, or NULL


ogmrip_plugin_get_container_index ()

gint
ogmrip_plugin_get_container_index (GType container);

Gets the position of the given container.

Parameters

container

A container type

 

Returns

The index of the container, or -1


ogmrip_plugin_get_container_bframes ()

gboolean
ogmrip_plugin_get_container_bframes (GType container);

Gets whether the given container supports B-frames

Parameters

container

A container type

 

Returns

TRUE if the container supports B-frames


ogmrip_plugin_get_container_module ()

GModule *
ogmrip_plugin_get_container_module (GType container);

Gets the GModule associated with container .

Parameters

container

A container type

 

Returns

A GModule, or NULL


ogmrip_plugin_get_container_max_audio ()

gint
ogmrip_plugin_get_container_max_audio (GType container);

Returns the number of audio streams the given container can contain.

Parameters

container

A container type

 

Returns

the number of audio streams, or -1


ogmrip_plugin_get_container_max_subp ()

gint
ogmrip_plugin_get_container_max_subp (GType container);

Returns the number of subtitle streams the given container can contain.

Parameters

container

A container type

 

Returns

the number of subtitle streams, or -1


ogmrip_plugin_get_container_by_name ()

GType
ogmrip_plugin_get_container_by_name (const gchar *name);

Gets the container with the given name.

Parameters

name

The name of the container

 

Returns

The type of the container, or G_TYPE_NONE


ogmrip_plugin_get_n_video_codecs ()

gint
ogmrip_plugin_get_n_video_codecs (void);

Gets the number of video codec plugins.

Returns

the number of video codec plugins


ogmrip_plugin_foreach_video_codec ()

void
ogmrip_plugin_foreach_video_codec (OGMRipPluginFunc func,
                                   gpointer data);

Calls a function for each video codec plugin.

Parameters

func

The function to call with each video codec plugin's data

 

data

User data to pass to the function

 

ogmrip_plugin_find_video_codec ()

GType
ogmrip_plugin_find_video_codec (OGMRipPluginCmpFunc func,
                                gconstpointer data);

Finds a video codec using the supplied function.

Parameters

func

The function to call for each video codec plugin. It should return 0 when the desired video codec is found

 

data

User data passed to the function

 

Returns

The type of the video codec, or G_TYPE_NONE


ogmrip_plugin_get_nth_video_codec ()

GType
ogmrip_plugin_get_nth_video_codec (guint n);

Gets the video codec at the given position.

Parameters

n

The index of the video codec

 

Returns

The type of the video codec, or G_TYPE_NONE


ogmrip_plugin_get_video_codec_name ()

const gchar *
ogmrip_plugin_get_video_codec_name (GType codec);

Gets the name of the given video codec.

Parameters

codec

A video codec type

 

Returns

The name of the video codec, or NULL


ogmrip_plugin_get_video_codec_index ()

gint
ogmrip_plugin_get_video_codec_index (GType codec);

Gets the position of the given video codec.

Parameters

codec

A video codec type

 

Returns

The index of the video codec, or -1


ogmrip_plugin_get_video_codec_format ()

gint
ogmrip_plugin_get_video_codec_format (GType codec);

Gets the format of the given video codec.

Parameters

codec

A video codec type

 

Returns

The format of the video codec, or NULL


ogmrip_plugin_get_video_codec_passes ()

gint
ogmrip_plugin_get_video_codec_passes (GType codec);

Gets the maximum number of passes the given video codec supports.

Parameters

codec

A video codec type

 

Returns

The maximum number of passes, or -1


ogmrip_plugin_get_video_codec_threads ()

gint
ogmrip_plugin_get_video_codec_threads (GType codec);

Gets the maximum number of threads the given video codec supports.

Parameters

codec

A video codec type

 

Returns

The maximum number of threads, or -1


ogmrip_plugin_get_video_codec_module ()

GModule *
ogmrip_plugin_get_video_codec_module (GType codec);

Gets the GModule associated with codec .

Parameters

codec

A video codec type

 

Returns

A GModule, or NULL


ogmrip_plugin_get_video_codec_by_name ()

GType
ogmrip_plugin_get_video_codec_by_name (const gchar *name);

Gets the video codec with the given name.

Parameters

name

The name of the video codec

 

Returns

The type of the video codec, or G_TYPE_NONE


ogmrip_plugin_get_n_audio_codecs ()

gint
ogmrip_plugin_get_n_audio_codecs (void);

Gets the number of audio codec plugins.

Returns

the number of audio codec plugins


ogmrip_plugin_foreach_audio_codec ()

void
ogmrip_plugin_foreach_audio_codec (OGMRipPluginFunc func,
                                   gpointer data);

Calls a function for each plugin.

Parameters

func

The function to call with each plugin's data

 

data

User data to pass to the function

 

ogmrip_plugin_find_audio_codec ()

GType
ogmrip_plugin_find_audio_codec (OGMRipPluginCmpFunc func,
                                gconstpointer data);

Finds a audio codec using the supplied function.

Parameters

func

The function to call for each audio codec plugin. It should return 0 when the desired audio codec is found

 

data

User data passed to the function

 

Returns

The type of the audio codec, or G_TYPE_NONE


ogmrip_plugin_get_nth_audio_codec ()

GType
ogmrip_plugin_get_nth_audio_codec (guint n);

Gets the audio codec at the given position.

Parameters

n

The index of the audio codec

 

Returns

The type of the audio codec, or G_TYPE_NONE


ogmrip_plugin_get_audio_codec_name ()

const gchar *
ogmrip_plugin_get_audio_codec_name (GType codec);

Gets the name of the given audio codec.

Parameters

codec

An audio codec type

 

Returns

The name of the audio codec, or NULL


ogmrip_plugin_get_audio_codec_index ()

gint
ogmrip_plugin_get_audio_codec_index (GType codec);

Gets the position of the given audio codec.

Parameters

codec

An audio codec type

 

Returns

The index of the audio codec, or -1


ogmrip_plugin_get_audio_codec_format ()

gint
ogmrip_plugin_get_audio_codec_format (GType codec);

Gets the format of the given audio codec.

Parameters

codec

A audio codec type

 

Returns

The format of the audio codec, or NULL


ogmrip_plugin_get_audio_codec_module ()

GModule *
ogmrip_plugin_get_audio_codec_module (GType codec);

Gets the GModule associated with codec .

Parameters

codec

A audio codec type

 

Returns

A GModule, or NULL


ogmrip_plugin_get_audio_codec_by_name ()

GType
ogmrip_plugin_get_audio_codec_by_name (const gchar *name);

Gets the audio codec with the given name.

Parameters

name

The name of the audio codec

 

Returns

The type of the audio codec, or G_TYPE_NONE


ogmrip_plugin_get_n_subp_codecs ()

gint
ogmrip_plugin_get_n_subp_codecs (void);

Gets the number of subtitle codec plugins.

Returns

the number of subtitle codec plugins


ogmrip_plugin_foreach_subp_codec ()

void
ogmrip_plugin_foreach_subp_codec (OGMRipPluginFunc func,
                                  gpointer data);

Calls a function for each plugin.

Parameters

func

The function to call with each plugin's data

 

data

User data to pass to the function

 

ogmrip_plugin_find_subp_codec ()

GType
ogmrip_plugin_find_subp_codec (OGMRipPluginCmpFunc func,
                               gconstpointer data);

Finds a subtitle codec using the supplied function.

Parameters

func

The function to call for each subtitle codec plugin. It should return 0 when the desired subtitle codec is found

 

data

User data passed to the function

 

Returns

The type of the subtitle codec, or G_TYPE_NONE


ogmrip_plugin_get_nth_subp_codec ()

GType
ogmrip_plugin_get_nth_subp_codec (guint n);

Gets the subtitle codec at the given position.

Parameters

n

The index of the subtitle codec

 

Returns

The type of the subtitle codec, or G_TYPE_NONE


ogmrip_plugin_get_subp_codec_name ()

const gchar *
ogmrip_plugin_get_subp_codec_name (GType codec);

Gets the name of the given subtitle codec.

Parameters

codec

A subtitle codec type

 

Returns

The name of the subtitle codec, or NULL


ogmrip_plugin_get_subp_codec_index ()

gint
ogmrip_plugin_get_subp_codec_index (GType codec);

Gets the position of the given subtitle codec.

Parameters

codec

A subtitle codec type

 

Returns

The index of the subtitle codec, or -1


ogmrip_plugin_get_subp_codec_format ()

gint
ogmrip_plugin_get_subp_codec_format (GType codec);

Gets the format of the given subtitle codec.

Parameters

codec

A subtitle codec type

 

Returns

The format of the subtitle codec, or NULL


ogmrip_plugin_get_subp_codec_text ()

gboolean
ogmrip_plugin_get_subp_codec_text (GType codec);

Gets whether the given codec outputs text subtitles.

Parameters

codec

A subtitle codec type

 

Returns

TRUE if the codec output text subtitles


ogmrip_plugin_get_subp_codec_module ()

GModule *
ogmrip_plugin_get_subp_codec_module (GType codec);

Gets the GModule associated with codec .

Parameters

codec

A subp codec type

 

Returns

A GModule, or NULL


ogmrip_plugin_get_subp_codec_by_name ()

GType
ogmrip_plugin_get_subp_codec_by_name (const gchar *name);

Gets the subp codec with the given name.

Parameters

name

The name of the subp codec

 

Returns

The type of the subp codec, or G_TYPE_NONE


ogmrip_plugin_can_contain_video ()

gboolean
ogmrip_plugin_can_contain_video (GType container,
                                 GType codec);

Returns whether container supports the given video codec.

Parameters

container

A container type

 

codec

A video codec type

 

Returns

TRUE if container supports type


ogmrip_plugin_can_contain_audio ()

gboolean
ogmrip_plugin_can_contain_audio (GType container,
                                 GType codec);

Returns whether container supports the given audio codec.

Parameters

container

A container type

 

codec

An audio codec type

 

Returns

TRUE if container supports type


ogmrip_plugin_can_contain_subp ()

gboolean
ogmrip_plugin_can_contain_subp (GType container,
                                GType codec);

Returns whether container supports the given subtitle codec.

Parameters

container

A container type

 

codec

A subtitle codec type

 

Returns

TRUE if container supports type


ogmrip_plugin_can_contain_format ()

gboolean
ogmrip_plugin_can_contain_format (GType container,
                                  OGMRipFormatType format);

Returns whether container supports the given format.

Parameters

container

A container type

 

format

An OGMRipFormatType

 

Returns

TRUE if container supports format


ogmrip_plugin_can_contain_n_audio ()

gboolean
ogmrip_plugin_can_contain_n_audio (GType container,
                                   guint ncodec);

Returns whether container can contain ncodec audio streams.

Parameters

container

A container type

 

ncodec

The number of audio codecs

 

Returns

TRUE if container can contain ncodec audio streams


ogmrip_plugin_can_contain_n_subp ()

gboolean
ogmrip_plugin_can_contain_n_subp (GType container,
                                  guint ncodec);

Returns whether container can contain ncodec subtitle streams.

Parameters

container

A container type

 

ncodec

The number of subtitle codecs

 

Returns

TRUE if container can contain ncodec subtitle streams

Types and Values

struct OGMRipVideoPlugin

struct OGMRipVideoPlugin {
  GModule *module;
  GType type;
  gchar *name;
  gchar *description;
  OGMRipFormatType format;
  gint passes;
  gint threads;
};

A structure describing a video codec plugin

Members

GModule *module;

For internal use only

 

GType type;

The type of the codec

 

gchar *name;

The name of the codec

 

gchar *description;

The description of the codec

 

OGMRipFormatType format;

The codec output format

 

gint passes;

The number of passes supported by the codec

 

gint threads;

The number of threads supported by the codec

 

struct OGMRipAudioPlugin

struct OGMRipAudioPlugin {
  GModule *module;
  GType type;
  gchar *name;
  gchar *description;
  OGMRipFormatType format;
};

A structure describing an audio codec plugin

Members

GModule *module;

For internal use only

 

GType type;

The type of the codec

 

gchar *name;

The name of the codec

 

gchar *description;

The description of the codec

 

OGMRipFormatType format;

The codec output format

 

struct OGMRipSubpPlugin

struct OGMRipSubpPlugin {
  GModule *module;
  GType type;
  gchar *name;
  gchar *description;
  OGMRipFormatType format;
  gboolean text;
};

A structure describing a subtitle codec plugin

Members

GModule *module;

For internal use only

 

GType type;

The type of the codec

 

gchar *name;

The name of the codec

 

gchar *description;

The description of the codec

 

OGMRipFormatType format;

The codec output format

 

gboolean text;

Whether the codec outputs text subtitles

 

struct OGMRipContainerPlugin

struct OGMRipContainerPlugin {
  GModule *module;
  GType type;
  gchar *name;
  gchar *description;
  gboolean video;
  gboolean bframes;
  gint max_audio;
  gint max_subp;
  gint *formats;
};

A structure describing a container plugin

Members

GModule *module;

For internal use only

 

GType type;

The type of the container

 

gchar *name;

The name of the container

 

gchar *description;

The description of the container

 

gboolean video;

Whether the container requires a video stream

 

gboolean bframes;

Whether the container supports B-frames

 

gint max_audio;

The maximum number of audio streams that can be embedded in the container

 

gint max_subp;

The maximum number of subtitle streams that can be embedded in the container

 

gint *formats;

A NULL terminated array of OGMRipFormatType supported by the container

 

enum OGMRipPluginError

Error codes returned by ogmrip_init_plugin().

Members

OGMRIP_PLUGIN_ERROR_REQ

Some requirements are not met