]> gitweb.factorcode.org Git - factor.git/blob - extra/ogg/ogg.factor
factor: Fix rename issues.
[factor.git] / extra / ogg / ogg.factor
1 ! Copyright (C) 2007 Chris Double.
2 ! See http://factorcode.org/license.txt for BSD license.
3 !
4 USING:
5     alien
6     alien.c-types
7     alien.libraries
8     alien.syntax
9     classes.struct
10     combinators
11     kernel
12     system
13 ;
14 IN: ogg
15
16 <<
17 "ogg" {
18     { [ os windows? ]  [ "ogg.dll" ] }
19     { [ os macosx? ] [ "libogg.0.dylib" ] }
20     { [ os unix? ]   [ "libogg.so" ] }
21 } cond cdecl add-library
22
23 "ogg" deploy-library
24 >>
25
26 LIBRARY: ogg
27
28 STRUCT: oggpack-buffer
29     { endbyte long }
30     { endbit int   }
31     { buffer uchar* }
32     { ptr uchar* }
33     { storage long } ;
34
35 STRUCT: ogg-page
36     {  header uchar* }
37     {  header_len long }
38     {  body uchar* }
39     {  body_len long } ;
40
41 STRUCT: ogg-stream-state
42     {  body_data uchar* }
43     {  body_storage long }
44     {  body_fill long }
45     {  body_returned long }
46     {  lacing_vals int* }
47     {  granule_vals longlong* }
48     {  lacing_storage long }
49     {  lacing_fill long }
50     {  lacing_packet long }
51     {  lacing_returned long }
52     {  header { uchar 282 } }
53     {  header_fill int }
54     {  e_o_s int }
55     {  b_o_s int }
56     {  serialno long  }
57     {  pageno long }
58     {  packetno longlong }
59     {  granulepos longlong } ;
60
61 STRUCT: ogg-packet
62     {  packet uchar* }
63     {  bytes long }
64     {  b_o_s long }
65     {  e_o_s long }
66     {  granulepos longlong }
67     {  packetno longlong } ;
68
69 STRUCT: ogg-sync-state
70     { data uchar* }
71     { storage int }
72     { fill int }
73     { returned int }
74     { unsynced int }
75     { headerbytes int }
76     { bodybytes int } ;
77
78 FUNCTION: void oggpack_writeinit ( oggpack-buffer* b )
79 FUNCTION: void  oggpack_writetrunc ( oggpack-buffer* b, long bits )
80 FUNCTION: void  oggpack_writealign ( oggpack-buffer* b )
81 FUNCTION: void  oggpack_writecopy ( oggpack-buffer* b, void* source, long bits )
82 FUNCTION: void  oggpack_reset ( oggpack-buffer* b )
83 FUNCTION: void  oggpack_writeclear ( oggpack-buffer* b )
84 FUNCTION: void  oggpack_readinit ( oggpack-buffer* b, uchar* buf, int bytes )
85 FUNCTION: void  oggpack_write ( oggpack-buffer* b, ulong value, int bits )
86 FUNCTION: long  oggpack_look ( oggpack-buffer* b, int bits )
87 FUNCTION: long  oggpack_look1 ( oggpack-buffer* b )
88 FUNCTION: void  oggpack_adv ( oggpack-buffer* b, int bits )
89 FUNCTION: void  oggpack_adv1 ( oggpack-buffer* b )
90 FUNCTION: long  oggpack_read ( oggpack-buffer* b, int bits )
91 FUNCTION: long  oggpack_read1 ( oggpack-buffer* b )
92 FUNCTION: long  oggpack_bytes ( oggpack-buffer* b )
93 FUNCTION: long  oggpack_bits ( oggpack-buffer* b )
94 FUNCTION: uchar* oggpack_get_buffer ( oggpack-buffer* b )
95 FUNCTION: void  oggpackB_writeinit ( oggpack-buffer* b )
96 FUNCTION: void  oggpackB_writetrunc ( oggpack-buffer* b, long bits )
97 FUNCTION: void  oggpackB_writealign ( oggpack-buffer* b )
98 FUNCTION: void  oggpackB_writecopy ( oggpack-buffer* b, void* source, long bits )
99 FUNCTION: void  oggpackB_reset ( oggpack-buffer* b )
100 FUNCTION: void  oggpackB_writeclear ( oggpack-buffer* b )
101 FUNCTION: void  oggpackB_readinit ( oggpack-buffer* b, uchar* buf, int bytes )
102 FUNCTION: void  oggpackB_write ( oggpack-buffer* b, ulong value, int bits )
103 FUNCTION: long  oggpackB_look ( oggpack-buffer* b, int bits )
104 FUNCTION: long  oggpackB_look1 ( oggpack-buffer* b )
105 FUNCTION: void  oggpackB_adv ( oggpack-buffer* b, int bits )
106 FUNCTION: void  oggpackB_adv1 ( oggpack-buffer* b )
107 FUNCTION: long  oggpackB_read ( oggpack-buffer* b, int bits )
108 FUNCTION: long  oggpackB_read1 ( oggpack-buffer* b )
109 FUNCTION: long  oggpackB_bytes ( oggpack-buffer* b )
110 FUNCTION: long  oggpackB_bits ( oggpack-buffer* b )
111 FUNCTION: uchar* oggpackB_get_buffer ( oggpack-buffer* b )
112 FUNCTION: int      ogg_stream_packetin ( ogg-stream-state* os, ogg-packet* op )
113 FUNCTION: int      ogg_stream_pageout ( ogg-stream-state* os, ogg-page* og )
114 FUNCTION: int      ogg_stream_flush ( ogg-stream-state* os, ogg-page* og )
115 FUNCTION: int      ogg_sync_init ( ogg-sync-state* oy )
116 FUNCTION: int      ogg_sync_clear ( ogg-sync-state* oy )
117 FUNCTION: int      ogg_sync_reset ( ogg-sync-state* oy )
118 FUNCTION: int   ogg_sync_destroy ( ogg-sync-state* oy )
119
120 FUNCTION: void* ogg_sync_buffer ( ogg-sync-state* oy, long size )
121 FUNCTION: int      ogg_sync_wrote ( ogg-sync-state* oy, long bytes )
122 FUNCTION: long     ogg_sync_pageseek ( ogg-sync-state* oy, ogg-page* og )
123 FUNCTION: int      ogg_sync_pageout ( ogg-sync-state* oy, ogg-page* og )
124 FUNCTION: int      ogg_stream_pagein ( ogg-stream-state* os, ogg-page* og )
125 FUNCTION: int      ogg_stream_packetout ( ogg-stream-state* os, ogg-packet* op )
126 FUNCTION: int      ogg_stream_packetpeek ( ogg-stream-state* os, ogg-packet* op )
127 FUNCTION: int      ogg_stream_init ( ogg-stream-state* os, int serialno )
128 FUNCTION: int      ogg_stream_clear ( ogg-stream-state* os )
129 FUNCTION: int      ogg_stream_reset ( ogg-stream-state* os )
130 FUNCTION: int      ogg_stream_reset_serialno ( ogg-stream-state* os, int serialno )
131 FUNCTION: int      ogg_stream_destroy ( ogg-stream-state* os )
132 FUNCTION: int      ogg_stream_eos ( ogg-stream-state* os )
133 FUNCTION: void     ogg_page_checksum_set ( ogg-page* og )
134 FUNCTION: int      ogg_page_version ( ogg-page* og )
135 FUNCTION: int      ogg_page_continued ( ogg-page* og )
136 FUNCTION: int      ogg_page_bos ( ogg-page* og )
137 FUNCTION: int      ogg_page_eos ( ogg-page* og )
138 FUNCTION: longlong  ogg_page_granulepos ( ogg-page* og )
139 FUNCTION: int      ogg_page_serialno ( ogg-page* og )
140 FUNCTION: long     ogg_page_pageno ( ogg-page* og )
141 FUNCTION: int      ogg_page_packets ( ogg-page* og )
142 FUNCTION: void     ogg_packet_clear ( ogg-packet* op )