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