factor/extra/ogg/ogg.factor

144 lines
5.5 KiB
Factor
Raw Normal View History

2009-09-24 20:46:46 -04:00
! Copyright (C) 2007 Chris Double.
! See http://factorcode.org/license.txt for BSD license.
!
USING:
alien
alien.c-types
alien.libraries
alien.syntax
classes.struct
combinators
kernel
system
;
IN: ogg
<<
"ogg" {
{ [ os winnt? ] [ "ogg.dll" ] }
{ [ os macosx? ] [ "libogg.0.dylib" ] }
{ [ os unix? ] [ "libogg.so" ] }
} cond "cdecl" add-library
2010-02-16 17:24:04 -05:00
"ogg" deploy-library
2009-09-24 20:46:46 -04:00
>>
LIBRARY: ogg
2009-09-24 23:53:32 -04:00
STRUCT: oggpack-buffer
2009-09-24 20:46:46 -04:00
{ endbyte long }
{ endbit int }
{ buffer c-string }
{ ptr c-string }
2009-09-24 20:46:46 -04:00
{ storage long } ;
2009-09-24 23:53:32 -04:00
STRUCT: ogg-page
{ header c-string }
2009-09-24 20:46:46 -04:00
{ header_len long }
{ body c-string }
2009-09-24 20:46:46 -04:00
{ body_len long } ;
2009-09-24 23:53:32 -04:00
STRUCT: ogg-stream-state
{ body_data c-string }
2009-09-24 20:46:46 -04:00
{ body_storage long }
{ body_fill long }
{ body_returned long }
{ lacing_vals int* }
{ granule_vals longlong* }
{ lacing_storage long }
{ lacing_fill long }
{ lacing_packet long }
{ lacing_returned long }
{ header { uchar 282 } }
{ header_fill int }
{ e_o_s int }
{ b_o_s int }
{ serialno long }
{ pageno long }
{ packetno longlong }
{ granulepos longlong } ;
2009-09-24 23:53:32 -04:00
STRUCT: ogg-packet
{ packet c-string }
2009-09-24 20:46:46 -04:00
{ bytes long }
{ b_o_s long }
{ e_o_s long }
{ granulepos longlong }
{ packetno longlong } ;
2009-09-24 23:53:32 -04:00
STRUCT: ogg-sync-state
{ data c-string }
2009-09-24 20:46:46 -04:00
{ storage int }
{ fill int }
{ returned int }
{ unsynced int }
{ headerbytes int }
{ bodybytes int } ;
2009-09-24 23:53:32 -04:00
FUNCTION: void oggpack_writeinit ( oggpack-buffer* b ) ;
FUNCTION: void oggpack_writetrunc ( oggpack-buffer* b, long bits ) ;
FUNCTION: void oggpack_writealign ( oggpack-buffer* b) ;
FUNCTION: void oggpack_writecopy ( oggpack-buffer* b, void* source, long bits ) ;
FUNCTION: void oggpack_reset ( oggpack-buffer* b ) ;
FUNCTION: void oggpack_writeclear ( oggpack-buffer* b ) ;
FUNCTION: void oggpack_readinit ( oggpack-buffer* b, c-string buf, int bytes ) ;
2009-09-24 23:53:32 -04:00
FUNCTION: void oggpack_write ( oggpack-buffer* b, ulong value, int bits ) ;
FUNCTION: long oggpack_look ( oggpack-buffer* b, int bits ) ;
FUNCTION: long oggpack_look1 ( oggpack-buffer* b ) ;
FUNCTION: void oggpack_adv ( oggpack-buffer* b, int bits ) ;
FUNCTION: void oggpack_adv1 ( oggpack-buffer* b ) ;
FUNCTION: long oggpack_read ( oggpack-buffer* b, int bits ) ;
FUNCTION: long oggpack_read1 ( oggpack-buffer* b ) ;
FUNCTION: long oggpack_bytes ( oggpack-buffer* b ) ;
FUNCTION: long oggpack_bits ( oggpack-buffer* b ) ;
FUNCTION: c-string oggpack_get_buffer ( oggpack-buffer* b ) ;
2009-09-24 23:53:32 -04:00
FUNCTION: void oggpackB_writeinit ( oggpack-buffer* b ) ;
FUNCTION: void oggpackB_writetrunc ( oggpack-buffer* b, long bits ) ;
FUNCTION: void oggpackB_writealign ( oggpack-buffer* b ) ;
FUNCTION: void oggpackB_writecopy ( oggpack-buffer* b, void* source, long bits ) ;
FUNCTION: void oggpackB_reset ( oggpack-buffer* b ) ;
FUNCTION: void oggpackB_writeclear ( oggpack-buffer* b ) ;
FUNCTION: void oggpackB_readinit ( oggpack-buffer* b, c-string buf, int bytes ) ;
2009-09-24 23:53:32 -04:00
FUNCTION: void oggpackB_write ( oggpack-buffer* b, ulong value, int bits ) ;
FUNCTION: long oggpackB_look ( oggpack-buffer* b, int bits ) ;
FUNCTION: long oggpackB_look1 ( oggpack-buffer* b ) ;
FUNCTION: void oggpackB_adv ( oggpack-buffer* b, int bits ) ;
FUNCTION: void oggpackB_adv1 ( oggpack-buffer* b ) ;
FUNCTION: long oggpackB_read ( oggpack-buffer* b, int bits ) ;
FUNCTION: long oggpackB_read1 ( oggpack-buffer* b ) ;
FUNCTION: long oggpackB_bytes ( oggpack-buffer* b ) ;
FUNCTION: long oggpackB_bits ( oggpack-buffer* b ) ;
FUNCTION: c-string oggpackB_get_buffer ( oggpack-buffer* b ) ;
2009-09-24 23:53:32 -04:00
FUNCTION: int ogg_stream_packetin ( ogg-stream-state* os, ogg-packet* op ) ;
FUNCTION: int ogg_stream_pageout ( ogg-stream-state* os, ogg-page* og ) ;
FUNCTION: int ogg_stream_flush ( ogg-stream-state* os, ogg-page* og ) ;
FUNCTION: int ogg_sync_init ( ogg-sync-state* oy ) ;
FUNCTION: int ogg_sync_clear ( ogg-sync-state* oy ) ;
FUNCTION: int ogg_sync_reset ( ogg-sync-state* oy ) ;
FUNCTION: int ogg_sync_destroy ( ogg-sync-state* oy ) ;
2009-09-24 20:46:46 -04:00
2009-09-24 23:53:32 -04:00
FUNCTION: void* ogg_sync_buffer ( ogg-sync-state* oy, long size ) ;
FUNCTION: int ogg_sync_wrote ( ogg-sync-state* oy, long bytes ) ;
FUNCTION: long ogg_sync_pageseek ( ogg-sync-state* oy, ogg-page* og ) ;
FUNCTION: int ogg_sync_pageout ( ogg-sync-state* oy, ogg-page* og ) ;
FUNCTION: int ogg_stream_pagein ( ogg-stream-state* os, ogg-page* og ) ;
FUNCTION: int ogg_stream_packetout ( ogg-stream-state* os, ogg-packet* op ) ;
FUNCTION: int ogg_stream_packetpeek ( ogg-stream-state* os, ogg-packet* op ) ;
FUNCTION: int ogg_stream_init ( ogg-stream-state* os, int serialno ) ;
2009-09-24 23:53:32 -04:00
FUNCTION: int ogg_stream_clear ( ogg-stream-state* os ) ;
FUNCTION: int ogg_stream_reset ( ogg-stream-state* os ) ;
FUNCTION: int ogg_stream_reset_serialno ( ogg-stream-state* os, int serialno ) ;
FUNCTION: int ogg_stream_destroy ( ogg-stream-state* os ) ;
FUNCTION: int ogg_stream_eos ( ogg-stream-state* os ) ;
FUNCTION: void ogg_page_checksum_set ( ogg-page* og ) ;
FUNCTION: int ogg_page_version ( ogg-page* og ) ;
FUNCTION: int ogg_page_continued ( ogg-page* og ) ;
FUNCTION: int ogg_page_bos ( ogg-page* og ) ;
FUNCTION: int ogg_page_eos ( ogg-page* og ) ;
FUNCTION: longlong ogg_page_granulepos ( ogg-page* og ) ;
FUNCTION: int ogg_page_serialno ( ogg-page* og ) ;
FUNCTION: long ogg_page_pageno ( ogg-page* og ) ;
FUNCTION: int ogg_page_packets ( ogg-page* og ) ;
FUNCTION: void ogg_packet_clear ( ogg-packet* op ) ;
2009-09-24 20:46:46 -04:00