Main Page | Modules | Data Structures | Directories | File List | Globals | Related Pages

anx_track.h

Go to the documentation of this file.
00001 /*
00002    Copyright (C) 2003 Commonwealth Scientific and Industrial Research
00003    Organisation (CSIRO) Australia
00004 
00005    Redistribution and use in source and binary forms, with or without
00006    modification, are permitted provided that the following conditions
00007    are met:
00008 
00009    - Redistributions of source code must retain the above copyright
00010    notice, this list of conditions and the following disclaimer.
00011 
00012    - Redistributions in binary form must reproduce the above copyright
00013    notice, this list of conditions and the following disclaimer in the
00014    documentation and/or other materials provided with the distribution.
00015 
00016    - Neither the name of CSIRO Australia nor the names of its
00017    contributors may be used to endorse or promote products derived from
00018    this software without specific prior written permission.
00019 
00020    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00021    ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00022    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
00023    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
00024    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00027    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00028    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00029    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00030    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031 */
00032 
00033 #ifndef __ANX_TRACK_H__
00034 #define __ANX_TRACK_H__
00035 
00040 #include <annodex/anx_types.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045 
00047 typedef struct _AnxTrack AnxTrack;
00048 
00054 AnxTrack * anx_track_free (AnxTrack * track);
00055 
00070 AnxList *
00071 anx_get_track_list (ANNODEX * annodex);
00072 
00078 char * anx_track_get_content_type (ANNODEX * annodex, long serialno);
00079 
00085 long anx_track_get_nr_headers (ANNODEX * annodex, long serialno);
00086 
00095 int anx_track_get_granule_rate (ANNODEX * annodex, long serialno,
00096                                 anx_int64_t * granule_rate_n,
00097                                 anx_int64_t * granule_rate_d);
00098 
00106 anx_int64_t anx_track_time_to_granules (ANNODEX * annodex, long serialno,
00107                                         double seconds);
00108 
00115 double anx_track_granules_to_time (ANNODEX * annodex, long serialno,
00116                                    anx_int64_t granules);
00117 
00124 long anx_track_get_basegranule (ANNODEX * annodex, long serialno);
00125 
00132 int anx_track_get_preroll (ANNODEX * annodex, long serialno);
00133 
00140 int anx_track_get_granuleshift(ANNODEX * annodex, long serialno);
00141 
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145 
00146 #endif /* __ANX_TRACK_H__ */

Generated on Tue Feb 7 13:35:30 2006 for libannodex by  doxygen 1.4.4