annotate libmpdemux/demux_smjpeg.c @ 36800:f3c835ddce85

demuxers: ensure that stream ids are correctly initialized. This should fix missing video after r36778 and potentially other issues in relation with video stream switching.
author reimar
date Wed, 19 Feb 2014 23:01:15 +0000
parents c08363dc5320
children 92dd1764392a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
1 /*
29238
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
2 * SMJPEG file parser
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
3 * copyright (c) 2002 Alex Beregszaszi
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
4 * based on text by Arpi (SMJPEG-format.txt) and later on
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
5 * http://www.lokigames.com/development/download/smjpeg/SMJPEG.txt
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
6 *
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
7 * This file is part of MPlayer.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
8 *
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
9 * MPlayer is free software; you can redistribute it and/or modify
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
10 * it under the terms of the GNU General Public License as published by
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
12 * (at your option) any later version.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
13 *
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
14 * MPlayer is distributed in the hope that it will be useful,
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
17 * GNU General Public License for more details.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
18 *
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
19 * You should have received a copy of the GNU General Public License along
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
20 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26299
diff changeset
22 */
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
23
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
24 #include <stdio.h>
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
25 #include <stdlib.h>
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
26 #include <unistd.h>
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
27 #include <string.h> /* strtok */
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
28
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
29 #include "config.h"
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
30 #include "mp_msg.h"
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
31 #include "help_mp.h"
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
32
22605
4d81dbdf46b9 Add explicit location for headers from the stream/ directory.
diego
parents: 21421
diff changeset
33 #include "stream/stream.h"
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
34 #include "demuxer.h"
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
35 #include "stheader.h"
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
36
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
37 static int smjpeg_check_file(demuxer_t* demuxer){
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
38 int orig_pos = stream_tell(demuxer->stream);
11109
084c271c785e 10l found by Mark Berryman <mplayer@theberrymans.com>
alex
parents: 7382
diff changeset
39 char buf[8];
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
40 int version;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
41
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
42 mp_msg(MSGT_DEMUX, MSGL_V, "Checking for SMJPEG\n");
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
43
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
44 if (stream_read_word(demuxer->stream) == 0xA)
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
45 {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
46 stream_read(demuxer->stream, buf, 6);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
47 buf[7] = 0;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
48
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
49 if (strncmp("SMJPEG", buf, 6)) {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
50 mp_msg(MSGT_DEMUX, MSGL_DBG2, "Failed: SMJPEG\n");
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
51 return 0;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
52 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
53 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
54 else
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
55 return 0;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
56
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
57 version = stream_read_dword(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
58 if (version != 0)
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
59 {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
60 mp_msg(MSGT_DEMUX, MSGL_ERR, "Unknown version (%d) of SMJPEG. Please report!\n",
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
61 version);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
62 return 0;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
63 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
64
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
65 stream_seek(demuxer->stream, orig_pos);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
66
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
67 return DEMUXER_TYPE_SMJPEG;
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
68 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
69
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
70
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
71 // return value:
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
72 // 0 = EOF or no stream found
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
73 // 1 = successfully read a packet
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
74 static int demux_smjpeg_fill_buffer(demuxer_t *demux, demux_stream_t *ds)
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
75 {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
76 int dtype, dsize, dpts;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
77
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
78 demux->filepos = stream_tell(demux->stream);
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
79
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
80 dtype = stream_read_dword_le(demux->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
81 dpts = stream_read_dword(demux->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
82 dsize = stream_read_dword(demux->stream);
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
83
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
84 switch(dtype)
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
85 {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
86 case mmioFOURCC('s','n','d','D'):
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
87 /* fixme, but no decoder implemented yet */
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
88 ds_read_packet(demux->audio, demux->stream, dsize,
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
89 (float)dpts/1000.0, demux->filepos, 0);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
90 break;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
91 case mmioFOURCC('v','i','d','D'):
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
92 ds_read_packet(demux->video, demux->stream, dsize,
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
93 (float)dpts/1000.0, demux->filepos, 0);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
94 break;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
95 case mmioFOURCC('D','O','N','E'):
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
96 return 1;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
97 default:
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
98 return 0;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
99 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
100
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
101 return 1;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
102 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
103
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
104 static demuxer_t* demux_open_smjpeg(demuxer_t* demuxer){
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
105 sh_video_t* sh_video;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
106 sh_audio_t* sh_audio;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
107 unsigned int htype = 0, hleng;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
108 int i = 0;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
109
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
110 /* file header */
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
111 stream_skip(demuxer->stream, 8); /* \x00\x0aSMJPEG */
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
112 stream_skip(demuxer->stream, 4);
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
113
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
114 mp_msg(MSGT_DEMUX, MSGL_INFO, "This clip is %d seconds\n",
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
115 stream_read_dword(demuxer->stream));
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
116
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
117 /* stream header */
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
118 while (i < 3)
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
119 {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
120 i++;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
121 htype = stream_read_dword_le(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
122 if (htype == mmioFOURCC('H','E','N','D'))
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
123 break;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
124 hleng = (stream_read_word(demuxer->stream)<<16)|stream_read_word(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
125 switch(htype)
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
126 {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
127 case mmioFOURCC('_','V','I','D'):
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
128 sh_video = new_sh_video(demuxer, 0);
36800
f3c835ddce85 demuxers: ensure that stream ids are correctly initialized.
reimar
parents: 32105
diff changeset
129 demuxer->video->id = 0;
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
130 demuxer->video->sh = sh_video;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
131 sh_video->ds = demuxer->video;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
132
32105
c08363dc5320 Replace sizoef(type) by sizeof(*ptrvar).
reimar
parents: 32104
diff changeset
133 sh_video->bih = calloc(1, sizeof(*sh_video->bih));
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
134
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
135 stream_skip(demuxer->stream, 4); /* number of frames */
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
136 // sh_video->fps = 24;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
137 // sh_video->frametime = 1.0f/sh_video->fps;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
138 sh_video->disp_w = stream_read_word(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
139 sh_video->disp_h = stream_read_word(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
140 sh_video->format = stream_read_dword_le(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
141
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
142 /* these are false values */
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
143 sh_video->bih->biSize = 40;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
144 sh_video->bih->biWidth = sh_video->disp_w;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
145 sh_video->bih->biHeight = sh_video->disp_h;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
146 sh_video->bih->biPlanes = 3;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
147 sh_video->bih->biBitCount = 12;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
148 sh_video->bih->biCompression = sh_video->format;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
149 sh_video->bih->biSizeImage = sh_video->disp_w*sh_video->disp_h;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
150 break;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
151 case mmioFOURCC('_','S','N','D'):
31609
cd81fce1f010 Make the stream language an argument to the stream creation function
reimar
parents: 29263
diff changeset
152 sh_audio = new_sh_audio(demuxer, 0, NULL);
26299
4d56038ec730 Fix lots and lots of other demuxers broken by r26301
reimar
parents: 25707
diff changeset
153 demuxer->audio->id = 0;
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
154 demuxer->audio->sh = sh_audio;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
155 sh_audio->ds = demuxer->audio;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
156
32105
c08363dc5320 Replace sizoef(type) by sizeof(*ptrvar).
reimar
parents: 32104
diff changeset
157 sh_audio->wf = calloc(1, sizeof(*sh_audio->wf));
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
158
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
159 sh_audio->samplerate = stream_read_word(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
160 sh_audio->wf->wBitsPerSample = stream_read_char(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
161 sh_audio->channels = stream_read_char(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
162 sh_audio->format = stream_read_dword_le(demuxer->stream);
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
163 sh_audio->wf->wFormatTag = sh_audio->format;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
164 sh_audio->wf->nChannels = sh_audio->channels;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
165 sh_audio->wf->nSamplesPerSec = sh_audio->samplerate;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
166 sh_audio->wf->nAvgBytesPerSec = sh_audio->wf->nChannels*
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
167 sh_audio->wf->wBitsPerSample*sh_audio->wf->nSamplesPerSec/8;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
168 sh_audio->wf->nBlockAlign = sh_audio->channels *2;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
169 sh_audio->wf->cbSize = 0;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
170 break;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
171 case mmioFOURCC('_','T','X','T'):
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
172 stream_skip(demuxer->stream, stream_read_dword(demuxer->stream));
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
173 break;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
174 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
175 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
176
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
177 demuxer->seekable = 0;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29238
diff changeset
178
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
179 return demuxer;
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
180 }
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
181
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
182 static void demux_close_smjpeg(demuxer_t *demuxer)
7382
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
183 {
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
184 return;
89cbab549659 added smjpeg demuxer only for nexus' request
alex
parents:
diff changeset
185 }
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
186
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
187
25707
d4fe6e23283e Make all demuxer_desc_t const, thus moving them to .rodata
reimar
parents: 22605
diff changeset
188 const demuxer_desc_t demuxer_desc_smjpeg = {
16175
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
189 "smjpeg demuxer",
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
190 "smjpeg",
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
191 "SMJPEG",
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
192 "Alex Beregszasi",
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
193 "",
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
194 DEMUXER_TYPE_SMJPEG,
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
195 1, // safe autodetect
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
196 smjpeg_check_file,
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
197 demux_smjpeg_fill_buffer,
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
198 demux_open_smjpeg,
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
199 demux_close_smjpeg,
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
200 NULL,
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
201 NULL
6b86089c2edd Demuxer modularization
rtognimp
parents: 11109
diff changeset
202 };