File: channel_types.h

package info (click to toggle)
rat 4.2.22-2.2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,896 kB
  • ctags: 3,717
  • sloc: ansic: 36,542; tcl: 2,740; sh: 2,675; makefile: 295
file content (51 lines) | stat: -rw-r--r-- 1,238 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
 * FILE:      channel_types.h
 * AUTHOR(S): Orion Hodson 
 *	
 *
 * Copyright (c) 1999-2001 University College London
 * All rights reserved.
 *
 * $Id: channel_types.h,v 1.18 2001/01/08 20:29:54 ucaccsp Exp $
 */
#ifndef __CHANNEL_TYPES_H__
#define __CHANNEL_TYPES_H__

/* Channel coder description information */

typedef uint32_t cc_id_t;

#define CC_NAME_LENGTH 32

typedef struct {
        cc_id_t    descriptor;
        const char name[CC_NAME_LENGTH];
} cc_details_t;

/* In and out unit types.  On input channel encoder takes a playout buffer
 * of media_units and puts channel_units on the output playout buffer
 */

#define MAX_CHANNEL_UNITS    20
#define MAX_UNITS_PER_PACKET 8

typedef struct {
        uint8_t  pt;
        u_char *data;
        uint32_t data_len;   /* This is the length for processing purposes */
} channel_unit;

typedef struct {
        uint8_t        nelem;
        channel_unit *elem[MAX_CHANNEL_UNITS];
} channel_data;

int  channel_data_create  (channel_data **cd, 
                           int            nelem);

void channel_data_destroy (channel_data **cd, 
                           uint32_t        cdsize);

uint32_t channel_data_bytes(channel_data *cd);

#endif /* __CHANNEL_TYPES_H__ */