]> git.sesse.net Git - mlt/blob - src/valerie/valerie_status.h
769fbf354740e2b6e15a346d8a55b395103489be
[mlt] / src / valerie / valerie_status.h
1 /*
2  * valerie_status.h -- Unit Status Handling
3  * Copyright (C) 2002-2003 Ushodaya Enterprises Limited
4  * Author: Charles Yates <charles.yates@pandora.be>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #ifndef _VALERIE_STATUS_H_
22 #define _VALERIE_STATUS_H_
23
24 #include <stdint.h>
25
26 #ifdef __cplusplus
27 extern "C"
28 {
29 #endif
30
31 /** Status codes
32 */
33
34 typedef enum
35 {
36         unit_unknown = 0,
37         unit_undefined,
38         unit_offline,
39         unit_not_loaded,
40         unit_stopped,
41         unit_playing,
42         unit_paused,
43         unit_disconnected
44 }
45 unit_status;
46
47 /** Status structure.
48 */
49
50 typedef struct
51 {
52         int unit;
53         unit_status status;
54         char clip[ 2048 ];
55         int32_t position;
56         int speed;
57         double fps;
58         int32_t in;
59         int32_t out;
60         int32_t length;
61         char tail_clip[ 2048 ];
62         int32_t tail_position;
63         int32_t tail_in;
64         int32_t tail_out;
65         int32_t tail_length;
66         int seek_flag;
67         int generation;
68         int clip_index;
69         int dummy;
70 }
71 *valerie_status, valerie_status_t;
72
73 /** DV1394 Status API
74 */
75
76 extern void valerie_status_parse( valerie_status, char * );
77 extern char *valerie_status_serialise( valerie_status, char *, int );
78 extern int valerie_status_compare( valerie_status, valerie_status );
79 extern valerie_status valerie_status_copy( valerie_status, valerie_status );
80
81 #ifdef __cplusplus
82 }
83 #endif
84
85 #endif