Mercurial > audlegacy-plugins
comparison src/alac/plugin.c @ 78:096db10ce25f trunk
[svn] - a few concurrency fixes
| author | nenolod |
|---|---|
| date | Mon, 02 Oct 2006 19:55:45 -0700 |
| parents | c2981235af26 |
| children | 722fd456ae1a |
comparison
equal
deleted
inserted
replaced
| 77:c2981235af26 | 78:096db10ce25f |
|---|---|
| 230 | 230 |
| 231 free(buffer); | 231 free(buffer); |
| 232 free(pDestBuffer); | 232 free(pDestBuffer); |
| 233 } | 233 } |
| 234 | 234 |
| 235 static void init_sound_converter(demux_res_t *demux_res) | |
| 236 { | |
| 237 } | |
| 238 | |
| 239 gpointer decode_thread(void *args) | 235 gpointer decode_thread(void *args) |
| 240 { | 236 { |
| 241 demux_res_t demux_res; | 237 demux_res_t demux_res; |
| 242 unsigned int output_size, i; | 238 unsigned int output_size, i; |
| 243 gulong duration = 0; /* samples added up */ | 239 gulong duration = 0; /* samples added up */ |
| 244 gint framesize; | 240 gint framesize; |
| 245 VFSFile *input_file; | 241 VFSFile *input_file; |
| 246 stream_t *input_stream; | 242 stream_t *input_stream; |
| 247 | 243 |
| 244 memset(&demux_res, '\0', sizeof(demux_res_t)); | |
| 245 | |
| 248 set_endian(); | 246 set_endian(); |
| 249 | 247 |
| 250 input_file = vfs_fopen((char *) args, "rb"); | 248 input_file = vfs_fopen((char *) args, "rb"); |
| 251 input_stream = stream_create_file(input_file, 1); | 249 input_stream = stream_create_file(input_file, 1); |
| 252 | 250 |
| 256 /* if qtmovie_read returns successfully, the stream is up to | 254 /* if qtmovie_read returns successfully, the stream is up to |
| 257 * the movie data, which can be used directly by the decoder */ | 255 * the movie data, which can be used directly by the decoder */ |
| 258 if (!qtmovie_read(input_stream, &demux_res)) | 256 if (!qtmovie_read(input_stream, &demux_res)) |
| 259 return 0; | 257 return 0; |
| 260 | 258 |
| 259 demux_res.stream = input_stream; | |
| 260 | |
| 261 /* initialise the sound converter */ | 261 /* initialise the sound converter */ |
| 262 demux_res.alac = create_alac(demux_res.sample_size, demux_res.num_channels); | 262 demux_res.alac = create_alac(demux_res.sample_size, demux_res.num_channels); |
| 263 alac_set_info(demux_res.alac, demux_res.codecdata); | 263 alac_set_info(demux_res.alac, demux_res.codecdata); |
| 264 | 264 |
| 265 /* Sample rates are multiples of 251?! Apple is *fucking* *insane*! -nenolod */ | 265 /* Sample rates are multiples of 251?! Apple is *fucking* *insane*! -nenolod */ |
