diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2006-03-25 19:40:27 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2006-03-25 19:40:27 +0000 |
commit | 78a11456a1d45cf416750322de7b2325ded4188e (patch) | |
tree | a6afa3cd2dacabdca79e96c98392f5d7cbaf83fd | |
parent | 76fabb4579022b438a8d2b5a81d5431110ba9007 (diff) | |
download | ffmpeg-78a11456a1d45cf416750322de7b2325ded4188e.tar.gz |
fixing timebase
Originally committed as revision 5218 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/matroska.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavformat/matroska.c b/libavformat/matroska.c index afe161b845..252c47ba5e 100644 --- a/libavformat/matroska.c +++ b/libavformat/matroska.c @@ -2206,7 +2206,7 @@ matroska_read_header (AVFormatContext *s, st = av_new_stream(s, track->stream_index); if (st == NULL) return AVERROR_NOMEM; - av_set_pts_info(st, 24, 1, 1000); /* 24 bit pts in ms */ + av_set_pts_info(st, 64, matroska->time_scale, 1000*1000*1000); /* 64 bit pts in ns */ st->codec->codec_id = codec_id; @@ -2295,7 +2295,7 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska, case MATROSKA_ID_BLOCK: { uint8_t *data, *origdata; int size; - uint64_t block_time; + int16_t block_time; uint32_t *lace_size = NULL; int n, track, flags, laces = 0; uint64_t num; @@ -2329,7 +2329,7 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska, } /* block_time (relative to cluster time) */ - block_time = ((data[0] << 8) | data[1]) * matroska->time_scale; + block_time = (data[0] << 8) | data[1]; data += 2; size -= 2; flags = *data; @@ -2440,7 +2440,7 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska, pkt->stream_index = matroska->tracks[track]->stream_index; - pkt->pts = timecode / 1000000; /* ns to ms */ + pkt->pts = timecode; pkt->pos= pos; matroska_queue_packet(matroska, pkt); @@ -2514,7 +2514,7 @@ matroska_parse_cluster (MatroskaDemuxContext *matroska) uint64_t num; if ((res = ebml_read_uint(matroska, &id, &num)) < 0) break; - cluster_time = num * matroska->time_scale; + cluster_time = num; break; } |