summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve L'Homme <slhomme@divxcorp.com>2006-03-22 11:11:02 +0000
committerMichael Niedermayer <michaelni@gmx.at>2006-03-22 11:11:02 +0000
commitd439facb3dab103b886e4a493574196e36051bfb (patch)
tree0476b341430706a773f5014fd12e5096a17ae080
parent70596d04a84f013eeadc2aa465a8a2be29afded5 (diff)
duration and subitle fix from the patch by Steve Lhomme
Originally committed as revision 5196 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/matroska.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libavformat/matroska.c b/libavformat/matroska.c
index 0e5bb005b4..4d6306eca3 100644
--- a/libavformat/matroska.c
+++ b/libavformat/matroska.c
@@ -305,9 +305,8 @@ typedef struct MatroskaDemuxContext {
/* timescale in the file */
int64_t time_scale;
- /* length, position (time, ns) */
- int64_t duration,
- pos;
+ /* position (time, ns) */
+ int64_t pos;
/* num_streams is the number of streams that av_new_stream() was called
* for ( = that are available to the calling program). */
@@ -1094,7 +1093,7 @@ matroska_parse_info (MatroskaDemuxContext *matroska)
double num;
if ((res = ebml_read_float(matroska, &id, &num)) < 0)
break;
- matroska->duration = num * matroska->time_scale;
+ matroska->ctx->duration = num * matroska->time_scale * 1000 / AV_TIME_BASE;
break;
}
@@ -2245,6 +2244,8 @@ matroska_read_header (AVFormatContext *s,
st->codec->codec_type = CODEC_TYPE_AUDIO;
st->codec->sample_rate = audiotrack->samplerate;
st->codec->channels = audiotrack->channels;
+ } else if (track->type == MATROSKA_TRACK_TYPE_SUBTITLE) {
+ st->codec->codec_type = CODEC_TYPE_SUBTITLE;
}
/* What do we do with private data? E.g. for Vorbis. */