[FFmpeg-devel] [PATCH] libavformat/matroskadec.c: Eliminate spurious "File is broken, keyframes not correctly marked!" in valid WebM

Michael Niedermayer michaelni at gmx.at
Wed Sep 11 16:16:08 CEST 2013


On Wed, Sep 11, 2013 at 03:37:18AM -0400, Monty Montgomery wrote:
> > I think it was supposed to warn for both cases.
> 
> Ah, OK.
> 
> > To my knowledge there were also files where nothing at all was marked as keyframe, causing seeking to not work at all.
> 
> I don't think that's an issue here.
> 
> > Is it really ok/sensible to not have a keyframe marked as such?
> 
> That doesn't appear to be the problem; the warning is tripped by audio
> blocks, not video.  That is,  skip_to_keyframe is set, and we land on
> an audio block... which, strictly speaking, is indeed supposed to
> flagged as a keyframe.
> 


> I suppose it would also work to alter:
> 
>     if (matroska->skip_to_keyframe && track->type !=
> MATROSKA_TRACK_TYPE_SUBTITLE){
> 
> to
> 
>     if (matroska->skip_to_keyframe && track->type !=
> MATROSKA_TRACK_TYPE_SUBTITLE && track->type !=
> MATROSKA_TRACK_TYPE_AUDIO){

that does more than affect the printing of the warning
make fate
...
--- ./tests/ref/seek/lavf-mkv   2013-09-10 13:20:32.876122008 +0200
+++ tests/data/fate/seek-lavf-mkv   2013-09-11 16:01:40.662145892 +0200
@@ -1,48 +1,48 @@
 ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos:    739 size: 27837
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292153 size: 27834
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret: 0         st: 0 flags:0  ts: 0.788000
-ret: 0         st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292153 size: 27834
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret: 0         st: 0 flags:1  ts:-0.317000
-ret: 0         st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos:    739 size: 27837
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret:-1         st: 1 flags:0  ts: 2.577000
 ret: 0         st: 1 flags:1  ts: 1.471000
-ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 319994 size:   209
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret: 0         st:-1 flags:0  ts: 0.365002
-ret: 0         st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 146706 size: 27925
+ret: 0         st: 1 flags:1 dts: 0.470000 pts: 0.470000 pos: 146489 size:   209
 ret: 0         st:-1 flags:1  ts:-0.740831
-ret: 0         st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos:    739 size: 27837
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret:-1         st: 0 flags:0  ts: 2.153000
 ret: 0         st: 0 flags:1  ts: 1.048000
-ret: 0         st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292153 size: 27834
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret: 0         st: 1 flags:0  ts:-0.058000
 ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret: 0         st: 1 flags:1  ts: 2.836000
-ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 319994 size:   209
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret:-1         st:-1 flags:0  ts: 1.730004
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 146706 size: 27925
+ret: 0         st: 1 flags:1 dts: 0.470000 pts: 0.470000 pos: 146489 size:   209
 ret: 0         st: 0 flags:0  ts:-0.482000
-ret: 0         st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos:    739 size: 27837
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret: 0         st: 0 flags:1  ts: 2.413000
-ret: 0         st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292153 size: 27834
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret:-1         st: 1 flags:0  ts: 1.307000
 ret: 0         st: 1 flags:1  ts: 0.201000
 ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret: 0         st:-1 flags:0  ts:-0.904994
-ret: 0         st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos:    739 size: 27837
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret: 0         st:-1 flags:1  ts: 1.989173
-ret: 0         st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292153 size: 27834
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret: 0         st: 0 flags:0  ts: 0.883000
-ret: 0         st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292153 size: 27834
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret: 0         st: 0 flags:1  ts:-0.222000
-ret: 0         st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos:    739 size: 27837
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
 ret:-1         st: 1 flags:0  ts: 2.672000
 ret: 0         st: 1 flags:1  ts: 1.566000
-ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 319994 size:   209
+ret: 0         st: 1 flags:1 dts: 0.967000 pts: 0.967000 pos: 291936 size:   209
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 146706 size: 27925
+ret: 0         st: 1 flags:1 dts: 0.470000 pts: 0.470000 pos: 146489 size:   209
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos:    739 size: 27837
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    523 size:   208
TEST    seek-lavf-mulaw
Test seek-lavf-mkv failed. Look at tests/data/fate/seek-lavf-mkv.err for details.
make: *** [fate-seek-lavf-mkv] Error 1
make: *** Waiting for unfinished jobs....

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130911/e78184d7/attachment.asc>


More information about the ffmpeg-devel mailing list