Mercurial > libavformat.hg
comparison raw.c @ 3268:319c36da904b libavformat
set demuxers .value and use common audio_read_header function
author | bcoudurier |
---|---|
date | Mon, 28 Apr 2008 14:14:44 +0000 |
parents | db733a434b2c |
children | 55d4f01c9728 |
comparison
equal
deleted
inserted
replaced
3267:37e245554350 | 3268:319c36da904b |
---|---|
219 st->cur_dts = av_rescale(pos, st->time_base.den, byte_rate * (int64_t)st->time_base.num); | 219 st->cur_dts = av_rescale(pos, st->time_base.den, byte_rate * (int64_t)st->time_base.num); |
220 url_fseek(s->pb, pos + s->data_offset, SEEK_SET); | 220 url_fseek(s->pb, pos + s->data_offset, SEEK_SET); |
221 return 0; | 221 return 0; |
222 } | 222 } |
223 | 223 |
224 /* ac3 read */ | 224 static int audio_read_header(AVFormatContext *s, |
225 static int ac3_read_header(AVFormatContext *s, | 225 AVFormatParameters *ap) |
226 AVFormatParameters *ap) | 226 { |
227 { | 227 AVStream *st = av_new_stream(s, 0); |
228 AVStream *st; | |
229 | |
230 st = av_new_stream(s, 0); | |
231 if (!st) | |
232 return AVERROR(ENOMEM); | |
233 | |
234 st->codec->codec_type = CODEC_TYPE_AUDIO; | |
235 st->codec->codec_id = CODEC_ID_AC3; | |
236 st->need_parsing = AVSTREAM_PARSE_FULL; | |
237 /* the parameters will be extracted from the compressed bitstream */ | |
238 return 0; | |
239 } | |
240 | |
241 static int shorten_read_header(AVFormatContext *s, | |
242 AVFormatParameters *ap) | |
243 { | |
244 AVStream *st; | |
245 | |
246 st = av_new_stream(s, 0); | |
247 if (!st) | 228 if (!st) |
248 return AVERROR(ENOMEM); | 229 return AVERROR(ENOMEM); |
249 st->codec->codec_type = CODEC_TYPE_AUDIO; | 230 st->codec->codec_type = CODEC_TYPE_AUDIO; |
250 st->codec->codec_id = CODEC_ID_SHORTEN; | 231 st->codec->codec_id = s->iformat->value; |
251 st->need_parsing = AVSTREAM_PARSE_FULL; | |
252 /* the parameters will be extracted from the compressed bitstream */ | |
253 return 0; | |
254 } | |
255 | |
256 /* flac read */ | |
257 static int flac_read_header(AVFormatContext *s, | |
258 AVFormatParameters *ap) | |
259 { | |
260 AVStream *st; | |
261 | |
262 st = av_new_stream(s, 0); | |
263 if (!st) | |
264 return AVERROR(ENOMEM); | |
265 st->codec->codec_type = CODEC_TYPE_AUDIO; | |
266 st->codec->codec_id = CODEC_ID_FLAC; | |
267 st->need_parsing = AVSTREAM_PARSE_FULL; | |
268 /* the parameters will be extracted from the compressed bitstream */ | |
269 return 0; | |
270 } | |
271 | |
272 /* dts read */ | |
273 static int dts_read_header(AVFormatContext *s, | |
274 AVFormatParameters *ap) | |
275 { | |
276 AVStream *st; | |
277 | |
278 st = av_new_stream(s, 0); | |
279 if (!st) | |
280 return AVERROR(ENOMEM); | |
281 | |
282 st->codec->codec_type = CODEC_TYPE_AUDIO; | |
283 st->codec->codec_id = CODEC_ID_DTS; | |
284 st->need_parsing = AVSTREAM_PARSE_FULL; | |
285 /* the parameters will be extracted from the compressed bitstream */ | |
286 return 0; | |
287 } | |
288 | |
289 /* aac read */ | |
290 static int aac_read_header(AVFormatContext *s, | |
291 AVFormatParameters *ap) | |
292 { | |
293 AVStream *st; | |
294 | |
295 st = av_new_stream(s, 0); | |
296 if (!st) | |
297 return AVERROR(ENOMEM); | |
298 | |
299 st->codec->codec_type = CODEC_TYPE_AUDIO; | |
300 st->codec->codec_id = CODEC_ID_AAC; | |
301 st->need_parsing = AVSTREAM_PARSE_FULL; | 232 st->need_parsing = AVSTREAM_PARSE_FULL; |
302 /* the parameters will be extracted from the compressed bitstream */ | 233 /* the parameters will be extracted from the compressed bitstream */ |
303 return 0; | 234 return 0; |
304 } | 235 } |
305 | 236 |
457 AVInputFormat shorten_demuxer = { | 388 AVInputFormat shorten_demuxer = { |
458 "shn", | 389 "shn", |
459 "raw shorten", | 390 "raw shorten", |
460 0, | 391 0, |
461 NULL, | 392 NULL, |
462 shorten_read_header, | 393 audio_read_header, |
463 raw_read_partial_packet, | 394 raw_read_partial_packet, |
464 raw_read_close, | 395 raw_read_close, |
465 .flags= AVFMT_GENERIC_INDEX, | 396 .flags= AVFMT_GENERIC_INDEX, |
466 .extensions = "shn", | 397 .extensions = "shn", |
398 .value = CODEC_ID_SHORTEN, | |
467 }; | 399 }; |
468 | 400 |
469 AVInputFormat flac_demuxer = { | 401 AVInputFormat flac_demuxer = { |
470 "flac", | 402 "flac", |
471 "raw flac", | 403 "raw flac", |
472 0, | 404 0, |
473 flac_probe, | 405 flac_probe, |
474 flac_read_header, | 406 audio_read_header, |
475 raw_read_partial_packet, | 407 raw_read_partial_packet, |
476 raw_read_close, | 408 raw_read_close, |
477 .flags= AVFMT_GENERIC_INDEX, | 409 .flags= AVFMT_GENERIC_INDEX, |
478 .extensions = "flac", | 410 .extensions = "flac", |
411 .value = CODEC_ID_FLAC, | |
479 }; | 412 }; |
480 | 413 |
481 #ifdef CONFIG_MUXERS | 414 #ifdef CONFIG_MUXERS |
482 AVOutputFormat flac_muxer = { | 415 AVOutputFormat flac_muxer = { |
483 "flac", | 416 "flac", |
497 AVInputFormat ac3_demuxer = { | 430 AVInputFormat ac3_demuxer = { |
498 "ac3", | 431 "ac3", |
499 "raw ac3", | 432 "raw ac3", |
500 0, | 433 0, |
501 ac3_probe, | 434 ac3_probe, |
502 ac3_read_header, | 435 audio_read_header, |
503 raw_read_partial_packet, | 436 raw_read_partial_packet, |
504 raw_read_close, | 437 raw_read_close, |
505 .flags= AVFMT_GENERIC_INDEX, | 438 .flags= AVFMT_GENERIC_INDEX, |
506 .extensions = "ac3", | 439 .extensions = "ac3", |
440 .value = CODEC_ID_AC3, | |
507 }; | 441 }; |
508 #endif | 442 #endif |
509 | 443 |
510 #ifdef CONFIG_MUXERS | 444 #ifdef CONFIG_MUXERS |
511 AVOutputFormat ac3_muxer = { | 445 AVOutputFormat ac3_muxer = { |
539 AVInputFormat dts_demuxer = { | 473 AVInputFormat dts_demuxer = { |
540 "dts", | 474 "dts", |
541 "raw dts", | 475 "raw dts", |
542 0, | 476 0, |
543 NULL, | 477 NULL, |
544 dts_read_header, | 478 audio_read_header, |
545 raw_read_partial_packet, | 479 raw_read_partial_packet, |
546 raw_read_close, | 480 raw_read_close, |
547 .flags= AVFMT_GENERIC_INDEX, | 481 .flags= AVFMT_GENERIC_INDEX, |
548 .extensions = "dts", | 482 .extensions = "dts", |
483 .value = CODEC_ID_DTS, | |
549 }; | 484 }; |
550 | 485 |
551 AVInputFormat aac_demuxer = { | 486 AVInputFormat aac_demuxer = { |
552 "aac", | 487 "aac", |
553 "ADTS AAC", | 488 "ADTS AAC", |
554 0, | 489 0, |
555 NULL, | 490 NULL, |
556 aac_read_header, | 491 audio_read_header, |
557 raw_read_partial_packet, | 492 raw_read_partial_packet, |
558 raw_read_close, | 493 raw_read_close, |
559 .flags= AVFMT_GENERIC_INDEX, | 494 .flags= AVFMT_GENERIC_INDEX, |
560 .extensions = "aac", | 495 .extensions = "aac", |
496 .value = CODEC_ID_AAC, | |
561 }; | 497 }; |
562 | 498 |
563 #ifdef CONFIG_ROQ_MUXER | 499 #ifdef CONFIG_ROQ_MUXER |
564 AVOutputFormat roq_muxer = | 500 AVOutputFormat roq_muxer = |
565 { | 501 { |