![]() |
![]() |
![]() |
libMirage Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <mirage.h> gboolean (*MIRAGE_CDTextDataCallback) (gint langcode
,gint type
,gint track
,const guint8 *data
,gint data_len
,gpointer user_data
); MIRAGE_CDTextEncDec; gboolean mirage_cdtext_encoder_init (MIRAGE_CDTextEncDec *self
,guint8 *buffer
,gint buflen
,GError **error
); gboolean mirage_cdtext_encoder_set_block_info (MIRAGE_CDTextEncDec *self
,gint block
,gint langcode
,gint charset
,gint copyright
,GError **error
); gboolean mirage_cdtext_encoder_add_data (MIRAGE_CDTextEncDec *self
,gint langcode
,gint type
,gint track
,const guint8 *data
,gint data_len
,GError **error
); gboolean mirage_cdtext_encoder_encode (MIRAGE_CDTextEncDec *self
,guint8 **buffer
,gint *buflen
,GError **error
); gboolean mirage_cdtext_decoder_init (MIRAGE_CDTextEncDec *self
,guint8 *buffer
,gint buflen
,GError **error
); gboolean mirage_cdtext_decoder_get_block_info (MIRAGE_CDTextEncDec *self
,gint block
,gint *langcode
,gint *charset
,gint *copyright
,GError **error
); gboolean mirage_cdtext_decoder_get_data (MIRAGE_CDTextEncDec *self
,gint block
,MIRAGE_CDTextDataCallback callback_func
,gpointer user_data
,GError **error
);
gboolean (*MIRAGE_CDTextDataCallback) (gint langcode
,gint type
,gint track
,const guint8 *data
,gint data_len
,gpointer user_data
);
Specifies the type of callback functions that can be passed to
mirage_cdtext_decoder_get_data()
.
langcode
is the language code assigned to the block which data belongs to.
track
is the number of track to which data belongs to, or 0 if data is global
(belongs to session/disc). data
is buffer containing data and data_len
is the length of data in the buffer.
data
points to buffer that belongs to decoder and therefore should not be freed.
|
language code |
|
pack type |
|
track number |
|
data |
|
data length |
|
user data |
Returns : |
TRUE on success, FALSE on failure |
typedef struct { MIRAGE_Object parent; } MIRAGE_CDTextEncDec;
Contains private data only, and should be accessed using the functions below.
gboolean mirage_cdtext_encoder_init (MIRAGE_CDTextEncDec *self
,guint8 *buffer
,gint buflen
,GError **error
);
Initializes CD-TEXT encoder.
|
a MIRAGE_CDTextEncDec |
|
buffer into which data will be encoded |
|
buffer length |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure |
gboolean mirage_cdtext_encoder_set_block_info (MIRAGE_CDTextEncDec *self
,gint block
,gint langcode
,gint charset
,gint copyright
,GError **error
);
Sets block information for CD-TEXT block specified by block
. block
must be
a valid block number (0-7). langcode
is the language code that is to be assigned
to the block (e.g. 9 for English), charset
denotes character set that is used within
the block, and copyright
is the copyright flag for the block.
|
a MIRAGE_CDTextEncDec |
|
block number |
|
language code |
|
character set |
|
copyright flag |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure |
gboolean mirage_cdtext_encoder_add_data (MIRAGE_CDTextEncDec *self
,gint langcode
,gint type
,gint track
,const guint8 *data
,gint data_len
,GError **error
);
Adds data to the encoder. langcode
is language code of the block the data
should be added to. type
denotes pack type and should be one of MIRAGE_Language_PackTypes.
track
is track number the data belongs to, or 0 if data is global (belongs to disc/session).
data
is buffer containing data to be added, and data_len
is length of data in the buffer.
This function does not perform any encoding yet; it merely adds the data into encoder's internal representation of CD-TEXT block.
mirage_cdtext_encoder_set_block_info()
before data can be added to it.
|
a MIRAGE_CDTextEncDec |
|
language code |
|
data type |
|
track number |
|
data |
|
data length |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure |
gboolean mirage_cdtext_encoder_encode (MIRAGE_CDTextEncDec *self
,guint8 **buffer
,gint *buflen
,GError **error
);
Encodes the CD-TEXT data. Pointer to buffer containing the encoded data is
stored in buffer
, and length of data in buffer is stored in buflen
.
Note that buffer
is the same as the argument passed to mirage_cdtext_encoder_init()
.
|
a MIRAGE_CDTextEncDec |
|
location to store buffer |
|
location to store buffer length |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure |
gboolean mirage_cdtext_decoder_init (MIRAGE_CDTextEncDec *self
,guint8 *buffer
,gint buflen
,GError **error
);
Initializes CD-TEXT decoder. buffer
is the buffer containing encoded CD-TEXT
data and buflen
is length of data in the buffer.
This function decodes CD-TEXT data and stores it in decoder's internal representation.
Information about decoded CD-TEXT blocks and their data can be obtained via
subsequent calls to mirage_cdtext_decoder_get_block_info()
and
mirage_cdtext_decoder_get_data()
.
|
a MIRAGE_CDTextEncDec |
|
buffer containing encoded data |
|
length of data in buffer |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure |
gboolean mirage_cdtext_decoder_get_block_info (MIRAGE_CDTextEncDec *self
,gint block
,gint *langcode
,gint *charset
,gint *copyright
,GError **error
);
Retrieves block information for CD-TEXT block specified by block
. block
must be a valid block number (0-7). Language code assigned to the block is
stored in langcode
, code of character set used within block is stored in
charset
and block's copyright flag is stored in copyright
.
|
a MIRAGE_CDTextEncDec |
|
block number |
|
location to store language code |
|
location to store character set |
|
location to store copyright flag |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure |
gboolean mirage_cdtext_decoder_get_data (MIRAGE_CDTextEncDec *self
,gint block
,MIRAGE_CDTextDataCallback callback_func
,gpointer user_data
,GError **error
);
Retrieves data for CD-TEXT block specified by block
. block
must be a valid
block number (0-7). It calls callback_func
for every data pack that has been
encoded in the block.
If callback_func
returns FALSE
, the function immediately returns FALSE
and
error
is set to MIRAGE_E_ITERCANCELLED
.
|
a MIRAGE_CDTextEncDec |
|
block number |
|
callback function |
|
data to be passed to callback function |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure |