UniMRCP  1.3.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
mpf_frame.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008-2014 Arsen Chaloyan
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  * $Id: mpf_frame.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
17  */
18 
19 #ifndef MPF_FRAME_H
20 #define MPF_FRAME_H
21 
22 /**
23  * @file mpf_frame.h
24  * @brief MPF Audio/Video/Named-event Frame
25  */
26 
27 #include "mpf_codec_descriptor.h"
28 #include "mpf_named_event.h"
29 
31 
32 /** Media frame types */
33 typedef enum {
34  MEDIA_FRAME_TYPE_NONE = 0x0, /**< none */
35  MEDIA_FRAME_TYPE_AUDIO = 0x1, /**< audio frame */
36  MEDIA_FRAME_TYPE_VIDEO = 0x2, /**< video frame */
37  MEDIA_FRAME_TYPE_EVENT = 0x4 /**< named event frame (RFC4733/RFC2833) */
39 
40 /** Media frame marker */
41 typedef enum {
42  MPF_MARKER_NONE, /**< none */
43  MPF_MARKER_START_OF_EVENT, /**< start of event */
44  MPF_MARKER_END_OF_EVENT, /**< end of event */
45  MPF_MARKER_NEW_SEGMENT /**< start of new segment (long-lasting events) */
47 
48 /** Media frame declaration */
49 typedef struct mpf_frame_t mpf_frame_t;
50 
51 /** Media frame */
52 struct mpf_frame_t {
53  /** frame type (audio/video/named-event) mpf_frame_type_e */
54  int type;
55  /** frame marker (start-of-event,end-of-event) mpf_frame_marker_e */
56  int marker;
57  /** codec frame */
59  /** named-event frame */
61 };
62 
63 
65 
66 #endif /* MPF_FRAME_H */