ffmpeg/libavformat
wm4 de1b1a7da9 avformat/mp3dec: improve junk skipping heuristic
Commit 2b3e9bbfb529e6bde238aeb511b55ebe461664c8 caused problems for a
certain API user:

https://code.google.com/p/chromium/issues/detail?id=537725
https://code.google.com/p/chromium/issues/detail?id=542032

The problem seems rather arbitrary, because if there's junk, anything
can happen. In this case, the imperfect junk skipping just caused it to
read different junk, from what I can see.

We can improve the accuracy of junk detection by a lot by checking if 2
consecutive frames use the same configuration. While in theory it might
be completely fine for the 1st frame to have a different format than the
2nd frame, it's exceedingly unlikely, and I can't think of a legitimate
use-case.

This is approximately the same mpg123 does for junk skipping. The
set of compared header bits is the same as the libavcodec mp3 parser
uses for similar purposes.
2015-10-20 12:17:21 +02:00
..
2015-10-16 16:37:40 +02:00
2013-10-13 20:13:38 +00:00
2013-10-18 19:53:47 +02:00
2015-10-20 09:41:11 +02:00
2015-04-07 22:50:07 +02:00
2013-10-06 19:36:53 +02:00
2015-09-23 19:10:13 +02:00
2015-03-06 21:35:00 +01:00
2015-10-04 01:37:31 +02:00
2014-08-30 15:50:22 +00:00
2015-02-26 02:06:10 +01:00
2014-06-18 14:55:28 +02:00
2015-10-09 22:09:08 +02:00
2015-10-04 13:23:42 +02:00
2015-06-14 15:09:33 +02:00
2015-08-20 12:22:50 +02:00
2015-10-15 15:04:00 +03:00
2014-08-24 11:05:42 +00:00
2015-05-26 19:54:41 +02:00
2015-05-31 19:04:52 +02:00
2014-07-13 19:18:31 +02:00
2014-07-13 19:18:31 +02:00
2014-08-15 22:47:45 +02:00
2015-10-20 09:41:11 +02:00
2015-10-13 19:41:07 -04:00
2015-10-20 09:40:08 +02:00
2014-12-18 23:27:07 +01:00
2015-10-05 22:31:38 +02:00
2015-10-15 01:11:17 +02:00
2015-06-07 21:55:46 +02:00
2015-10-18 14:17:14 +02:00
2015-09-01 13:35:37 +02:00
2015-05-27 21:48:47 +02:00
2014-10-21 03:52:27 +02:00
2015-04-23 12:56:31 +02:00
2014-03-08 12:36:57 +01:00
2015-10-16 16:37:41 +02:00
2015-10-18 20:43:02 +02:00
2015-10-20 09:41:11 +02:00
2015-01-11 00:35:01 +01:00
2015-01-11 00:35:01 +01:00
2014-08-24 11:05:42 +00:00
2015-04-24 03:43:56 +02:00
2015-10-20 09:41:11 +02:00