mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-26 13:00:33 +00:00
fixing timebase
Originally committed as revision 5218 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
76fabb4579
commit
78a11456a1
@ -2206,7 +2206,7 @@ matroska_read_header (AVFormatContext *s,
|
|||||||
st = av_new_stream(s, track->stream_index);
|
st = av_new_stream(s, track->stream_index);
|
||||||
if (st == NULL)
|
if (st == NULL)
|
||||||
return AVERROR_NOMEM;
|
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;
|
st->codec->codec_id = codec_id;
|
||||||
|
|
||||||
@ -2295,7 +2295,7 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska,
|
|||||||
case MATROSKA_ID_BLOCK: {
|
case MATROSKA_ID_BLOCK: {
|
||||||
uint8_t *data, *origdata;
|
uint8_t *data, *origdata;
|
||||||
int size;
|
int size;
|
||||||
uint64_t block_time;
|
int16_t block_time;
|
||||||
uint32_t *lace_size = NULL;
|
uint32_t *lace_size = NULL;
|
||||||
int n, track, flags, laces = 0;
|
int n, track, flags, laces = 0;
|
||||||
uint64_t num;
|
uint64_t num;
|
||||||
@ -2329,7 +2329,7 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* block_time (relative to cluster time) */
|
/* 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;
|
data += 2;
|
||||||
size -= 2;
|
size -= 2;
|
||||||
flags = *data;
|
flags = *data;
|
||||||
@ -2440,7 +2440,7 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska,
|
|||||||
pkt->stream_index =
|
pkt->stream_index =
|
||||||
matroska->tracks[track]->stream_index;
|
matroska->tracks[track]->stream_index;
|
||||||
|
|
||||||
pkt->pts = timecode / 1000000; /* ns to ms */
|
pkt->pts = timecode;
|
||||||
pkt->pos= pos;
|
pkt->pos= pos;
|
||||||
|
|
||||||
matroska_queue_packet(matroska, pkt);
|
matroska_queue_packet(matroska, pkt);
|
||||||
@ -2514,7 +2514,7 @@ matroska_parse_cluster (MatroskaDemuxContext *matroska)
|
|||||||
uint64_t num;
|
uint64_t num;
|
||||||
if ((res = ebml_read_uint(matroska, &id, &num)) < 0)
|
if ((res = ebml_read_uint(matroska, &id, &num)) < 0)
|
||||||
break;
|
break;
|
||||||
cluster_time = num * matroska->time_scale;
|
cluster_time = num;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user