00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00043 #ifndef __OGGPLAY_H__
00044 #define __OGGPLAY_H__
00045
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049
00050 #include <oggplay/oggplay_enums.h>
00051 #include <oggplay/oggplay_reader.h>
00052
00056 typedef struct _OggPlay OggPlay;
00057
00062 typedef struct _OggPlayCallbackInfo OggPlayCallbackInfo;
00063
00076 typedef int (OggPlayDataCallback) (OggPlay *player, int num_records,
00077 OggPlayCallbackInfo **records, void *user);
00078
00079 #include <oggplay/oggplay_query.h>
00080 #include <oggplay/oggplay_callback_info.h>
00081 #include <oggplay/oggplay_tools.h>
00082 #include <oggplay/oggplay_seek.h>
00083
00095 OggPlay *
00096 oggplay_open_with_reader(OggPlayReader *reader);
00097
00105 OggPlay *
00106 oggplay_new_with_reader(OggPlayReader *reader);
00107
00108
00127 OggPlayErrorCode
00128 oggplay_initialise(OggPlay *me, int block);
00129
00141 OggPlayErrorCode
00142 oggplay_set_data_callback(OggPlay *me, OggPlayDataCallback callback,
00143 void *user);
00144
00145
00146 OggPlayErrorCode
00147 oggplay_set_callback_num_frames(OggPlay *me, int stream, int frames);
00148
00149 OggPlayErrorCode
00150 oggplay_set_callback_period(OggPlay *me, int stream, int milliseconds);
00151
00152 OggPlayErrorCode
00153 oggplay_set_offset(OggPlay *me, int track, ogg_int64_t offset);
00154
00168 OggPlayErrorCode
00169 oggplay_get_video_y_size(OggPlay *me, int track, int *y_width, int *y_height);
00170
00184 OggPlayErrorCode
00185 oggplay_get_video_uv_size(OggPlay *me, int track, int *uv_width, int *uv_height);
00186
00199 OggPlayErrorCode
00200 oggplay_get_audio_channels(OggPlay *me, int track, int *channels);
00201
00214 OggPlayErrorCode
00215 oggplay_get_audio_samplerate(OggPlay *me, int track, int *samplerate);
00216
00230 OggPlayErrorCode
00231 oggplay_get_video_fps(OggPlay *me, int track, int* fps_denom, int* fps_num);
00232
00233 OggPlayErrorCode
00234 oggplay_get_video_aspect_ratio(OggPlay *me, int track, int* aspect_denom, int* aspect_num);
00235
00236 OggPlayErrorCode
00237 oggplay_convert_video_to_rgb(OggPlay *me, int track, int convert, int swap_rgb);
00238
00239 OggPlayErrorCode
00240 oggplay_get_kate_category(OggPlay *me, int track, const char** category);
00241
00242 OggPlayErrorCode
00243 oggplay_get_kate_language(OggPlay *me, int track, const char** language);
00244
00245 OggPlayErrorCode
00246 oggplay_set_kate_tiger_rendering(OggPlay *me, int track, int use_tiger, int swap_rgb, int default_width, int default_height);
00247
00248 OggPlayErrorCode
00249 oggplay_overlay_kate_track_on_video(OggPlay *me, int kate_track, int video_track);
00250
00251 OggPlayErrorCode
00252 oggplay_start_decoding(OggPlay *me);
00253
00269 OggPlayErrorCode
00270 oggplay_step_decoding(OggPlay *me);
00271
00294 OggPlayErrorCode
00295 oggplay_use_buffer(OggPlay *player, int size);
00296
00304 OggPlayCallbackInfo **
00305 oggplay_buffer_retrieve_next(OggPlay *player);
00306
00320 OggPlayErrorCode
00321 oggplay_buffer_release(OggPlay *player, OggPlayCallbackInfo **track_info);
00322
00323 void
00324 oggplay_prepare_for_close(OggPlay *me);
00325
00333 OggPlayErrorCode
00334 oggplay_close(OggPlay *player);
00335
00336 int
00337 oggplay_get_available(OggPlay *player);
00338
00346 ogg_int64_t
00347 oggplay_get_duration(OggPlay * player);
00348
00349 int
00350 oggplay_media_finished_retrieving(OggPlay * player);
00351
00352 #ifdef __cplusplus
00353 }
00354 #endif
00355
00356 #endif