Mercurial > mplayer.hg
annotate edl.c @ 30449:3d45b1fdf829
Mention yuv=2 auto-detection in Changelog.
author | reimar |
---|---|
date | Tue, 02 Feb 2010 20:43:20 +0000 |
parents | c1a3f1bbba26 |
children |
rev | line source |
---|---|
30429
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
1 /* |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
2 * This file is part of MPlayer. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
3 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
7 * (at your option) any later version. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
8 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
12 * GNU General Public License for more details. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
13 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
17 */ |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
29263
diff
changeset
|
18 |
13168 | 19 #include <stdio.h> |
20 #include <stdlib.h> | |
21 #include "config.h" | |
22 #include "mp_msg.h" | |
23 #include "edl.h" | |
13358
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
24 #include "help_mp.h" |
13168 | 25 |
14607
7a80c6ac5058
several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x
iive
parents:
13358
diff
changeset
|
26 char *edl_filename; // file to extract EDL entries from (-edl) |
7a80c6ac5058
several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x
iive
parents:
13358
diff
changeset
|
27 char *edl_output_filename; // file to put EDL entries in (-edlout) |
7a80c6ac5058
several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x
iive
parents:
13358
diff
changeset
|
28 |
13358
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
29 /** |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
30 * Allocates a new EDL record and makes sure allocation was successful. |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
31 * |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
32 * \return New allocated EDL record. |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
33 * \brief Allocate new EDL record |
13358
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
34 */ |
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
35 |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
36 static edl_record_ptr edl_alloc_new(edl_record_ptr next_edl_record) |
13168 | 37 { |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
38 edl_record_ptr new_record = calloc(1, sizeof(struct edl_record)); |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
39 if (!new_record) { |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
40 mp_msg(MSGT_CPLAYER, MSGL_FATAL, MSGTR_EdlOutOfMem); |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
41 exit(1); |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
42 } |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
43 |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
44 if (next_edl_record) // if this isn't the first record, tell the previous one what the new one is. |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
45 next_edl_record->next = new_record; |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
46 new_record->prev = next_edl_record; |
17802 | 47 new_record->next = NULL; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
48 |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
49 return new_record; |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
50 } |
13168 | 51 |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
52 /** |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
53 * Goes through entire EDL records and frees all memory. |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
54 * Assumes next_edl_record is valid or NULL. |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
55 * |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
56 * \brief Free EDL memory |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
57 */ |
13168 | 58 |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
59 void free_edl(edl_record_ptr next_edl_record) |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
60 { |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
61 edl_record_ptr tmp; |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
62 while (next_edl_record) { |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
63 tmp = next_edl_record->next; |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
64 free(next_edl_record); |
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
65 next_edl_record = tmp; |
13168 | 66 } |
67 } | |
68 | |
13358
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
69 /** Parses edl_filename to fill EDL operations queue. |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
70 * Prints out how many EDL operations recorded total. |
13358
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
71 * \brief Fills EDL operations queue. |
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
72 */ |
567875b88aab
Hardcoded EDL messages moved to help_mp-en.h, Doxygen comments added, patch
diego
parents:
13168
diff
changeset
|
73 |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
17109
diff
changeset
|
74 edl_record_ptr edl_parse_file(void) |
13168 | 75 { |
76 FILE *fd; | |
77 char line[100]; | |
78 float start, stop; | |
79 int action; | |
80 int record_count = 0; | |
81 int lineCount = 0; | |
17802 | 82 edl_record_ptr edl_records = NULL; |
83 edl_record_ptr next_edl_record = NULL; | |
13168 | 84 |
85 if (edl_filename) | |
86 { | |
87 if ((fd = fopen(edl_filename, "r")) == NULL) | |
88 { | |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
89 return NULL; |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
90 } |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
91 |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
92 while (fgets(line, 99, fd) != NULL) |
13168 | 93 { |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
94 lineCount++; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
95 |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
96 if ((sscanf(line, "%f %f %d", &start, &stop, &action)) |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
97 != 3) |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
98 { |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
99 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlBadlyFormattedLine, |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
100 lineCount); |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
101 continue; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
102 } |
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
103 |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
104 if (next_edl_record && start <= next_edl_record->stop_sec) |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
105 { |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
106 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlNOValidLine, line); |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
107 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlBadLineOverlap, |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
108 next_edl_record->stop_sec, start); |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
109 continue; |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
110 } |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
111 |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
112 if (stop <= start) |
13168 | 113 { |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
114 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlNOValidLine, |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
115 line); |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
116 mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdlBadLineBadStop); |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
117 continue; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
118 } |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
119 |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
120 next_edl_record = edl_alloc_new(next_edl_record); |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
121 |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
122 if (!edl_records) edl_records = next_edl_record; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
123 |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
124 next_edl_record->action = action; |
17802 | 125 |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
126 if (action == EDL_MUTE) |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
127 { |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
128 next_edl_record->length_sec = 0; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
129 next_edl_record->start_sec = start; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
130 next_edl_record->stop_sec = start; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
131 |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
132 next_edl_record = edl_alloc_new(next_edl_record); |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
133 |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
134 next_edl_record->action = action; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
135 next_edl_record->length_sec = 0; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
136 next_edl_record->start_sec = stop; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
137 next_edl_record->stop_sec = stop; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
138 } else |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
139 { |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
140 next_edl_record->length_sec = stop - start; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
141 next_edl_record->start_sec = start; |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
142 next_edl_record->stop_sec = stop; |
13168 | 143 } |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
144 |
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
145 record_count++; |
13168 | 146 } |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
147 |
13168 | 148 fclose(fd); |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
149 } |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
150 |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
151 if (edl_records) |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
152 mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_EdlRecordsNo, record_count); |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18904
diff
changeset
|
153 else |
18904
64a5e75bb7f2
all cosmetics, mainly denestifying of main edl operation's fill loop
reynaldo
parents:
18903
diff
changeset
|
154 mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_EdlQueueEmpty); |
17802 | 155 |
14807
664b06b907cb
Some to-be-redundant EDL code moved to edl.c with mencoder's edl in mind. Stack handling improvements, Patch by Oded Shimon
reynaldo
parents:
14607
diff
changeset
|
156 return edl_records; |
13168 | 157 } |