root/rat/trunk/channel_types.h @ 2765

Revision 2765, 1.5 KB (checked in by ucacoxh, 15 years ago)

- Consistency fixes for channel coder query functions.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1/*
2 * FILE:      channel_types.h
3 * AUTHOR(S): Orion Hodson
4 *     
5 * $Revision$
6 * $Date$
7 *
8 * Copyright (c) 1999 University College London
9 * All rights reserved.
10 *
11 */
12#ifndef __CHANNEL_TYPES_H__
13#define __CHANNEL_TYPES_H__
14
15/* Channel coder description information */
16
17typedef u_int32 cc_id_t;
18
19#define CC_NAME_LENGTH 32
20
21typedef struct {
22        cc_id_t    descriptor;
23        const char name[CC_NAME_LENGTH];
24} cc_details_t;
25
26/* In and out unit types.  On input channel encoder takes a playout buffer
27 * of media_units and puts channel_units on the output playout buffer
28 */
29
30#define MAX_CHANNEL_UNITS    20
31#define MAX_UNITS_PER_PACKET 8
32
33typedef struct {
34        u_int8  pt;
35        u_char *data;
36        u_int32 data_start; /* We use data_start to indicate offset where
37                             * channel data begins relative to data(packet)
38                             * since this saves an allocation, copy, and free.
39                             * Used only on decode path.
40                             */
41        u_int32 data_len;   /* This is the length for processing purposes */
42} channel_unit;
43
44typedef struct {
45        u_int8        nelem;
46        channel_unit *elem[MAX_CHANNEL_UNITS];
47} channel_data;
48
49int  channel_data_create  (channel_data **cd,
50                           int            nelem);
51
52void channel_data_destroy (channel_data **cd,
53                           u_int32        cdsize);
54
55u_int32 channel_data_bytes(channel_data *cd);
56
57#endif /* __CHANNEL_TYPES_H__ */
Note: See TracBrowser for help on using the browser.