00001 /* Copyright (C) 2008 Vincent Penquerc'h. 00002 This file is part of the Kate codec library. 00003 Written by Vincent Penquerc'h. 00004 00005 Use, distribution and reproduction of this library is governed 00006 by a BSD style source license included with this source in the 00007 file 'COPYING'. Please read these terms before distributing. */ 00008 00009 00010 #ifndef KATE_kate_decode_state_h_GUARD 00011 #define KATE_kate_decode_state_h_GUARD 00012 00013 #include "kate_internal.h" 00014 #include "kate/kate.h" 00015 00016 typedef struct kate_active_event { 00017 kate_int32_t id; 00018 kate_int64_t start; 00019 kate_int64_t end; 00020 } kate_active_event; 00021 00022 typedef struct kate_decode_state { 00023 kate_info *ki; 00024 kate_comment *kc; 00025 kate_event *event; 00026 00027 size_t n_active_events; 00028 kate_active_event *active_events; 00029 } kate_decode_state; 00030 00031 extern kate_decode_state *kate_decode_state_create(void) kate_internal; 00032 extern int kate_decode_state_clear(kate_decode_state *kds,const kate_info *ki,int new) kate_internal; 00033 extern int kate_decode_state_destroy(kate_decode_state *kds) kate_internal; 00034 extern int kate_decode_state_find_event(kate_decode_state *kds,kate_int32_t id) kate_internal; 00035 extern int kate_decode_state_add_event(kate_decode_state *kds,const kate_event *ev) kate_internal; 00036 extern int kate_decode_state_flush_events(kate_decode_state *kds,kate_int64_t granule) kate_internal; 00037 00038 #endif