f1d7b4eb5abe0f6d99b6e951a618e8e754577f55
[platform/upstream/libvorbis.git] / lib / registry.c
1 /********************************************************************
2  *                                                                  *
3  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
4  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
5  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
7  *                                                                  *
8  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
9  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
10  *                                                                  *
11  ********************************************************************
12
13  function: registry for time, floor, res backends and channel mappings
14  last mod: $Id: registry.c,v 1.13 2001/12/20 01:00:29 segher Exp $
15
16  ********************************************************************/
17
18 #include "vorbis/codec.h"
19 #include "codec_internal.h"
20 #include "registry.h"
21 #include "registry-api.h"
22 #include "misc.h"
23
24
25 /* seems like major overkill now; the backend numbers will grow into
26    the infrastructure soon enough */
27
28 extern vorbis_func_time      time0_exportbundle;
29 extern vorbis_func_floor     floor0_exportbundle;
30 extern vorbis_func_floor     floor1_exportbundle;
31 extern vorbis_func_residue   residue0_exportbundle;
32 extern vorbis_func_residue   residue1_exportbundle;
33 extern vorbis_func_residue   residue2_exportbundle;
34 extern vorbis_func_mapping   mapping0_exportbundle;
35
36 vorbis_func_time      *_time_P[]={
37   &time0_exportbundle,
38 };
39
40 vorbis_func_floor     *_floor_P[]={
41   &floor0_exportbundle,
42   &floor1_exportbundle,
43 };
44
45 vorbis_func_residue   *_residue_P[]={
46   &residue0_exportbundle,
47   &residue1_exportbundle,
48   &residue2_exportbundle,
49 };
50
51 vorbis_func_mapping   *_mapping_P[]={
52   &mapping0_exportbundle,
53 };
54
55 /* make Windows happy; can't access the registry directly outside of
56    libvorbis, and vorbisenc needs a few functions */
57 void residue_free_info(vorbis_info_residue *r,int type){
58   _residue_P[type]->free_info(r);
59 }
60