On Tue, 2015-11-10 at 17:50 +0100, Anton Khirnov wrote: > Quoting Vittorio Giovara (2015-10-23 18:31:55) > > On Fri, Oct 23, 2015 at 3:31 PM, Luca Barbato <[email protected]> > > wrote: > > > On 23/10/15 15:29, Vittorio Giovara wrote: > > > > + // If mp3 packets have a non constant duration, they could > > > > need a parser > > > > + if (st->codec->codec_id == AV_CODEC_ID_MP3 && > > > > + sc->stts_count > 3 && > > > > + sc->stts_count * 10 > st->nb_frames && > > > > + sc->time_scale == st->codec->sample_rate) { > > > > + st->need_parsing = AVSTREAM_PARSE_FULL; > > > > + } > > > > > > We already set PARSE_FULL for another flavour, what breaks if we > > > just > > > set it always? Heuristics are fragile. > > > > There were a few objections to that during the discussion between > > wm4/nev/j45 that followed when analyzing the problem > > What objections specifically? >
The objections were to a more general suggestion I made. This failure also appears in MKV files that are muxed the same way (i.e. mp3 audio frames split across multiple container packets). And it can happen for other audio types as well. So I made a suggestion that a more general application of full parsing might be desirable here and in other containers. The objection was that we shouldn't make sweeping changes like this. And I tend to agree that it's better to fix these things as they show up in the wild unless we have a clear spec that says we are doing it wrong. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
