Mercurial > libavformat.hg
comparison oggparseogm.c @ 5826:d75025af2e7b libavformat
oggdec: Read ogm metadata
author | conrad |
---|---|
date | Fri, 12 Mar 2010 05:16:51 +0000 |
parents | 68c8e7affd44 |
children | 4535dfdf5ad3 |
comparison
equal
deleted
inserted
replaced
5825:4a67f1418e4c | 5826:d75025af2e7b |
---|---|
41 uint64_t spu; | 41 uint64_t spu; |
42 uint32_t default_len; | 42 uint32_t default_len; |
43 | 43 |
44 if(!(*p & 1)) | 44 if(!(*p & 1)) |
45 return 0; | 45 return 0; |
46 if(*p != 1) | 46 if(*p == 1) { |
47 return 1; | |
48 | 47 |
49 p++; | 48 p++; |
50 | 49 |
51 if(*p == 'v'){ | 50 if(*p == 'v'){ |
52 int tag; | 51 int tag; |
90 p += 2; /* block_align */ | 89 p += 2; /* block_align */ |
91 st->codec->bit_rate = bytestream_get_le32(&p) * 8; | 90 st->codec->bit_rate = bytestream_get_le32(&p) * 8; |
92 st->codec->sample_rate = spu * 10000000 / time_unit; | 91 st->codec->sample_rate = spu * 10000000 / time_unit; |
93 st->time_base.num = 1; | 92 st->time_base.num = 1; |
94 st->time_base.den = st->codec->sample_rate; | 93 st->time_base.den = st->codec->sample_rate; |
94 } | |
95 } else if (*p == 3) { | |
96 if (os->psize > 8) | |
97 ff_vorbis_comment(s, &st->metadata, p+7, os->psize-8); | |
95 } | 98 } |
96 | 99 |
97 return 1; | 100 return 1; |
98 } | 101 } |
99 | 102 |