aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2006-03-25 19:40:27 +0000
committerMichael Niedermayer <michaelni@gmx.at>2006-03-25 19:40:27 +0000
commit78a11456a1d45cf416750322de7b2325ded4188e (patch)
treea6afa3cd2dacabdca79e96c98392f5d7cbaf83fd
parent76fabb4579022b438a8d2b5a81d5431110ba9007 (diff)
downloadffmpeg-78a11456a1d45cf416750322de7b2325ded4188e.tar.gz
fixing timebase
Originally committed as revision 5218 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/matroska.c10
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;
}