qtdemux: Make sure we don't blacklist streams by wrongly comparing their

duration with entire clip duration.
This commit is contained in:
Julien Moutte 2009-06-25 13:23:40 +02:00
parent 9fbdfefc56
commit 5503a59a57

View file

@ -3916,14 +3916,14 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
guint64 tdur1, tdur2; guint64 tdur1, tdur2;
/* don't overflow */ /* don't overflow */
tdur1 = stream->timescale * (guint64) qtdemux->duration; tdur1 = stream->timescale * (guint64) stream->duration;
tdur2 = qtdemux->timescale * (guint64) stream->duration; tdur2 = qtdemux->timescale * (guint64) qtdemux->duration;
/* HACK: /* HACK:
* some of those trailers, nowadays, have prologue images that are * some of those trailers, nowadays, have prologue images that are
* themselves vide tracks as well. I haven't really found a way to * themselves vide tracks as well. I haven't really found a way to
* identify those yet, except for just looking at their duration. */ * identify those yet, except for just looking at their duration. */
if (tdur1 != 0 && (tdur2 * 10 / tdur1) < 2) { if (tdur2 != 0 && (tdur1 * 10 / tdur2) < 2) {
GST_WARNING_OBJECT (qtdemux, GST_WARNING_OBJECT (qtdemux,
"Track shorter than 20%% (%" G_GUINT64_FORMAT "/%" G_GUINT32_FORMAT "Track shorter than 20%% (%" G_GUINT64_FORMAT "/%" G_GUINT32_FORMAT
" vs. %" G_GUINT32_FORMAT "/%" G_GUINT32_FORMAT ") of the stream " " vs. %" G_GUINT32_FORMAT "/%" G_GUINT32_FORMAT ") of the stream "