1 /*
2 * LVF demuxer
3 * Copyright (c) 2012 Paul B Mahol
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
25
27 {
30 return 0;
31 }
32
34 {
36 int64_t next_offset;
37 unsigned size, nb_streams,
id;
38
41 if (!nb_streams)
43 if (nb_streams > 2) {
46 }
47
49
54
55 switch (id) {
56 case MKTAG(
'0',
'0',
'f',
'm'):
58 if (!st)
60
70 break;
71 case MKTAG(
'0',
'1',
'f',
'm'):
73 if (!st)
75
85 break;
86 case 0:
88 return 0;
89 default:
92 }
93
95 }
96
98 }
99
101 {
103 int64_t pos;
104 int ret, is_video = 0;
105
110
111 if (size == 0xFFFFFFFFu)
113
114 switch (id) {
115 case MKTAG(
'0',
'0',
'd',
'c'):
116 is_video = 1;
117 case MKTAG(
'0',
'1',
'w',
'b'):
118 if (size < 8)
123 if (flags & (1 << 12))
126 pkt->
pts = timestamp;
129 default:
131 }
132
133 if (ret < 0)
135 }
136
138 }
139
146 .extensions = "lvf",
148 };