#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <assert.h>
#include "libdaisy.h"
#include "control.h"
#include "common.h"
#include "snprintf/snprintf.h"
#include "audio.h"
#include "report.h"
Go to the source code of this file.
Data Structures | |
struct | struct_daisyplayer_t |
Defines | |
#define | DAISYPLAYER_MAGIC_NUMBER 0xC729A4BF |
Functions | |
void | local_cb_daisy_audio_done (daisyplayer_t daisy) |
audio_data_t | start_audio (daisyplayer_t daisy, void(*done)(daisyplayer_t), void(*error)(void *data, enum daisy_status, const char *), void(*progress)(void *data, long int progress_ms)) |
void | stop_audio (daisyplayer_t daisy, audio_data_t data) |
audio_data_t | start_audio (daisyplayer_t daisy, void(*done)(daisyplayer_t d), void(*error)(void *data, enum daisy_status, const char *daisy_error_msg), void(*progress)(void *data, long int progress_ms)) |
daisyplayer_t | daisy_init (void *data, void(*l_cb_daisy_audio_done)(void *), void(*l_cb_daisy_audio_next)(void *, unsigned long int), void(*l_cb_daisy_text)(void *, void *), void(*l_cb_daisy_id)(void *, void *), void(*l_cb_daisy_error)(void *, enum daisy_status, const char *), void(*l_cb_daisy_progress)(void *, long int)) |
void | daisy_term (daisyplayer_t daisy) |
int | daisy_load (daisyplayer_t daisy, char *path) |
int | daisy_play (daisyplayer_t daisy) |
int | daisy_seek (daisyplayer_t daisy, int seek_option) |
daisy_position * | daisy_get_position (daisyplayer_t daisy) |
int | daisy_goto_position (daisyplayer_t daisy, daisy_position *position) |
int | daisy_stop (daisyplayer_t daisy) |
int | daisy_pause (daisyplayer_t daisy) |
char * | daisy_get_info (daisyplayer_t daisy, int value) |
int | daisy_get_chapter_count (daisyplayer_t daisy) |
char * | daisy_get_chapter_info (daisyplayer_t daisy, int num, int option) |
|
Definition at line 44 of file libdaisy.c. Referenced by daisy_init(). |
|
Retrieves the number of chapters in in the loaded Daisy DTB.
Definition at line 618 of file libdaisy.c. References struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::daisy_book_data, DAISY_ERROR_PLAYBACK_NO_DTB_LOADED, daisyplayer_t, struct_daisyplayer_t::data, SmilNode::next, DaisyData::smilHead, and DaisyData::smilTail. |
|
Retrieves information about a given chapter.
Definition at line 653 of file libdaisy.c. References struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::daisy_book_data, DAISY_CHAPTER_TITLE, DAISY_CHAPTER_WEIGHT, DAISY_ERROR_PLAYBACK_NO_DTB_LOADED, daisyplayer_t, struct_daisyplayer_t::data, SmilNode::header, SmilNode::next, DaisyData::smilHead, and DaisyData::smilTail. |
|
Retrieves book meta information.
Definition at line 566 of file libdaisy.c. References DaisyData::bookInfo, struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::daisy_book_data, DAISY_BOOKINFO_TITLEIMAGE, DAISY_BOOKINFO_TITLETEXT, DAISY_BOOKINFO_TOTALTIME, DAISY_ERROR_PLAYBACK_NO_DTB_LOADED, daisyplayer_t, struct_daisyplayer_t::data, SmilNode::next, DaisyData::smilHead, DaisyData::smilTail, BookInfo::titleImage, BookInfo::titleText, and BookInfo::totalTime. |
|
Retrieves the current playback position.
Definition at line 435 of file libdaisy.c. References struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::daisy_book_data, DAISY_ERROR_PLAYBACK_NO_DTB_LOADED, daisyplayer_t, struct_daisyplayer_t::data, getNodePos(), getSmilPos(), SmilNode::next, daisy_position::nodepos, REP_DEBUG, report(), DaisyData::smilHead, daisy_position::smilpos, and DaisyData::smilTail. |
|
Seeks to a playback position (bookmark) and continue playback from there.
Definition at line 473 of file libdaisy.c. References struct_daisyplayer_t::audio_data, audio_get_state(), AUDIO_STATE_STOP, audio_state_t, audio_stop(), struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::daisy_book_data, DAISY_ERROR_PLAYBACK_NO_DTB_LOADED, struct_daisyplayer_t::daisy_mutex, daisy_play(), daisyplayer_t, struct_daisyplayer_t::data, gotoNodePosition(), gotoSmilPosition(), SmilNode::next, daisy_position::nodepos, REP_DEBUG, report(), DaisyData::smilHead, daisy_position::smilpos, and DaisyData::smilTail. |
|
Initializes the daisy library. It should be called before any atempt to use the daisy functionality.
Definition at line 216 of file libdaisy.c. References struct_daisyplayer_t::audio_data, struct_daisyplayer_t::cb_daisy_audio_done, struct_daisyplayer_t::cb_daisy_audio_next, struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::cb_daisy_id, struct_daisyplayer_t::cb_daisy_progress, struct_daisyplayer_t::cb_daisy_text, struct_daisyplayer_t::daisy_book_data, DAISY_ERROR_MISC_INIT_MUTEX, struct_daisyplayer_t::daisy_mutex, daisy_status, DAISYPLAYER_MAGIC_NUMBER, daisyplayer_t, struct_daisyplayer_t::data, local_cb_daisy_audio_done(), struct_daisyplayer_t::magic, parseInit(), REP_ERROR, report(), and start_audio(). |
|
Loades a new daisy book.
Definition at line 279 of file libdaisy.c. References struct_daisyplayer_t::audio_data, struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::cb_daisy_progress, struct_daisyplayer_t::daisy_book_data, DAISY_SEEK_NEXT_PASSAGE, daisyplayer_t, local_cb_daisy_audio_done(), parse(), REP_DEBUG, report(), seek(), start_audio(), and stop_audio(). |
|
Toggle pause. Pauses playback if state is playing and continues playing of state is paused.
Definition at line 552 of file libdaisy.c. References struct_daisyplayer_t::audio_data, audio_pause(), daisyplayer_t, REP_DEBUG, and report(). |
|
Starts playback if a book i loaded.
Definition at line 301 of file libdaisy.c. References struct_daisyplayer_t::audio_data, audio_play(), Node::audiofilename, Node::audioStartPos, Node::audioStopPos, struct_daisyplayer_t::cb_daisy_audio_next, struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::cb_daisy_id, struct_daisyplayer_t::cb_daisy_text, struct_daisyplayer_t::daisy_book_data, DAISY_ERROR_PLAYBACK_NO_AUDIO_IN_SEGMENT, DAISY_ERROR_PLAYBACK_NO_DTB_LOADED, DAISY_ERROR_PLAYBACK_NO_TEXT_IN_SEGMENT, daisyplayer_t, struct_daisyplayer_t::data, Node::fragmentIdentifier, SmilNode::next, DaisyData::nodePos, DaisyData::path, REP_DEBUG, report(), DaisyData::smilHead, DaisyData::smilTail, STRLEN, and Node::textPassage. Referenced by daisy_goto_position(), and daisy_seek(). |
|
Seek operations which can be performed when a book is loaded.
Definition at line 351 of file libdaisy.c. References struct_daisyplayer_t::audio_data, audio_get_state(), AUDIO_STATE_STOP, audio_state_t, audio_stop(), struct_daisyplayer_t::cb_daisy_error, struct_daisyplayer_t::daisy_book_data, DAISY_ERROR_PLAYBACK_NO_DTB_LOADED, struct_daisyplayer_t::daisy_mutex, daisy_play(), daisyplayer_t, struct_daisyplayer_t::data, SmilNode::next, REP_DEBUG, report(), seek(), DaisyData::smilHead, and DaisyData::smilTail. Referenced by local_cb_daisy_audio_done(). |
|
Stops playback.
Definition at line 535 of file libdaisy.c. References struct_daisyplayer_t::audio_data, audio_stop(), struct_daisyplayer_t::daisy_mutex, daisyplayer_t, REP_DEBUG, and report(). |
|
Terminates the daisy library and frees memory used by it. It should be called when daisy are no longer needed.
Definition at line 259 of file libdaisy.c. References struct_daisyplayer_t::audio_data, struct_daisyplayer_t::daisy_book_data, daisyplayer_t, struct_daisyplayer_t::magic, parseTerminate(), REP_DEBUG, report(), and stop_audio(). |
|
Internal callback function. Will be called each time the audio engine is done playing the supplied segment. Feeds the audio engine with the next audio segment and signals the the front end that an segment is done playing.
Definition at line 122 of file libdaisy.c. References struct_daisyplayer_t::cb_daisy_audio_done, struct_daisyplayer_t::cb_daisy_error, DAISY_END_OF_BOOK, DAISY_ERROR_PLAYBACK_SEEK_FAILED, daisy_seek(), DAISY_SEEK_NEXT_PASSAGE, daisyplayer_t, and struct_daisyplayer_t::data. Referenced by daisy_init(), and daisy_load(). |
|
Starts the audio thread. The audio playback is run as a separate thread with callback functions.
Definition at line 157 of file libdaisy.c. References audio_data_t, audio_initiate(), struct_daisyplayer_t::daisy_book_data, daisy_status, daisyplayer_t, REP_CRITICAL, REP_DEBUG, report(), and DaisyData::thread_audio. Referenced by daisy_init(), and daisy_load(). |
|
Starts the audio thread. The audio playback is run as a separate thread with callback functions.
|
|
Stops the audio thread.
Definition at line 187 of file libdaisy.c. References audio_data_t, audio_terminate(), struct_daisyplayer_t::daisy_book_data, daisyplayer_t, and DaisyData::thread_audio. Referenced by daisy_load(), and daisy_term(). |