gmerlin
Main Page
Related Pages
Modules
Data Structures
Files
File List
include
gmerlin
edl.h
1
/*****************************************************************
2
* gmerlin - a general purpose multimedia framework and applications
3
*
4
* Copyright (c) 2001 - 2011 Members of the Gmerlin project
5
* gmerlin-general@lists.sourceforge.net
6
* http://gmerlin.sourceforge.net
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
* *****************************************************************/
21
22
#ifndef __BG_EDL_H_
23
#define __BG_EDL_H_
24
25
#include <gmerlin/parameter.h>
26
#include <gmerlin/streaminfo.h>
27
57
typedef
struct
bg_edl_s
bg_edl_t
;
58
59
63
typedef
struct
64
{
65
char
*
url
;
66
67
int
track
;
68
int
stream
;
69
int
timescale
;
70
71
int64_t
src_time
;
72
73
/* Time and duration within the destination in destination
74
timescale */
75
int64_t
dst_time
;
76
int64_t
dst_duration
;
77
78
/* */
79
int32_t
speed_num
;
80
int32_t
speed_den
;
81
}
bg_edl_segment_t
;
82
86
typedef
struct
87
{
88
bg_edl_segment_t
*
segments
;
89
int
num_segments
;
90
int
timescale
;
91
}
bg_edl_stream_t
;
92
96
typedef
struct
97
{
98
char
*
name
;
99
100
gavl_metadata_t
metadata
;
101
102
int
num_audio_streams
;
103
bg_edl_stream_t
*
audio_streams
;
104
105
int
num_video_streams
;
106
bg_edl_stream_t
*
video_streams
;
107
108
int
num_subtitle_text_streams
;
109
bg_edl_stream_t
*
subtitle_text_streams
;
110
111
int
num_subtitle_overlay_streams
;
112
bg_edl_stream_t
*
subtitle_overlay_streams
;
113
114
}
bg_edl_track_t
;
115
119
struct
bg_edl_s
120
{
121
int
num_tracks
;
122
bg_edl_track_t
*
tracks
;
123
char
*
url
;
124
};
125
130
bg_edl_t
*
bg_edl_create
();
131
137
bg_edl_track_t
*
bg_edl_add_track
(
bg_edl_t
* e);
138
144
bg_edl_stream_t
*
bg_edl_add_audio_stream
(
bg_edl_track_t
* t);
145
151
bg_edl_stream_t
*
bg_edl_add_video_stream
(
bg_edl_track_t
* t);
152
158
bg_edl_stream_t
*
bg_edl_add_subtitle_text_stream
(
bg_edl_track_t
* t);
159
165
bg_edl_stream_t
*
bg_edl_add_subtitle_overlay_stream
(
bg_edl_track_t
* t);
166
172
bg_edl_segment_t
*
bg_edl_add_segment
(
bg_edl_stream_t
* s);
173
179
bg_edl_t
*
bg_edl_copy
(
const
bg_edl_t
* e);
180
185
void
bg_edl_destroy
(
bg_edl_t
* e);
186
193
void
bg_edl_dump
(
const
bg_edl_t
* e);
194
202
void
bg_edl_save
(
const
bg_edl_t
* e,
const
char
* filename);
203
209
bg_edl_t
*
bg_edl_load
(
const
char
* filename);
210
228
void
bg_edl_append_track_info
(
bg_edl_t
* e,
229
const
bg_track_info_t
* info,
const
char
* url,
230
int
index,
int
num_tracks,
const
char
* name);
231
237
#endif // __BG_EDL_H_
Generated on Wed Jun 13 2012 07:15:45 for gmerlin by
1.8.1